Skip to main content
POST
/
documents
/
{document_id}
/
states
curl --request POST \
  --url https://api.tupana.ai/v1/documents/{document_id}/states \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "event_code": "ERM"
}
'
{
"success": true,
"event_registered": true,
"message": "Acuse de Recibo registrado. Este acuse rebajará el IVA del próximo mes.",
"event_data": {},
"document": {
"id": 123,
"folio": "<string>",
"date_issued": "2023-12-25",
"amount_with_iva": 123,
"dte_type_code": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"email_preview_data": {
"should_open_modal": true,
"document_id": 12345,
"action": "accept",
"subject": "Acuse de Recibo - Factura 123",
"supplier_id": 67890,
"supplier_name": "Proveedor Ejemplo S.A.",
"supplier_rut": "12345678-9",
"document_folio": "123",
"pdf_url": "https://api.tupana.ai/v1/documents/12345/pdf",
"rejection_reason": "Error en el monto facturado"
}
}

Qué hace

  • Crea un nuevo estado asociado al documento
  • Agrega el evento al historial del documento
  • No reemplaza ni elimina estados anteriores
  • Permite registrar eventos manuales o automáticos

Ejemplos de uso

  • Marcar un documento como pagado
  • Registrar un acuse de recibo
  • Registrar un rechazo
  • Asociar un evento proveniente del SII
  • Registrar mérito ejecutivo o eventos de cobranza

Authorizations

Authorization
string
header
required

API Key para autenticación. Debe proporcionarse en el header Authorization con el formato: 'Api-Key YOUR-API-KEY' (incluye el prefijo 'Api-Key ' seguido de tu API key)

Path Parameters

document_id
integer
required

ID único del documento (integer)

Body

application/json
event_code
enum<string>
required

Código del evento a registrar:

  • ERM: Acuse de Recibo de Mercaderías y Servicios
  • ACD: Acepta Contenido del Documento
  • RCD: Reclama Contenido del Documento
  • RFT: Reclamo por Falta Total
  • RFP: Reclamo por Falta Parcial
Available options:
ERM,
ACD,
RCD,
RFT,
RFP
Example:

"ERM"

rejection_reason
string

Razón del rechazo (opcional, solo para eventos de rechazo: RCD, RFT, RFP)

Example:

"Error en el monto facturado"

Response

Estado registrado exitosamente

success
boolean

Indica si la operación fue exitosa

Example:

true

event_registered
boolean

Indica si el evento fue registrado exitosamente

Example:

true

message
string

Mensaje descriptivo del resultado

Example:

"Acuse de Recibo registrado. Este acuse rebajará el IVA del próximo mes."

event_data
object

Datos adicionales del evento registrado (proporcionados por el SII)

document
object
email_preview_data
object

Datos para preview de email (solo para aprobaciones, rechazos o acuses de recibo)