Factura Electrónica
Ejemplo de Factura A con Flutter
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 FECAESolicitar, puede que algun valor sea opcional.
requestWS.body = json.encode({
"environment": "dev",
"method": "FECAESolicitar",
"wsid": "wsfe",
"params": {
"Auth": {
"Token": "{{token}}",
"Sign": "{{sign}}",
"Cuit": "{{cuit}}"
},
"FeCAEReq": {
"FeCabReq": {
"CantReg": 1,
"PtoVta": 1,
"CbteTipo": 1
},
"FeDetReq": {
"FECAEDetRequest": {
"Concepto": 1,
"DocTipo": 80,
"DocNro": 33693450239,
"CbteDesde": 483,
"CbteHasta": 483,
"CbteFch": 20240314,
"FchServDesde": null,
"FchServHasta": null,
"FchVtoPago": null,
"ImpTotal": 121,
"ImpTotConc": 0,
"ImpNeto": 100,
"ImpOpEx": 0,
"ImpIVA": 21,
"ImpTrib": 0,
"MonId": "PES",
"MonCotiz": 1,
"CondicionIVAReceptorId": 1,
"Iva": {
"AlicIva": [
{
"Id": 5,
"BaseImp": 100,
"Importe": 21
}
]
}
}
}
}
}
});
// 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
{
"FECAESolicitarResult": {
"FeCabResp": {
"Cuit": "long",
"PtoVta": "integer",
"CbteTipo": "integer",
"FchProceso": "string",
"CantReg": "integer",
"Resultado": "string",
"Reproceso": "string"
},
"FeDetResp": {
"FECAEDetResponse": [
{
"Concepto": "integer",
"DocTipo": "integer",
"DocNro": "long",
"CbteDesde": "long",
"CbteHasta": "long",
"CbteFch": "string",
"Resultado": "string",
"Observaciones": {
"Obs": [
{
"Code": "integer",
"Msg": "string"
}
]
},
"CAE": "string",
"CAEFchVto": "string"
}
]
},
"Events": {
"Evt": [
{
"Code": "integer",
"Msg": "string"
}
]
},
"Errors": {
"Err": [
{
"Code": "integer",
"Msg": "string"
}
]
}
}
}