Saltar al contenido principal

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.

PRODUCCIÓNhttps://developers.gosocket.net/api/v1/Document/ChangeDocumentStatus
SANDBOXhttps://developers-sbx.gosocket.net/api/v1/Document/ChangeDocumentStatus

El método tiene los siguientes parámetros:

ChangeDocumentStatus para cancelación (request)
ParámetroTipoDescripciónValores permitidos
countryDocumentId*StringIdentificador fiscal del documento (UUID) aprobado.UUID (36 caracteres alfanuméricos)
accountCode*StringId fiscal de la empresa emisoraCaracteres alfanuméricos
status*StringCódigo de cancelación: 4Caracteres numéricos, siempre 4
reason*StringCó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
stampNumberStringFolio fiscal del documento que sustituye. *Obligatorio cuando reason = 01UUID

* Obligatorio


Ejemplo de petición

image-20250827-150102.png

Para este método utilizamos la pestaña Body de Postman.

  1. Seleccione el tipo de método. En este caso, se debe seleccionar POST.
  2. Ingrese la URL del método.
  3. 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"
}
  1. 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ámetroTipoDescripciónValores permitidos
SuccessBooleanIndica si la petición se ejecutó correctamente.true: La petición se ejecutó correctamente. false: La petición se ejecutó con alguna inconsistencia.
GlobalDocumentIdStringIdentificación de documento en Gosocket.00000000-0000-0000-0000-000000000000
CountryDocumentIdStringIdentificador fiscal del documento (UUID) aprobado.null Cuando no se encuentra el documento, la respuesta será UUID (36 caracteres alfanuméricos).
OtherDataStringPropiedades adicionales de acuerdo con el país.Ejemplo: "Country": "mx", "Certifier": "SAT", "AuthorityTimeStamp": "17/06/2025 11:40:47"
MessagesStringReglas validadas para el documento de acuerdo con el SATEjemplo: " Regla: Evento no puede ser registrado ya que el documento no se encuentra en estado aprobado."
ResponseValueStringRespuesta de la entidad codificada en base 64.
CodeStringCódigo de respuesta del procesoVer tabla Códigos de respuesta SAT
DescriptionStringDescripción de la respuesta del proceso realizadoEjemplo: "Solicitud de Cancelación enviado correctamente"
ErrorExceptionStringDescripción de la excepción cuando se presenta un error.
Códigos de respuesta del SAT
CódigoDescripción
201Solicitud de cancelación recibida.
202El comprobante ya ha sido previamente cancelado.
203El RFC del emisor no corresponde.
204Folio Fiscal No Aplicable a Cancelación
205Folio Fiscal No Existente
206UUID no corresponde a un CFDI del Sector Primario
207No se especificó el motivo de cancelación o el motivo no es valido
208Folio Sustitución inválido
209Folio Sustitución no requerido
210La fecha de solicitud de cancelación es mayor a la fecha de declaración
211La fecha de solicitud de cancelación límite para factura global
212Relación no válida o inexistente
300Usuario No Válido
301XML Mal Formado: Este código de error se regresa cuando el request posee información invalida, ejemplo: un RFC de receptor no válido
302Sello Mal Formado
304Certificado Revocado o Caduco: El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc.
305Certificado Inválido: El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc.
309Certificado Inválido: El certificado puede ser inválido por múltiples razones como son el tipo, la vigencia, etc.
310CSD 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:

image-20240417-181111.png

  1. Dentro de Notas podemos ver la fecha y hora en que la Entidad Tributaria recibió la solicitud de cancelación del documento.
  2. En este caso, de trata de un documento que es cancelable sin aceptación se muestra que el documento ya fue cancelado.
  3. Dentro de Adjuntos se muestran dos archivos. El primero de estos es el json de la consulta del estado del documento.
  4. 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:

image-20250617-210053.png

Ejemplo de notas para:

  • Solicitud recibida:

    image-20250617-201630.png

  • Cancelable sin aceptación:

    image-20250617-201200.png

  • Cancelable con aceptación - esperando respuesta de la solicitud:

    image-20250617-204436.png

  • Cancelable con aceptación - Solicitud Rechazada:

    image-20250617-201407.png

  • Cancelable con aceptación - Solicitud Aceptada:

    image-20250617-201659.png

  • Cancelable con aceptación - Plazo vencido:

    image-20250617-202638.png

  • Documento no Cancelable:

    image-20250617-204914.png