Factura Electrónica
Rendición de comprobantes asociados a un CAEA.
Factura Electrónica
Solicitud
import 'package:http/http.dart' as http;
import 'dart:convert';
// Creamos un cliente HTTP para llamar a la API
var headersWS = { 'Content-Type': 'application/json' };
var requestWS = http.Request('POST', Uri.parse('https://app.afipsdk.com/api/v1/afip/requests'));
// Deben cambiar los datos de "params" por los que correspondan.
// Esta request de ejemplo incluye todos posibles valores para
// llamar al metodo FECAEARegInformativo, puede que algun valor sea opcional.
requestWS.body = json.encode({
"environment": "dev",
"method": "FECAEARegInformativo",
"wsid": "wsfe",
"params": {
"Auth": {
"Token": "string",
"Sign": "string",
"Cuit": 1
},
"FeCAEARegInfReq": {
"FeCabReq": {
"CantReg": 1,
"PtoVta": 1,
"CbteTipo": 1
},
"FeDetReq": {
"FECAEADetRequest": [
{
"Concepto": 1,
"DocTipo": 1,
"DocNro": 1,
"CbteDesde": 1,
"CbteHasta": 1,
"CbteFch": "string",
"ImpTotal": 1.5,
"ImpTotConc": 1.5,
"ImpNeto": 1.5,
"ImpOpEx": 1.5,
"ImpTrib": 1.5,
"ImpIVA": 1.5,
"FchServDesde": "string",
"FchServHasta": "string",
"FchVtoPago": "string",
"MonId": "string",
"MonCotiz": 1.5,
"CanMisMonExt": "string",
"CondicionIVAReceptorId": 1,
"CbtesAsoc": {
"CbteAsoc": [
{
"Tipo": 1,
"PtoVta": 1,
"Nro": 1,
"Cuit": "string",
"CbteFch": "string"
}
]
},
"Tributos": {
"Tributo": [
{
"Id": 1,
"Desc": "string",
"BaseImp": 1.5,
"Alic": 1.5,
"Importe": 1.5
}
]
},
"Iva": {
"AlicIva": [
{
"Id": 1,
"BaseImp": 1.5,
"Importe": 1.5
}
]
},
"Opcionales": {
"Opcional": [
{
"Id": "string",
"Valor": "string"
}
]
},
"Compradores": {
"Comprador": [
{
"DocTipo": 1,
"DocNro": 1,
"Porcentaje": 1.5
}
]
},
"PeriodoAsoc": {
"FchDesde": "string",
"FchHasta": "string"
},
"Actividades": {
"Actividad": [
{
"Id": 1
}
]
},
"CAEA": "string",
"CbteFchHsGen": "string"
}
]
}
}
}
});
// Reemplazar con tu access_token obtenido de https://app.afipsdk.com
var accessToken = "TU_TOKEN_AQUI";
headersWS['Authorization'] = "Bearer " + accessToken;
// Realizamos la llamada a la API
requestWS.headers.addAll(headersWS);
http.StreamedResponse responseWS = await requestWS.send();
// En caso de error lo mostramos por consola
if (responseWS.statusCode != 200) {
print(await responseWS.stream.bytesToString());
throw new Error();
}
// Convertimos la respuesta en un objeto
var response = json.decode(await responseWS.stream.bytesToString());
// Mostramos la respuesta por consola
print(response);Respuesta
{
"FECAEARegInformativoResult": {
"FeCabResp": {
"Cuit": "long",
"PtoVta": "integer",
"CbteTipo": "integer",
"FchProceso": "string",
"CantReg": "integer",
"Resultado": "string",
"Reproceso": "string"
},
"FeDetResp": {
"FECAEADetResponse": [
{
"Concepto": "integer",
"DocTipo": "integer",
"DocNro": "long",
"CbteDesde": "long",
"CbteHasta": "long",
"CbteFch": "string",
"Resultado": "string",
"Observaciones": {
"Obs": [
{
"Code": "integer",
"Msg": "string"
}
]
},
"CAEA": "string"
}
]
},
"Events": {
"Evt": [
{
"Code": "integer",
"Msg": "string"
}
]
},
"Errors": {
"Err": [
{
"Code": "integer",
"Msg": "string"
}
]
}
}
}