Automatizaciones
Solicitar CAI
Solicitar CAI
Esta automatización solicita un Código de Autorización de Impresión (CAI) para uno o más lotes de comprobantes en ARCA desde el servicio "Autorización de Impresión de Comprobantes" y devuelve el código y su fecha de vencimiento.
Requisitos previos
Para poder usar esta automatización, primero necesitarás:
Nombre
cai-request
Parametros
cuitstring
CUIT a usar en la página de ARCA.usernamestring
CUIT para loguearse en la página de ARCA. Normalmente es el mismo CUIT que el parámetro 'cuit', pero si administrás una sociedad, el CUIT que usás para loguearte es tu propio CUIT.passwordstring
Contraseña para loguearse en la página de ARCA.comprobantesobject[]
Comprobantes a incluir en la solicitud. ARCA valida que los puntos de venta estén empadronados y que la cantidad cumpla sus reglas.puntoVentainteger
Punto de venta para el que se solicitan los comprobantes. Debe ser un entero positivo de hasta 5 dígitos.tipoComprobanteinteger
Código de tipo de comprobante definido por ARCA. Debe ser un entero positivo de hasta 3 dígitos.cantidadinteger
Cantidad de comprobantes a autorizar. Debe ser un entero positivo de hasta 8 dígitos.puntosVentaResguardointeger[]Opcional
Puntos de venta respaldados por estos comprobantes. Cada valor debe ser un entero positivo de hasta 4 dígitos. El arreglo es obligatorio y no puede estar vacío cuando resguardo es true.resguardobooleanOpcional
Indica si la solicitud corresponde a comprobantes de resguardo. Su valor por defecto es false. Cuando es true, cada comprobante debe incluir puntosVentaResguardo con los puntos de venta respaldados.autorizadosobject[]Opcional
Personas autorizadas a retirar los comprobantes impresos. Se pueden informar hasta 3.tipoDocumentointegerOpcional
Código de tipo de documento de la persona autorizada. Admite 80, 86, 87, 89, 90 y 96; su valor por defecto es 80 (CUIT).documentostring
Número de documento de la persona autorizada. Debe contener sólo dígitos, ser positivo y tener hasta 11 dígitos.denominacionstring
Nombre o razón social de la persona autorizada.validateOnlybooleanOpcional
Cuando es true, valida la solicitud en ARCA sin emitir el CAI y devuelve status validated. Su valor por defecto es false; cuando es false, emite el CAI después de validar la solicitud.Solicitud
import Afip from '@afipsdk/afip.js';
const afip = new Afip({ access_token: 'TU_ACCESS_TOKEN' });
// Aqui deben cambiar los datos por los que correspondan.
// Esta request de ejemplo incluye todos posibles
// valores para ejecutar la automatizacion cai-request,
// puede que algun valor sea opcional.
const data = {
"cuit": "20111111112",
"username": "20111111112",
"password": "contraseña#segura?",
"comprobantes": [
{
"puntoVenta": 1,
"tipoComprobante": 91,
"cantidad": 50
}
],
"resguardo": false,
"autorizados": [
{
"tipoDocumento": 80,
"documento": "20111111112",
"denominacion": "RESPONSABLE AUTORIZADO"
}
],
"validateOnly": false
};
try {
// Ejecutamos la automatizacion
const response = await afip.CreateAutomation("cai-request", data, true);
// Mostramos la respuesta por consola
console.log(response);
}
catch(error){
// En caso de error lo mostramos por consola
console.error(error);
}Respuesta
{
"id": "0c31d74f-d672-4677-a00b-7dc865396c69",
"status": "complete",
"data": {
"status": "requested",
"cai": "12345678901234",
"vencimiento": "31/12/2026",
"solicitud": "123456",
"resguardo": false,
"comprobantes": [
{
"puntoVenta": "1",
"tipoComprobante": "91",
"cantidad": "50",
"puntosVentaResguardo": []
}
],
"autorizados": [
{
"tipoDocumento": "80",
"documento": "20111111112",
"denominacion": "RESPONSABLE AUTORIZADO"
}
]
}
}