curl --request POST \
--url https://e-cf.acpay.do/sandbox/v1/sequences \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"ecfType": 31,
"rangeFrom": 1,
"rangeTo": 1000,
"expiresAt": "2027-12-31"
}
'{
"ecfType": 31,
"prefix": "E31",
"rangeFrom": 1,
"rangeTo": 1000,
"nextNumber": 58,
"remaining": 943,
"expiresAt": "2027-12-31T00:00:00.000Z",
"active": true,
"usable": true
}{
"error": {
"status": 400,
"message": "La solicitud no es válida.",
"details": [
"items.0.quantity: debe ser un número entero.",
"dueDate: es obligatoria cuando paymentType es credit."
]
}
}{
"error": {
"status": 401,
"message": "Esta llave pertenece a otro ambiente."
}
}{
"error": {
"status": 403,
"message": "La llave no tiene permiso para esta operación."
}
}{
"error": {
"status": 409,
"message": "Hay una solicitud en curso con esta Idempotency-Key."
}
}{
"error": {
"status": 422,
"message": "Esta Idempotency-Key ya se usó con otra solicitud."
}
}{
"error": {
"status": 429,
"message": "Demasiadas solicitudes. Intenta de nuevo más tarde."
}
}{
"error": {
"status": 502,
"message": "El servicio de facturación electrónica tuvo un error inesperado. Intenta de nuevo más tarde."
}
}{
"error": {
"status": 503,
"message": "El servicio de facturación electrónica no está disponible. Intenta de nuevo en unos minutos."
}
}Registrar una secuencia de e-NCF
Registra el rango que la DGII te autorizó para un tipo de e-CF, tal como te lo autorizaron. El primer e-CF de ese tipo usará rangeFrom. Hay una secuencia por tipo: si ya existe, responde 409 y debes ampliarla con PATCH /v1/sequences/{ecfType}. Exige una llave con el permiso de secuencias.
curl --request POST \
--url https://e-cf.acpay.do/sandbox/v1/sequences \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"ecfType": 31,
"rangeFrom": 1,
"rangeTo": 1000,
"expiresAt": "2027-12-31"
}
'{
"ecfType": 31,
"prefix": "E31",
"rangeFrom": 1,
"rangeTo": 1000,
"nextNumber": 58,
"remaining": 943,
"expiresAt": "2027-12-31T00:00:00.000Z",
"active": true,
"usable": true
}{
"error": {
"status": 400,
"message": "La solicitud no es válida.",
"details": [
"items.0.quantity: debe ser un número entero.",
"dueDate: es obligatoria cuando paymentType es credit."
]
}
}{
"error": {
"status": 401,
"message": "Esta llave pertenece a otro ambiente."
}
}{
"error": {
"status": 403,
"message": "La llave no tiene permiso para esta operación."
}
}{
"error": {
"status": 409,
"message": "Hay una solicitud en curso con esta Idempotency-Key."
}
}{
"error": {
"status": 422,
"message": "Esta Idempotency-Key ya se usó con otra solicitud."
}
}{
"error": {
"status": 429,
"message": "Demasiadas solicitudes. Intenta de nuevo más tarde."
}
}{
"error": {
"status": 502,
"message": "El servicio de facturación electrónica tuvo un error inesperado. Intenta de nuevo más tarde."
}
}{
"error": {
"status": 503,
"message": "El servicio de facturación electrónica no está disponible. Intenta de nuevo en unos minutos."
}
}Autorizaciones
Llave de API de AC-PAY del ambiente de esta URL.
Encabezados
Identificador único que generas por operación (p. ej. un UUID), de 1 a 255 caracteres ASCII imprimibles. Si repites la solicitud con la misma llave en las siguientes 24 h recibes la respuesta original (con Idempotent-Replayed: true) sin ejecutarla de nuevo.
"5b0f7c1e-2f7a-4d8e-9d3c-7f1e2a9b4c60"
Cuerpo
Tipo de e-CF de la secuencia. Hay una sola por tipo.
31, 32, 33, 34, 41, 43, 44, 45, 46, 47 31
Primer número del rango autorizado. El primer e-CF de este tipo usará este número.
1 <= x <= 21474836471
Último número del rango autorizado. Igual o mayor que rangeFrom.
1 <= x <= 21474836471000
Vencimiento que autorizó la DGII (YYYY-MM-DD). Obligatorio salvo en los e-CF 32 y 34. Se puede emitir hasta el final de ese día, hora de República Dominicana.
"2027-12-31"
Respuesta
Secuencia registrada.
Tipo de e-CF de la secuencia (31, 32, 33, 34, 41, ...).
31
Prefijo del e-NCF.
"E31"
Primer número del rango autorizado.
1
Último número del rango autorizado.
1000
Número que tomará el próximo e-CF de este tipo.
58
Números disponibles en el rango.
943
Día de vencimiento del rango, a medianoche UTC: se puede emitir hasta el final de ese día en hora de República Dominicana. null si no vence (e-CF 32 y 34).
"2027-12-31T00:00:00.000Z"
Si la secuencia está activa.
true
Si se puede emitir con ella ahora: activa, no vencida y con números disponibles.
true