Método para enviar solicitud de Cancelación (ChangeDocumentStatus)
Para comenzar el proceso de cancelación a través de la API, es necesario utilizar método POST ChangeDocumentStatus cuyoobjetivo en MX es enviar la solicitud de cancelación del documento al SAT con la URL de acuerdo con el ambiente a consumir. El documento debe encontrarse en estado aprobado y que no tenga una solicitud de cancelación pendiente.
https://developers.gosocket.net/api/v1/Document/ChangeDocumentStatushttps://developers-sbx.gosocket.net/api/v1/Document/ChangeDocumentStatusEl método tiene los siguientes parámetros:
| ChangeDocumentStatus para cancelación (request) | |||
|---|---|---|---|
| Parámetro | Tipo | Descripción | Valores permitidos |
| countryDocumentId* | String | Identificador fiscal del documento (UUID) aprobado. | UUID (36 caracteres alfanuméricos) |
| accountCode* | String | Id fiscal de la empresa emisora | Caracteres alfanuméricos |
| status* | String | Código de cancelación: 4 | Caracteres numéricos, siempre 4 |
| reason* | String | Código del motivo de cancelación | * 01: Comprobante emitido con errores con relación * 02: Comprobante emitido con errores sin relación * 03: No se llevó a cabo la operación * 04: Operación nominativa relacionada en la factura global |
| stampNumber | String | Folio fiscal del documento que sustituye. *Obligatorio cuando reason = 01 | UUID |
* Obligatorio
Ejemplo de petición

Para este método utilizamos la pestaña Body 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.
{
"countryDocumentId":"451EF0DC-A8C9-5E09-AAC8-FF0466DE3FB7",
"accountCode": "ANJ235103JM8",
"status":4,
"reason":"01",
"stampNumber": "239EF8DC-A6C7-3E87-AAC6-FF8244DE1FB5"
}- Presione Send.
Nota: Recuerde que antes de utilizar el método, debe realizar su autenticación dentro de la pestaña Authorization y habilitar la empresa para el consumo del mismo.
Si el evento se genera satisfactoriamente, entonces se envía a la Entidad Tributaria para su validación y aceptación
Ejemplo de respuesta
La Entidad Tributaria responde a través de la API de la siguiente forma.
{
"Success": true,
"GlobalDocumentId": "00000000-0000-0000-0000-000000000000",
"CountryDocumentId": null,
"OtherData": {
"Country": "mx",
"Certifier": "SAT",
"AuthorityTimeStamp": "17/06/2025 11:40:47"
},
"Messages": [],
"ResponseValue": null,
"Code": "201",
"Description": "Solicitud de Cancelación enviado correctamente",
"ErrorException": null
}Si el resultado del envío NO es satisfactorio, la API de Inbox responderá con un mensaje de error:
{
"Success": false,
"GlobalDocumentId": "00000000-0000-0000-0000-000000000000",
"CountryDocumentId": "3EAAFBAB-89B5-47AF-A204-E5502346461A",
"OtherData": null,
"Messages": null,
"ResponseValue": null,
"Code": "400",
"Description": "Document Not Found",
"ErrorException": null
}En caso de que el documento haya sido previamente cancelado, se mostrará la siguiente respuesta:
{
"Success": true,
"GlobalDocumentId": "00000000-0000-0000-0000-000000000000",
"CountryDocumentId": null,
"OtherData": {
"Country": "mx",
"Certifier": "SAT",
"AuthorityTimeStamp": "17/06/2025 11:40:47"
},
"Messages": [],
"ResponseValue": null,
"Code": "202",
"Description": "Folio Fiscal Previamente Cancelado",
"ErrorException": null
}Para interpretar correctamente la respuesta, tome en cuenta los siguientes criterios:
| ChangeDocumentStatus (response) | |||
|---|---|---|---|
| Parámetro | Tipo | Descripción | Valores permitidos |
| Success | Boolean | Indica si la petición se ejecutó correctamente. | true: La petición se ejecutó correctamente. false: La petición se ejecutó con alguna inconsistencia. |
| GlobalDocumentId | String | Identificación de documento en Gosocket. | 00000000-0000-0000-0000-000000000000 |
| CountryDocumentId | String | Identificador fiscal del documento (UUID) aprobado. | null Cuando no se encuentra el documento, la respuesta será UUID (36 caracteres alfanuméricos). |
| OtherData | String | Propiedades adicionales de acuerdo con el país. | Ejemplo: "Country": "mx", "Certifier": "SAT", "AuthorityTimeStamp": "17/06/2025 11:40:47" |
| Messages | String | Reglas validadas para el documento de acuerdo con el SAT | Ejemplo: " Regla: Evento no puede ser registrado ya que el documento no se encuentra en estado aprobado." |
| ResponseValue | String | Respuesta de la entidad codificada en base 64. | |
| Code | String | Código de respuesta del proceso | Ver tabla Códigos de respuesta SAT |
| Description | String | Descripción de la respuesta del proceso realizado | Ejemplo: "Solicitud de Cancelación enviado correctamente" |
| ErrorException | String | Descripción de la excepción cuando se presenta un error. |
| Códigos de respuesta del SAT | |
|---|---|
| Código | Descripción |
| 201 | Solicitud de cancelación recibida. |
| 202 | El comprobante ya ha sido previamente cancelado. |
| 203 | El RFC del emisor no corresponde. |
| 204 | Folio Fiscal No Aplicable a Cancelación |
| 205 | Folio Fiscal No Existente |
| 206 | UUID no corresponde a un CFDI del Sector Primario |
| 207 | No se especificó el motivo de cancelación o el motivo no es valido |
| 208 | Folio Sustitución inválido |
| 209 | Folio Sustitución no requerido |
| 210 | La fecha de solicitud de cancelación es mayor a la fecha de declaración |
| 211 | La fecha de solicitud de cancelación límite para factura global |
| 212 | Relación no válida o inexistente |
| 300 | Usuario No Válido |
| 301 | XML Mal Formado: Este código de error se regresa cuando el request posee información invalida, ejemplo: un RFC de receptor no válido |
| 302 | Sello Mal Formado |
| 304 | Certificado Revocado o Caduco: El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc. |
| 305 | Certificado Inválido: El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc. |
| 309 | Certificado Inválido: El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc. |
| 310 | CSD Inválido |
¿Cómo se muestra la cancelación de un documento en Inbox?
Ya que se mandó la solicitud de cancelación, dentro de la vista previa del documento en Inbox, se mostrarán los siguientes datos:

- Dentro de Notas podemos ver la fecha y hora en que la Entidad Tributaria recibió la solicitud de cancelación del documento.
- En este caso, de trata de un documento que es cancelable sin aceptación se muestra que el documento ya fue cancelado.
- Dentro de Adjuntos se muestran dos archivos. El primero de estos es el json de la consulta del estado del documento.
- Además, se muestra el json de respuesta del SAT.
Una vez que el documento fue cancelado, este se muestra como anulado dentro de la pantalla de consulta de Inbox:

Ejemplo de notas para:
-
Solicitud recibida:
-
Cancelable sin aceptación:
-
Cancelable con aceptación - esperando respuesta de la solicitud:
-
Cancelable con aceptación - Solicitud Rechazada:
-
Cancelable con aceptación - Solicitud Aceptada:
-
Cancelable con aceptación - Plazo vencido:
-
Documento no Cancelable: