Proceso de cancelación
La API en Panamá ofrece la opción de automatizar el proceso de cancelación de documentos. Para hacer esto, es necesario utilizar método ChangeDocumentStatus con los siguientes parámetros:
| ChangeDocumentStatus para cancelación (request) | |||
|---|---|---|---|
| Parámetro | Tipo | Descripción | Valores permitidos |
| countryDocumentId | String | Identificador fiscal del documento a nivel país, conocido también como CUFE, CLAVE, UUID, ID | Ver tabla Estructura Country Document ID |
| Reason | String | Razón de la cancelación | Caracteres alfanuméricos. |
| Status | String | Código de cancelación: 4 | Caracteres numéricos |
Ejemplo de petición
El identificador fiscal (countryDocumentId) de estos ejemplos es ficticio; reemplácelo por el CUFE real del documento a cancelar.
POST https://developers-sbx.gosocket.net/api/v1/Document/ChangeDocumentStatus
Los parámetros de query enviados en la petición son:
| Key | Value |
|---|---|
| countryDocumentId | FE0120000000000000-2-2021-5000022023091100000000000000000000000000 |
| Reason | Documento cancelado por monto incorrecto. |
| Status | 4 |
Para este método utilizamos la pestaña Params de Postman.
- Seleccione el tipo de método. En este caso, se debe seleccionar POST.
- Ingrese la URL del método.
- Ingrese los parámetros que se muestran en la tabla anterior con sus valores correspondientes.
- Presione Send.
Si el evento se genera satisfactoriamente, entonces se envía a la Entidad Tributaria para su validación y aceptación.
Ejemplo de respuesta
Al tratarse de un método síncrono, la respuesta es recibida inmediatamente. En caso de que el resultado sea satisfactorio, la API responderá de la siguiente forma:
{
"Success": true,
"GlobalDocumentId": "00000000-0000-0000-0000-000000000001",
"CountryDocumentId": "FE0120000000000000-2-2021-5000022023091100000000000000000000000000",
"OtherData": {
"Country": "pa",
"AuthorityTimeStamp": "11/09/2023 15:57:17"
},
"Messages": [],
"ResponseValue": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i ... (XML de respuesta de la Entidad Tributaria en base64, abreviado)",
"Code": null,
"Description": "Evento registrado correctamente, Evento Anulación",
"ErrorException": null
}Para interpretar correctamente la respuesta de la Entidad Tributaria, tome en cuenta lo siguiente:
| ID | Campo | Descripción | Nodo padre | Tipo dato | Longitud | Ocu | Observaciones |
|---|---|---|---|---|---|---|---|
| GRSch01 | rRetEnviEventoDe | Raíz | - | - | - | - | Elemento raíz |
| GRSch02 | dFecProc | Fecha y hora del procesamiento del último documento enviado | GRSch01 | D | 19 | 1-1 | Formato: "AAAA-MM-DD-hh:mm:ss-ss:ss" |
| GRSch03 | gResProcEVe | Grupo Resultado de Procesamiento del Evento | GRSch01 | G | 1-15 | ||
| GRSch030 | dEstRes | Estado de Resultado | GRSch03 | A | 8-30 | 1-1 | Aprobado Aprobado con observación Rechazado |
| GRSch031 | dProtAut | Número de transacción | GRSch03 | N | 10 | 0-1 | Generado para cada registro de evento conforme dCodRes=0600 |
| GRSch032 | Id | Identificador del evento | GRSch03 | N | 10 | 1-1 | Corresponde al Id autogenerado por el emisor para identificar el evento |
| GRSch033 | gRestProc | Grupo Resultado del Procesamiento | GRSch03 | G | 1-100 | Limitado para producción a 500 mensajes máximo sin modificación de esta especificación | |
| GRSch034 | deCodRes | Código del resultado de procesamiento | GRSch03 | N | 4 | 1-1 | Definido en el tópico correspondiente del capítulo 11 |
| GRSch035 | dMsgRes | Mensaje del resultado del procesamiento | GRSch03 | A | 1-255 | 1-1 | Definido en el tópico correspondiente del capítulo 11 |
El registro de esta solicitud y su mensaje de aceptación quedarán registrados en las notas de la vista previa del documento en Inbox.

Además, se mostrará adjunto el XML del evento enviado a la Entidad Tributaria.

En la pantalla de consulta de Inbox, el documento se mostrará con el estado Anulado.

Si el resultado del envío NO es satisfactorio, la API de Inbox responderá con el siguiente mensaje de error:
{
"ErrorMessage": null,
"IsValid": false,
"StatusCode": "500",
"StatusDescription": null,
"StatusMessage": " El estado del documento no fue actualizado correctamente",
"XmlBase64Bytes": null,
"XmlBytes": null,
"XmlDocumentKey": null,
"XmlFileName": null,
"ResponseType": null,
"OtherData": null,
"GlobalDocumentId": "00000000-0000-0000-0000-000000000000",
"Timestamp": null,
"Response": null,
"TaxDocument": null
}El registro de esta solicitud y el mensaje de error se mostrará en las notas de la vista previa del documento dentro de Inbox.

En caso de que el documento haya sido previamente cancelado, se mostrará la siguiente respuesta:
{
"Success": false,
"GlobalDocumentId": "00000000-0000-0000-0000-000000000000",
"CountryDocumentId": null,
"OtherData": null,
"Messages": [
"Regla: Evento no puede ser registrado ya que el documento no se encuentra en estado aprobado."
],
"ResponseValue": null,
"Code": "400",
"Description": "Evento no puede ser registrado ya que el documento no se encuentra en estado aprobado.",
"ErrorException": null
}