Está en la página 1de 47

Documento Funcional

Versión 3.0- 21 Julio 2017

WSCFDICancelacionV40
V2

Descripción técnica del funcionamiento de los


Métodos del Web Service WSCFDICancelacion para el
nuevo proceso de Cancelaciones v4.0 2022

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 1
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

1. CAMBIOS AL DOCUMENTO

Versión Tipo de Cambio Descripción Nombre Autor Fecha

Nuevos Metodos para el esquema de Cancelacion v4.0


( 2022)
 ValidarUUIDSUCv40
Creación del
1.0 Héctor López 23-12-2021
Documento  SolicitarCancelacionSUCv40
 ConsultaCancelacionSUCv40
 CancelarDocumentoFirmadoSUCv40

Modificacion del Se actualizan las URL de TEST para metodos


2.0 Héctor López 03-01-2022
Documento v4.0 ( 2022)

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 2
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

2. CARACTERISTICAS Y FUNCIONALIDADES DEL WEB SERVICE

• El WS de Cancelación para Distribuidores WSCFDICancelacion será una plataforma abierta para


utilizarse de manera pública a través de HTTPS con protocolo SOAP. Se expondrá un WSDL para
facilitar la integración con otros sistemas.
• El usuario SUC de Acceso al WS deberá ser generado y validado por Ekomercio.
• El usuario tipo Distribuidor deberá tener la facultad de enviar cancelaciones a nombre de otros
RFC Emisores incluyendo el mismo.
• El WS interactúa con el Sistema SUC para solicitar cancelaciones y consultar status y acuses.
• El WS facilita la automatización de las cancelaciones de una entidad que tiene asociado
múltiples RFC de Emisor.
• El WS podrá recibir solicitudes firmadas de origen que permitan al emisor seguir controlando
los certificados y llaves privadas. Sin embargo, también podrá recibir las llaves del emisor para
firmar la cancelación.
• El WS facilita obtener los acuses definitivos de los status de cada cancelación solicitada

3. AMBIENTES

PRUEBAS

Registro
https://cancelacionesdev.ekomercio.com/SUC_test/RegistroDistribuidor
Usuario
WSDL
Web https://timbradotest.ekomercio.com/Cliente_SAT_CFDI_Web_Pruebas/Servicios/WSCFDICancelacion.asmx?WSDL
Service

PRODUCCIÓN

Registro Usuario https://cancelaciones.ekomercio.com/SUC/RegistroDistribuidor

WSDL Web Service http://edixcfdisecure.ekomercio.com/Cliente_SAT_CFDI_Web/Servicios/WSCFDICancelacion.asmx

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 3
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

PROCESO 1 Emisión
Registro de Certificados en Plataforma Ekomercio

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 4
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Portal Cancelaciones SUC


Se debe ingresar al Portal de Cancelaciones SUC para crear el Usuario y Password que se
1 utilizará posteriormente en el Web Service para poder hacer uso de los métodos
disponibles.
Auto Registro y Generación de
Usuario y Password El usuario se registrará inicialmente como “Inactivo” y posterior a la validación interna
por parte de personal de Ekomercio el usuario será modificado a estado “Activo”

WSCFDICancelacion
EJEMPLO REQUEST

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:GuardarCertificadoSUC>
<tem:cUsuario>?</tem:cUsuario>
<tem:cPasswordUsuario>?</tem:cPasswordUsuario>
<tem:cRFCEmisor>?</tem:cRFCEmisor>
<tem:cCertificado>?</tem:cCertificado>
<tem:cLLave>?</tem:cLLave>
<tem:cPasswordCertificado>?</tem:cPasswordCertificado>
</tem:GuardarCertificadoSUC>
2 </soapenv:Body>
</soapenv:Envelope>
GuardarCertificadoSUC
Se utiliza para realizar un registro o relación de un RFC Emisor el cual estará ligado al
Usuario. Cada RFC Emisor tendrá que registrar su respectivo Certificado (.cer) y llave
privada (.key) más la contraseña de la llave privada. Las llaves son necesarias para
realizar las solicitudes XML firmadas por cada RFC de Emisor hacia el SAT.

Si la llave privada se encuentra “abierta” o “desencriptada”, el parámetro


cPasswordCertificado deberá indicarse vacío en el Request y la llave privada cLlave,
debe estar desencriptada en codificación Base 64.

Ligas de Interés:
https://knowledge.digicert.com/solution/SO5292.html
https://techjourney.net/how-to-decrypt-an-enrypted-ssl-rsa-private-key-pem-key/

EJEMPLO RESPONSE
GuardarCertificadoSUC
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 5
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
<GenerarTokenSUC xmlns="http://tempuri.org/">
<cUsuario>string</cUsuario>
<cPasswordUsuario>string</cPasswordUsuario>
<cRFCEmisor>string</cRFCEmisor>
3 <cAlias>string</cAlias>
</GenerarTokenSUC>
Se realiza para generar un token de uso, el cual se generará por RFC validando que en
GenerarTokenSUC cada petición correspondiente al RFC sea utilizada.
** El usuario y password deben ser creados previamente a través del portal de
cancelaciones. Se debe tener una autorización Interna de Ekomercio para que el usuario
quede habilitado y pueda ser utilizado.
** El Alias se obtiene en la respuesta del SUC al registrar un certificado
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:GenerarTokenSUC>
<tem:cUsuario>usuario</tem:cUsuario>
Ejemplo Request:
<tem:cPasswordUsuario>P@ssw0rDUser</tem:cPasswordUsuario>
GenerarTokenSUC
<tem:cRFCEmisor>AAA010101AAA</tem:cRFCEmisor>
<cAlias>B2895EFF-02CB-4881-AD8A-6C74AB61B66B</cAlias>
</tem:GenerarTokenSUC>
</soapenv:Body>
</soapenv:Envelope>

<GenerarTokenSUCResponse xmlns="http://tempuri.org/">
<GenerarTokenSUCResult>
<Estado>true</Estado>
Ejemplo Response
<Mensaje>El token ha sido obtenido correctamente</Mensaje>
GenerarTokenSUC
<Datos>xxxxxxxxxxxxxxxxxxxxxxxxxxx=</Datos>
</GenerarTokenSUCResult>
</GenerarTokenSUCResponse>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 6
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

4 ValidarUUIDSUCv40
Se utiliza para consultar el estado del documento, la respuesta puede ser Cancelado o Vigente.
REQUEST
Nombre Tipo de dato Longitud
CFDI_UUID (Requerido) char 36
RFCReceptor (Requerido) varchar 13
RFCEmisor (Requerido) varchar 13
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal (Requerido) money
derecha del decimal
TipoDoc (Requerido) Integer ( 0=CFDI 1=RETEN ) 1
Token (Requerido) varchar 50

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:tem=”http://tempuri.org/”>


<soapenv:Header/>
<soapenv:Body>
<tem:ValidarUUIDSUC>
<tem:oListUUID>
<tem:ValidarUUIDS>
<tem:CFDI_UUID>0CC2F056-2A7A-4044-9050-44A22C460369</tem:CFDI_UUID>
<tem:RFCReceptor>SAMJ9311046K1</tem:RFCReceptor>
<tem:RFCEmisor>SLE970305A38</tem:RFCEmisor>
<tem:MontoTotal>480.83</tem:MontoTotal>
<tem:TipoDoc>0</tem:>
</tem:ValidarUUIDS>
</tem:oListUUID>
<tem:cToken>Xc6+o5uvWFkH3/ztmd5iPb2s4BFnjJ0pyapzue7Ub6c=</tem:cToken>
</tem:ValidarUUIDSUC>
</soapenv:Body>
</soapenv:Envelope>

RESPONSE

Nombre Tipo de dato Longitud


Estado bool True or false
Mensaje String 250 caracteres
Datos objeto Estado, Mensaje y Dato
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCResponse xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>true</Estado>
<Mensaje></Mensaje>
<Datos>
<RespuestaDTOOfString>
<Estado>true</Estado>
<UUID>e1ec8f94-966c-4299-a48d-4338db0454ce</UUID>
<EsCancelable>Cancelable sin aceptación</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>En Proceso</EstatusCancelacion>
<ValidacionEFOS>200</ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCResponse>
</soap:Body>
</soap:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 7
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”


xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCResponse xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>true</Estado>
<Mensaje></Mensaje>
<Datos>
<RespuestaDTOOfString>
<Estado>true</Estado>
<UUID>e1ec8f94-966c-4299-a48d-4338db0454ce</UUID>
<EsCancelable>Cancelable sin aceptación</EsCancelable>
<Estado>Cancelado</Estado>
<EstatusCancelacion>Cancelado sin aceptacion</EstatusCancelacion>
<ValidacionEFOS>200</ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCResponse>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCResponse xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>true</Estado>
<Mensaje></Mensaje>
<Datos>
<RespuestaDTOOfString>
<Estado>true</Estado>
<UUID>e1ec8f94-966c-4299-a48d-4338db0454ce</UUID>
<EsCancelable>Cancelable sin aceptación</EsCancelable>
<Estado>No Encontrado</Estado>
<EstatusCancelacion></EstatusCancelacion>
<ValidacionEFOS>200</ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCResponse>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCResponse xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>false</Estado>
<Mensaje>Token Invalido</Mensaje>
<Datos>
<RespuestaDTOOfString>
<Estado>false</Estado>
<UUID> </UUID>
<EsCancelable></EsCancelable>
<Estado></Estado>
<EstatusCancelacion></EstatusCancelacion>
<ValidacionEFOS></ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCResponse>
</soap:Body>
</soap:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 8
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”


xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCResponse xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>false</Estado>
<Mensaje>Petición Inválida</Mensaje>
<Datos>
<RespuestaDTOOfString>
<Estado>false</Estado>
<UUID> </UUID>
<EsCancelable></EsCancelable>
<Estado></Estado>
<EstatusCancelacion></EstatusCancelacion>
<ValidacionEFOS></ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCResponse>
</soap:Body>
</soap:Envelope>

ERRORES ESPERADOS
Los errores esperados son:

Cuando Sucede Mensaje de Error


Monto Total no se ingresa (Esto sucede porque: La cadena de entrada no tiene el formato correcto.)
Monto Total Incorrecto No Encontrado
No se envía token El token está vacío
Token incorrecto El token no existe.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 9
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
<ConsultarUUIDRelacionadosSUC xmlns="http://tempuri.org/">
<cUUID>string</cUUID>
<cToken>string</cToken>
</ConsultarUUIDRelacionadosSUC>
Este método se utiliza para consultar si un UUID en particular contiene documentos
relacionados. Si tiene documentos relacionados se retornaría la lista con el detalle
de dichos documentos.
cUUID. Requerido. Es el UUID del documento que se desea consultar
cToken. Requerido. El token debe estar ligado al RFC Receptor del Documento
4
La RESPUESTA del método debe retornar los siguientes parámetros en una Lista por
ConsultarUUIDRelacionadosSUC cada UUID Relacionado que contenga el UUID consultado
- Mensaje
- Estado
- CFDI_UUID
- UUID_Relacionado
- RFC_Emisor
- RFC_Receptor
- Tipo_Relacion
- Fecha_Consulta

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
Ejemplo Request: <tem: ConsultarUUIDRelacionadosSUC >
ConsultarUUIDRelacionadosSUC <tem:UUID>665ABCD7-24BC-47FA-90A9-82A1D2744C61</tem:string>
<tem:cToken>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8=</tem:cToken>
</tem: ConsultarUUIDRelacionadosSUC >
</soapenv:Body>
</soapenv:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 10
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

5 SolicitarCancelacionSUCv40
Se utiliza para solicitar cancelaciones.
REQUEST
Nombre Tipo de dato Longitud
CFDI_UUID (Requerido) char 36
RFCEmisor (Requerido) Varchar 14
RFCReceptor (Requerido) Varchar 14
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal (Requerido) Money
derecha del decimal
Motivo (Requerido) String ( 01, 02, 03, 04) 2
FolioSustitucion (Condicional) String 36
TipoDoc (Requerido) Integer ( 0=CFDI , 1=RETEN ) 1
Token (Requerido) Varchar 50
<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<SolicitarCancelacionSUCv40 xmlns="http://tempuri.org/">
<!-- Optional -->
<oListaSolicitudCancelacion>
<!-- Optional -->
<SolicitudCancelacionDTO>
<CFDI_UUID>F1FB464A-3DE0-4794-B287-4DE9972A7D6F</CFDI_UUID>
<RFCEmisor>BAR011108CC6</RFCEmisor>
<RFCReceptor>MEMD720615GC7</RFCReceptor>
<MontoTotal>102.45</MontoTotal>
<Motivo>01</Motivo>
<FolioSustitucion>E74078B0-640C-11EC-9F10-0800200C9A66</FolioSustitucion>
<TipoDoc>0</ TipoDoc >
</SolicitudCancelacionDTO>
</oListaSolicitudCancelacion>
<cToken>o6KNI+gX++bEYUiWT+AWmHpr2QvLu1hZUY9igHaZuzg=</cToken>
</SolicitarCancelacionSUCv40>
</Body>
</Envelope>
RESPONSE
Nombre Tipo de dato Longitud
Estado bool True/False
Mensaje string 250 caracteres
Datos objecto Estado, Mensaje y Datos
CFDI_UUID char 36
RFCEmisor varchar 14
RFCREceptor varchar 14
EstadoDucmento varchar 150
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal money
derecha del decimal
Motivo String ( 01, 02, 03, 04) 2
FolioSustitucion String 36
TipoDoc Integer ( 0=CFDI , 1=RETEN ) 1
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SolicitarCancelacionSUCv40Response xmlns="http://tempuri.org/">
<SolicitarCancelacionSUCResult>
<Estado>true</Estado>
<Mensaje/>
<Datos>
<RespuestaDTOOfCancelacionDTO>
<Estado>true</Estado>
<Mensaje>Cancelacion recibida</Mensaje>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 11
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<Datos>
<CFDI_UUID>F1FB464A-3DE0-4794-B287-4DE9972A7D6F</CFDI_UUID>
<RFCReceptor>MEMD720615GC7</RFCReceptor>
<RFCEmisor>BAR011108CC6</RFCEmisor>
<FechaSolicitud>2020-01-01T12:59:50</FechaSolicitud>
<AutorizoCliente></AutorizoCliente>
<FechaEstatus>2020-01-01T12:59:50</FechaEstatus>
<MontoTotal>100.00</MontoTotal>
<Motivo>01</Motivo>
<FolioSustitucion>E74078B0-640C-11EC-9F10-
0800200C9A66</FolioSustitucion>
<TipoDoc>0</TipoDoc>
</Datos>
</RespuestaDTOOfCancelacionDTO>
</Datos>
</SolicitarCancelacionSUCResult>
</SolicitarCancelacionSUCv40Response>
</soap:Body>
</soap:Envelope>
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SolicitarCancelacionSUCv40Response xmlns="http://tempuri.org/">
<SolicitarCancelacionSUCResult>
<Estado>true</Estado>
<Mensaje/>
<Datos>
<RespuestaDTOOfCancelacionDTO>
<Estado>true</Estado>
<Mensaje>Cancelacion recibida</Mensaje>
<Datos>
<CFDI_UUID>F1FB464A-3DE0-4794-B287-4DE9972A7D6F</CFDI_UUID>
<RFCReceptor>MEMD720615GC7</RFCReceptor>
<RFCEmisor>BAR011108CC6</RFCEmisor>
<FechaSolicitud>2020-01-01T12:59:50</FechaSolicitud>
<AutorizoCliente>false</AutorizoCliente>
<FechaEstatus>null</FechaEstatus>
<MontoTotal>100.00</MontoTotal>
<Motivo>01</Motivo>
<FolioSustitucion>E74078B0-640C-11EC-9F10-
0800200C9A66</FolioSustitucion>
<TipoDoc>0</TipoDoc>
</Datos>
</RespuestaDTOOfCancelacionDTO>
</Datos>
</SolicitarCancelacionSUCResult>
</SolicitarCancelacionSUCv40Response>
</soap:Body>
</soap:Envelope>
ERRORES ESPERADOS

Los errores esperados son:

Cuando Sucede Mensaje de Error


RFC no valida El RFC no es correcto
Token no existe El token no existe.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 12
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
< ConsultarAcuseSolicitud xmlns="http://tempuri.org/">
<cToken>string</ cToken >
<cRFC_Emisor>string</ cRFC_Emisor >
<cUUID >string</ cUUID >
5A </ ConsultarAcuseSolicitud >
Este método se utiliza para consultar el Acuse de Solicitud de cancelación de un
ConsultarAcuseSolicitudSUC UUID en específico. El acuse puede llegar a contener varios UUID solicitados, pero
siempre correspondientes al mismo RFC Emisor
cToken. Requerido. Cadena de autentificación
cUUID. Requerido. UUID del cual se desea obtener el Acuse
cRFC_Emisor.Requerido. RFC emisor que solicito la cancelación del UUID
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem: ConsultarAcuseSolicitud >
Ejemplo Request:
<tem:cToken>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8=</tem:cToken>
ConsultarAcuseSolicitudSUC
<tem: cRFC_Emisor>XXXXXXXXXXXX</tem: cRFC_Emisor >
<tem: cUUID >XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8=</tem: cUUID >
</tem: ConsultarAcuseSolicitud >
</soapenv:Body>
</soapenv:Envelope>

WSCFDICancelacion
REQUEST
<ConsultarXmlSolicitudSUC xmlns="http://tempuri.org/">
<oUUID>[string?]</oUUID>
<cToken>[string?]</cToken>
</ConsultarXmlSolicitudSUC>

Este método sirve para consultar únicamente el archivo XML del acuse de solicitud en
5B base 64, además de responder la fecha del Acuse.

Solo acepta un UUID por petición.


ConsultarXmlSolicitudSUC
RESPONSE

<Estado>true</Estado>
<Mensaje>Datos Obtenidos</Mensaje>
<Datos>
<CFDI_UUID>00000DEE-423C-954A-A731-B090B4463344</CFDI_UUID>
<DocXML>Documento Base 64…. </DocXML>
<FechaAcuse>2019-05-08T15:28:39.423</FechaAcuse>
<Datos>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 13
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

6 ConsultaCancelacionSUCv40
Se utiliza para consultar el estado de cancelación.
REQUEST
Nombre Tipo de dato Longitud
CFDI_UUID (Requerido) Lista char 36
FechaInicio (Requerido)
datetime datetime
FechaFin (Requerido)
Token (Requerido) varchar 50

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<ConsultaCancelacionSUCv40 xmlns="http://tempuri.org/">
<oListUUID>
<string>00000EDF-E03E-4C4D-BF1B-13DC84236899</string>
</oListUUID>
<dFechaInicio>2021-12-23</dFechaInicio>
<dFechaFin>2022-01-10</dFechaFin>
<cToken>fyrphJNw7QBGUmb8yA2Kby9MppIF9bWmtxOZsYHvcxY=</cToken>
</ConsultaCancelacionSUCv40>
</Body>
</Envelope>

RESPONSE
Nombre Tipo de dato Longitud
CFDI_UUID char 36
RFCEmisor varchar 14
RFCREceptor varchar 14
EstadoDucmento varchar 150
FechaSolicitud datetime datetime
EstadoCancelacion varchar 50
Observaciones Varchar 250
FechaEstatus Datetime datetime
máximo 19 dígitos y 4 de ellos pueden
MontoTotal money
estar a la derecha del decimal
XMLAcuseB64 Varchar MAX
Motivo String ( 01, 02, 03, 04) 2
FolioSustitucion String 36
EFOS Integer 3
TipoDoc Integer ( 0=CFDI , 1=RETEN ) 1

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 14
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultaCancelacionSUCv40Response xmlns="http://tempuri.org/">
<ConsultaCancelacionSUCv40Result>
<Estado>true</Estado>
<Mensaje>La consulta ha sido obtenida</Mensaje>
<Datos>
<CancelacionDTO>
<CFDI_UUID>00000EDF-E03E-4C4D-BF1B-13DC84236899</CFDI_UUID>
<RFCReceptor>MOPJ531118QX1</RFCReceptor>
<RFCEmisor>PSS970203FI6</RFCEmisor>
<EstadoDocumento>Cancelado</EstadoDocumento>
<FechaSolicitud>2020-01-01T15:13:44.493</FechaSolicitud>
<EstadoCancelacion>Cancelado sin aceptación</EstadoCancelacion>
<AutorizoCliente>NULL</AutorizoCliente>
<Observaciones>Cancelable sin aceptación</Observaciones>
<FechaEstatus>2020-01-01T03:15:31</FechaEstatus>
<MontoTotal>1388.0100</MontoTotal>
<XMLAcuseB64>xxxxx==</XMLAcuseB64>
<Motivo>01</Motivo>
<FolioSustitucion>E74078B0-640C-11EC-9F10-0800200C9A66</FolioSustitucion>
<EFOS>200</EFOS>
<TipoDoc>0</TipoDoc>
</CancelacionDTO>
</Datos>
</ConsultaCancelacionSUCv40Result>
</ConsultaCancelacionSUCv40Response>
</soap:Body>
</soap:Envelope>

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultaCancelacionSUCv40Response xmlns="http://tempuri.org/">
<ConsultaCancelacionSUCv40Result>
<Estado>true</Estado>
<Mensaje>La consulta ha sido obtenida</Mensaje>
<Datos>
<CancelacionDTO>
<CFDI_UUID>00000EDF-E03E-4C4D-BF1B-13DC84236899</CFDI_UUID>
<RFCReceptor>MOPJ531118QX1</RFCReceptor>
<RFCEmisor>PSS970203FI6</RFCEmisor>
<EstadoDocumento>Vigente</EstadoDocumento>
<FechaSolicitud>2020-01-01T15:13:44.493</FechaSolicitud>
<EstadoCancelacion>NULL</EstadoCancelacion>
<AutorizoCliente>NULL</AutorizoCliente>
<Observaciones>No Cancelable</Observaciones>
<FechaEstatus>2020-01-01T03:15:31</FechaEstatus>
<MontoTotal>1388.0100</MontoTotal>
<XMLAcuseB64>NULL</XMLAcuseB64>
<Motivo>02</Motivo>
<FolioSustitucion>NULL</FolioSustitucion>
<EFOS>200</EFOS>
<TipoDoc>0</TipoDoc>
</CancelacionDTO>
</Datos>
</ConsultaCancelacionSUCv40Result>
</ConsultaCancelacionSUCv40Response>
</soap:Body>
</soap:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 15
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultaCancelacionSUCv40Response xmlns="http://tempuri.org/">
<ConsultaCancelacionSUCv40Result>
<Estado>false</Estado>
<Mensaje>Token Invalido</Mensaje>
<Datos>NULL</Datos>
</ConsultaCancelacionSUCv40Result>
</ConsultaCancelacionSUCv40Response>
</soap:Body>
</soap:Envelope>

ERRORES ESPERADOS
Los errores esperados son:

Cuando Sucede Mensaje de Error


Token no existe El token no existe.
Error-305 Certificado Invalido

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 16
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

TABLA CODIGOS DE ERROR SAT

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 17
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
<?xml version="1.0"?>
<Acuse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</CodigoEstatus>
<EsCancelable>Cancelable sin aceptacin</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>En Proceso</EstatusCancelacion>
</Acuse>

6 <?xml version="1.0"?>
<Acuse xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
EJEMPLOS <CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</CodigoEstatus>
<EsCancelable>Cancelable con aceptacin</EsCancelable>
XMLAcuseB64 <Estado>Cancelado</Estado>
<EstatusCancelacion>Aceptado</EstatusCancelacion>
</Acuse>

<?xml version="1.0"?>
<Acuse xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</CodigoEstatus>
<EsCancelable>Cancelable con aceptacin</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>Rechazado</EstatusCancelacion>
</Acuse>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 18
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

PROCESO 1 - Recepción
Registro de Certificados en Plataforma Ekomercio

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 19
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
<ConsultarCancelacionesReceptorSUC xmlns="http://tempuri.org/">
<cToken>string</cToken>
</ ConsultarCancelacionesReceptorSUC >

Este método sirve para consultar las cancelaciones pendientes de Aceptar o Rechazar.
La consulta se emite por un solo RFC el cual será el Receptor del o los documentos que
requieran la Autorización.
7
cToken. Requerido. Token de Autenticación el cual ya está ligado a un ÚNICO RFC.

ConsultarCancelacionesReceptorSUC La respuesta del WS debe retornar un LISTADO DE UUID PENDIENTES DE ACEPTAR O


RECHAZAR POR EL RFC SOLICITADO.

EJMPLO DE RESPUESTA:
<oListUUIDs>
<uuid>XXXXXXX</uuid>
<uuid>XXXXXXX</uuid>
<uuid>XXXXXXX</uuid>
<uuid>XXXXXXX</uuid>
<oListUUIDs>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 20
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
< AceptarRechazarReceptorSUC xmlns="http://tempuri.org/">
<cToken>string</cToken>
<oListUUIDs>
<oUUIDs>
<cCFDI_UUID>string</cCFDI_UUID>
<bAutorizoCliente>binary</bAutorizoCliente>
</oUUIDs>
< oUUIDs >
<cCFDI_UUID>string</cCFDI_UUID>
<bAutorizoCliente>binary</bAutorizoCliente>
</oUUIDs>
</oListUUIDs>
</ AceptarRechazarReceptorSUC >

Este método sirve para dar la aceptación o rechazo las cancelaciones consultadas
previamente. La aceptación se emite por un solo RFC el cual será el Receptor del o los
8 documentos.

cToken. Requerido. Token de Autenticación el cual ya está ligado a un ÚNICO RFC.


AceptarRechazarReceptorSUC oListUUIDs. Requerido. Objeto que contiene la lista de oUUIDS
oUUIDS Requerido. Objeto que contiene el UUID y la Aceptación o Rechazo.

La respuesta del WS debe retornar un LISTADO DE UUID con la indicación definitiva del
SAT respecto a la respuesta de Aceptación o Rechazo.

EJMPLO DE RESPUESTA:

<oListUUIDs>
<oUUIDs>
<cCFDI_UUID>xxxxxxxxxxxxxxxxx</cCFDI_UUID>
<bEstado>true</bEstado>
<cMensaje>1000-Cancelación Aceptada</ cMensaje >
</oUUIDs>
<oUUIDs>
<cCFDI_UUID>xxxxxxxxxxxxxxxxx</cCFDI_UUID>
<bEstado>false</bEstado>
<cMensaje>1001-UUID no registrado</ cMensaje >
</oUUIDs>
</oListUUIDs>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 21
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

PROCESO 2 EMISION
SIN REGISTRO DE LLAVES EN LA PLATAFORMA DE EKOMERCIO

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 22
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Portal Cancelaciones SUC


Se debe ingresar al Portal de Cancelaciones SUC para crear el Usuario y Password que se
1 utilizará posteriormente en el Web Service para poder hacer uso de los métodos
disponibles.
Auto Registro y Generación de
Usuario y Password El usuario se registrará inicialmente como “Inactivo” y posterior a la validación interna
por parte de personal de Ekomercio el usuario será modificado a estado “Activo”

WSCFDICancelacion
<LoginExternoSUC xmlns="http://tempuri.org/">
<cUsuario>string</cUsuario>
<cPasswordUsuario>string</cPasswordUsuario>
</LoginExternoSUC>
Se realiza para generar un token de uso, el cual se generará para habilitar múltiples RFC
2 de Emisor. El token podrá ser utilizado con distintos RFC Emisores sin la necesidad de
solicitar uno por cada RFC emisor.

LoginExternoSUC ** El usuario y password deben ser creados previamente a través del portal de
cancelaciones.
** El perfil del usuario debe ser como entidad “Distribuidor”
Se debe tener una autorización Interna de Ekomercio para que el usuario quede
habilitado y pueda ser utilizado
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
Ejemplo Request <tem:LoginExternoSUC>
LoginExternoSUC <tem:cUsuario>usuario</tem:cUsuario>
<tem:cPasswordUsuario>P@ssw0rdUSer</tem:cPasswordUsuario>
</tem:LoginExternoSUC>
</soapenv:Body>
</soapenv:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 23
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

3 ValidarUUIDSUCv40
Se utiliza para consultar el estado del documento, la respuesta puede ser Cancelado o Vigente.
REQUEST
Nombre Tipo de dato Longitud
CFDI_UUID char 36
RFCReceptor varchar 13
RFCEmisor varchar 13
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal money
derecha del decimal
TipoDoc (Requerido) Integer ( 0=CFDI , 1=RETEN ) 1
Token varchar 50

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:tem=”http://tempuri.org/”>


<soapenv:Header/>
<soapenv:Body>
<ValidarUUIDSUCv40>
<oListUUID>
<ValidarUUIDS>
<CFDI_UUID>0CC2F056-2A7A-4044-9050-44A22C460369</CFDI_UUID>
<RFCReceptor>SAMJ9311046K1</RFCReceptor>
<RFCEmisor>SLE970305A38</RFCEmisor>
<MontoTotal>480.83</MontoTotal>
<TipoDoc>0</TipoDoc>
</ValidarUUIDS>
</oListUUID>
<cToken>Xc6+o5uvWFkH3/ztmd5iPb2s4BFnjJ0pyapzue7Ub6c=</cToken>
</ValidarUUIDSUCv40>
</soapenv:Body>
</soapenv:Envelope>

RESPONSE
Nombre Tipo de dato Longitud
Estado bool True or false
Mensaje String 250 caracteres
Datos objeto Estado, Mensaje y Dato
UUID String 36
EsCancelable String Catalogo SAT
Estado String Vigente / Cancelado
EstatusCancelacion String Catalogo SAT
ValidacionEFOS Integer 2

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 24
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”


xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCv40Response xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>true</Estado>
<Datos>
<RespuestaDTOOfString>
<Estado>true</Estado>
<UUID>e1ec8f94-966c-4299-a48d-4338db0454ce</UUID>
<EsCancelable>Cancelable sin aceptación</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>En Proceso</EstatusCancelacion>
<ValidacionEFOS>200</ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCv40Response>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCv40Response xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>true</Estado>
<Datos>
<RespuestaDTOOfString>
<Estado>true</Estado>
<UUID>e1ec8f94-966c-4299-a48d-4338db0454ce</UUID>
<EsCancelable>Cancelable sin aceptación</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>NULL</EstatusCancelacion>
<ValidacionEFOS>200</ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCv40Response>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCv40Response xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>true</Estado>
<Datos>
<RespuestaDTOOfString>
<Estado>true</Estado>
<UUID>e1ec8f94-966c-4299-a48d-4338db0454ce</UUID>
<EsCancelable>Cancelable sin aceptación</EsCancelable>
<Estado>No Encontrado</Estado>
<EstatusCancelacion>NULL</EstatusCancelacion>
<ValidacionEFOS>200</ValidacionEFOS>
</RespuestaDTOOfString>
</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCv40Response>
</soap:Body>
</soap:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 25
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”


xmlns:xsd=”http://www.w3.org/2001/XMLSchema”>
<soap:Body>
<ValidarUUIDSUCv40Response xmlns=”http://tempuri.org/”>
<ValidarUUIDSUCResult>
<Estado>false</Estado>
<Mensaje>Token Inválido</Mensaje>
<Datos>NULL</Datos>
</ValidarUUIDSUCResult>
</ValidarUUIDSUCv40Response>
</soap:Body>
</soap:Envelope>

ERRORES ESPERADOS
Los errores esperados son:

Cuando Sucede Mensaje de Error


Monto Total no se ingresa (Esto sucede porque: La cadena de entrada no tiene el formato correcto.)
Monto Total Incorrecto No Encontrado
No se envía token El token está vacío
Token incorrecto El token no existe.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 26
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
<ConsultarUUIDRelacionadosSUC xmlns="http://tempuri.org/">
<cUUID>string</cUUID>
<cToken>string</cToken>
</ConsultarUUIDRelacionadosSUC>
Este método se utiliza para consultar si un UUID en particular contiene documentos
relacionados. Si tiene documentos relacionados se retornaría la lista con el detalle
de dichos documentos.
cUUID. Requerido. Es el UUID del documento que se desea consultar
cToken. Requerido
3
La RESPUESTA del método debe retornar los siguientes parámetros en una Lista por
ConsultarUUIDRelacionadosSUC cada UUID Relacionado que contenga el UUID consultado
- Mensaje
- Estado
- CFDI_UUID
- UUID_Relacionado
- RFC_Emisor
- RFC_Receptor
- Tipo_Relacion
- Fecha_Consulta

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
Ejemplo Request: <tem: ConsultarUUIDRelacionadosSUC >
ConsultarUUIDRelacionadosSUC <tem:UUID>665ABCD7-24BC-47FA-90A9-82A1D2744C61</tem:string>
<tem:cToken>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX8=</tem:cToken>
</tem: ConsultarUUIDRelacionadosSUC >
</soapenv:Body>
</soapenv:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 27
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

CancelarDocumentoFirmadoSUCv40
Se utiliza para generar una solicitud de cancelación Firmada de un documento.
Las solicitudes serán recibidas y validadas con el token Externo obtenido y debe corresponder al usuario.
** NO es necesario realizar el registro del Certificado y el RFC Emisor al usuario.

REQUEST
Nombre Tipo de dato Longitud
RFCEmisor varchar 13
XML Firmado en Base 64

RequestFirmadoCF Cancelacion_CFDI_4
DI.xml .0.pdf

RequestFirmadoRet CancelacionRetV2.p
cSolicitudFirmada String Base 64 encion.xml df
Se utiliza para generar una solicitud de cancelación Firmada de un documento.
Las solicitudes serán recibidas y validadas con el token Externo obtenido y debe
corresponder al usuario.
** NO es necesario realizar el registro del Certificado y el RFC Emisor al usuario.

SolicitudFirmada: Archivo XML Firmado de Origen en Formato Base 64 a partir del


elemento “<Cancelacion”>. Se debe seguir la especificación técnica estándar para firmar la
petición de Cancelación.
Canonicalization =http://www.w3.org/TR/2001/REC-xml-c14n-20010315
Signature =http://www.w3.org/2000/09/xmldsig#rsa-sha1

CFDI_UUID char 36
RFCReceptor varchar 13
máximo 19 dígitos y 4 de ellos pueden estar a la derecha del
MontoTotal money
decimal
Motivo (Requerido) String ( 01, 02, 03, 04) 2
FolioSustitucion (Condicional) String (UUID) 36 (Requerido si Motivo = 01)
TipoDoc (Requerido) Integer ( 0=CFDI , 1=RETEN ) 1
Token varchar 50
<CancelarDocumentoFirmadoSUCv40 xmlns="http://tempuri.org/">
<cRFCEmisor>string</cRFCEmisor>
<cSolicitudFirmada>StringBase64_XMLFirmado</cSolicitudFirmada>
<cToken>string</cToken>
<oListaSolicitudCancelacion>
<SolicitudCancelacionDTO>
<CFDI_UUID>string</CFDI_UUID>
<RFCReceptor>string</RFCReceptor>
<RFCEmisor>string</RFCEmisor>
<MontoTotal>decimal</MontoTotal>
<Motivo>string</Motivo>
<FolioSustitucion>string</FolioSustitucion>
<TipoDoc>integer</TipoDoc>
</SolicitudCancelacionDTO>
<SolicitudCancelacionDTO>
<CFDI_UUID>string</CFDI_UUID>
<RFCReceptor>string</RFCReceptor>
<RFCEmisor>string</RFCEmisor>
<MontoTotal>decimal</MontoTotal>
<Motivo>string</Motivo>
<FolioSustitucion>string</FolioSustitucion>
<TipoDoc>integer</TipoDoc>
</SolicitudCancelacionDTO>
</oListaSolicitudCancelacion>
</CancelarDocumentoFirmadoSUCv40>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 28
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">


<soapenv:Header/>
<soapenv:Body>
<CancelarDocumentoFirmadoSUCv40>
<cRFCEmisor>AAQM610917QJA</cRFCEmisor>
<cSolicitudFirmada>XML Firmado en Base 64</cSolicitudFirmada>
<oListaSolicitudCancelacion>
<SolicitudCancelacionFirmadaDTO>
<CFDI_UUID>108a66af-d537-4fb9-b5e8-b0bda282afb7</CFDI_UUID>
<RFCReceptor>PZA000413788</RFCReceptor>
<MontoTotal>6695.79</MontoTotal>
<Motivo>01</Motivo>
<FolioSustitucion>E74078B0-640C-11EC-9F10-0800200C9A66</FolioSustitucion>
<TipoDoc>0</TipoDoc>
</SolicitudCancelacionFirmadaDTO>
<SolicitudCancelacionFirmadaDTO>
<CFDI_UUID>108a66af-d537-4fb9-b5e8-b0bda282afb7</CFDI_UUID>
<RFCReceptor>HLD00413788</RFCReceptor>
<MontoTotal>321.865</MontoTotal>
<Motivo>01</Motivo>
<FolioSustitucion>E74078B0-640C-11EC-9F10-0800200C9A66</FolioSustitucion>
<TipoDoc>0</TipoDoc>
</SolicitudCancelacionFirmadaDTO>
</oListaSolicitudCancelacion>
<cToken>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=</cToken>
</CancelarDocumentoFirmadoSUCv40>
</soapenv:Body>
</soapenv:Envelope>

RESPONSE
Nombre Tipo de dato Longitud
Estado bool True or false
Mensaje String 250 caracteres
Datos objeto Estado, Mensaje y Dato
CFDI_UUID String 36
RFCEmisor varchar 13
RFCReceptor varchar 13
máximo 19 dígitos y 4 de ellos pueden estar a la derecha
MontoTotal money
del decimal
Motivo (Requerido) String ( 01, 02, 03, 04) 2
FolioSustitucion (Condicional) String (UUID) 36 (Requerido si Motivo = 01)
TipoDoc (Requerido) Integer ( 0=CFDI , 1=RETEN ) 1

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 29
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 30
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
<CancelarDocumentoFirmadoSUC xmlns="http://tempuri.org/">
<cRFCEmisor>string</cRFCEmisor>
<cSolicitudFirmada>string</cSolicitudFirmada>
<cToken>string</cToken>
<oListaSolicitudCancelacion>
<SolicitudCancelacionDTO>
<CFDI_UUID>string</CFDI_UUID>
<RFCReceptor>string</RFCReceptor>
<RFCEmisor>string</RFCEmisor>
<MontoTotal>decimal</MontoTotal>
</SolicitudCancelacionDTO>
<SolicitudCancelacionDTO>
<CFDI_UUID>string</CFDI_UUID>
4 <RFCReceptor>string</RFCReceptor>
<RFCEmisor>string</RFCEmisor>
CancelarDocumento <MontoTotal>decimal</MontoTotal>
FirmadoSUC </SolicitudCancelacionDTO>
</oListaSolicitudCancelacion>
</CancelarDocumentoFirmadoSUC>
Se utiliza para generar una solicitud de cancelación Firmada de un documento.
Las solicitudes serán recibidas y validadas con el token Externo obtenido y debe
corresponder al usuario.
** NO es necesario realizar el registro del Certificado y el RFC Emisor al usuario.

SolicitudFirmada: Archivo XML Firmado de Origen en Formato Base 64 a partir del


elemento “<Cancelacion”>. Se debe seguir la especificación técnica estándar para firmar
la petición de Cancelación.
Canonicalization =http://www.w3.org/TR/2001/REC-xml-c14n-20010315
Signature =http://www.w3.org/2000/09/xmldsig#rsa-sha1

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:CancelarDocumentoFirmadoSUC>
<tem:cRFCEmisor>AAQM610917QJA</tem:cRFCEmisor>
<tem:cSolicitudFirmada>XML Firmado en Base 64 </tem:cSolicitudFirmada>
<tem:oListaSolicitudCancelacion>
Ejemplo Request: <!--One or more repetitions:-->
CancelarDocumento <tem:SolicitudCancelacionFirmadaDTO>
FirmadoSUC <tem:CFDI_UUID>108a66af-d537-4fb9-b5e8-b0bda282afb7</tem:CFDI_UUID>
<tem:RFCReceptor>PZA000413788</tem:RFCReceptor>
<tem:MontoTotal>6695.79</tem:MontoTotal>
</tem:SolicitudCancelacionFirmadaDTO>
</tem:oListaSolicitudCancelacion>
<tem:cToken>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=<</tem:cToken>
</tem:CancelarDocumentoFirmadoSUC>
</soapenv:Body>
</soapenv:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 31
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<Cancelacion Fecha="2018-10-13T17:14:26" RfcEmisor="AAA010101AAA"


xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://cancelacfd.sat.gob.mx">
<Folios> XML DE PETICION
<UUID>108a66af-d537-4fb9-b5e8-b0bda282afb7</UUID>
SIN FIRMAR
<UUID>369EE899-2D7A-472D-96A2-730B7AFFCB8F</UUID>
<UUID>369EE899-2D7A-472D-96A2-730B7AFFCB8F</UUID>
</Folios>
</Cancelacion>
Cancelacion.xml
Descripción de Campos:

Fecha: Es la fecha en la que el SAT registrara la solicitud de cancelación al SAT


RfcEmisor: RFC del emisor con el que se generaron los UUID que se quieren cancelar (Todos los UUID deben pertenecer al
RFC emisor)

<Cancelacion Fecha="2018-10-13T17:14:26" RfcEmisor="AAA010101AAA"


xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://cancelacfd.sat.gob.mx">
<Folios>
<UUID>108a66af-d537-4fb9-b5e8-b0bda282afb7</UUID>
<UUID>369EE899-2D7A-472D-96A2-730B7AFFCB8F</UUID>
<UUID>369EE899-2D7A-472D-96A2-730B7AFFCB8F</UUID>
</Folios>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="">
<Transforms> XML DE PETICION YA
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> FIRMADO
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>bOGUypQ+GDvi/RXxv56AQfhF7zU=</DigestValue>
</Reference>
</SignedInfo> CancelacionFirmad
<SignatureValue>XXXX.....gh2ow==</SignatureValue> a.xml
<KeyInfo>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: ACDMA, OID.2.5.4.45=SAT970701NN3,
L=Coyoacán, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77, Col. Guerrero",
E=asisnet@pruebas.sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración
Tributaria, CN=A.C. 2 de pruebas(4096)</X509IssuerName>
<X509SerialNumber>3230303031303030303030333030303232363939</X509SerialNumber>
</X509IssuerSerial>
<X509Certificate>MIIF3....4ZdG</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</Cancelacion>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 32
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

EJEMPLO CODIGO .NET PARA FIRMA DIGITAL

public static string SignXml(ref XmlDocument Doc, RSA Key, X509Certificate2 cert)
{
// Check arguments.
if (Doc == null)
throw new ArgumentException("Doc");
if (Key == null)
throw new ArgumentException("Key");
// Create a SignedXml object.
SignedXml signedXml = new SignedXml(Doc);
// Add the key to the SignedXml document.
signedXml.SigningKey = Key;
signedXml.KeyInfo = new KeyInfo();
KeyInfoX509Data keyInfoClause = new KeyInfoX509Data(cert);
string serialNumber = cert.GetSerialNumberString();
keyInfoClause.AddIssuerSerial(cert.IssuerName.Name, serialNumber);
signedXml.KeyInfo.AddClause(keyInfoClause);
// Create a reference to be signed.
Reference reference = new Reference();
reference.Uri = "";
// Add an enveloped transformation to the reference.
XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
reference.AddTransform(env);
// Add the reference to the SignedXml object.
signedXml.AddReference(reference);
// Compute the signature.
signedXml.ComputeSignature();
// Get the XML representation of the signature and save
// it to an XmlElement object.
XmlElement xmlDigitalSignature = signedXml.GetXml();
// Append the element to the XML document.
Doc.DocumentElement.AppendChild(Doc.ImportNode(xmlDigitalSignature, true));
return Doc.OuterXml;
}

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 33
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

5 ConsultaCancelacionSUC
Se utiliza para consultar el estado de cancelación.
Los tipos de datos enviados son:
Nombre Tipo de dato Longitud
CFDI_UUID char 36
FechaInicio
datetime datetime
FEchaFin
Token varchar 50
Los tipos de datos recibidos son:
Nombre Tipo de dato Longitud
CFDI_UUID char 36
RFCEmisor varchar 14
RFCREceptor varchar 14
EstadoDucmento varchar 150
FechaSolicitud datetime datetime
EstadoCancelacion varchar 50
Observaciones Varchar 250
FechaEstatus Datetime datetime
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal money
derecha del decimal
XMLAcuseB64 Varchar MAX
EJEMPLO REQUEST (Cancelado) EJEMPLO RESPONSE
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<Body> <ConsultaCancelacionSUCResponse xmlns="http://tempuri.org/">
<ConsultaCancelacionSUC xmlns="http://tempuri.org/"> <ConsultaCancelacionSUCResult>
<Estado>true</Estado>
<!-- Optional --> <Mensaje>La consulta ha sido obtenida</Mensaje>
<oListUUID> <Datos>
<CancelacionDTO>
<string>00000EDF-E03E-4C4D-BF1B-13DC84236899</string> <CFDI_UUID>00000EDF-E03E-4C4D-BF1B-13DC84236899</CFDI_UUID>
<RFCReceptor>MOPJ531118QX1</RFCReceptor>
</oListUUID> <RFCEmisor>PSS970203FI6</RFCEmisor>
<dFechaInicio>2020-01-01</dFechaInicio> <EstadoDocumento>Cancelado</EstadoDocumento>
<FechaSolicitud>2020-01-01T15:13:44.493</FechaSolicitud>
<dFechaFin>2020-01-01</dFechaFin> <EstadoCancelacion>Cancelado sin aceptación</EstadoCancelacion>
<AutorizoCliente xsi:nil="true" />
<Observaciones>Cancelable sin aceptación</Observaciones>
<cToken>fyrphJNw7QBGUmb8yA2Kby9MppIF9bWmtxOZsYHvcxY=</cT <FechaEstatus>2020-01-01T03:15:31</FechaEstatus>
<MontoTotal>1388.0100</MontoTotal>
oken> <XMLAcuseB64>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8QWN1c2U
</ConsultaCancelacionSUC> geG1sbnM6eHNpPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8
</Body> vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+
</Envelope> DQogIDxFeHRlbnNpb25EYXRhIC8+DQogIDxDb2RpZ29Fc3RhdHVzPlMgLSBDb21w
cm9iYW50ZSBvYnRlbmlkbyBzYXRpc2ZhY3Rv
cmlhbWVudGUuPC9Db2RpZ29Fc3RhdHVzPg0KICA8RXNDYW5jZWxhYmxlPkNh
bmNlbGFibGUgc2luIGFjZXB0YWNp8248L0VzQ
2FuY2VsYWJsZT4NCiAgPEVzdGFkbz5DYW5jZWxhZG88L0VzdGFkbz4NCiAgPEV
zdGF0dXNDYW5jZWxhY2lvbj5DYW5jZWxhZG
8gc2luIGFjZXB0YWNp8248L0VzdGF0dXNDYW5jZWxhY2lvbj4NCjwvQWN1c
2U+</XMLAcuseB64>
</CancelacionDTO>
</Datos>
</ConsultaCancelacionSUCResult>
</ConsultaCancelacionSUCResponse>
</soap:Body>
</soap:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 34
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

EJEMPLO REQUEST (Vigente) EJEMPLO RESPONSE

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
<Body> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultaCancelacionSUC xmlns="http://tempuri.org/"> <ConsultaCancelacionSUCResponse xmlns="http://tempuri.org/">
<!-- Optional --> <ConsultaCancelacionSUCResult>
<Estado>true</Estado>
<oListUUID> <Mensaje>La consulta ha sido obtenida</Mensaje>
<string>0003F06B-0125-4498-B0FD-81FA31D774A2</string> <Datos>
<CancelacionDTO>
</oListUUID> <CFDI_UUID>0003F06B-0125-4498-B0FD-81FA31D774A2</CFDI_UUID>
<RFCReceptor>NWM9709244W4</RFCReceptor>
<dFechaInicio>2020-12-12</dFechaInicio> <RFCEmisor>BIM011108DJ5</RFCEmisor>
<dFechaFin>2020-12-12</dFechaFin> <EstadoDocumento>Vigente</EstadoDocumento>
<FechaSolicitud>2020-12-12T08:26:31</FechaSolicitud>
<EstadoCancelacion />
<cToken>/yVwTO4z+mzJoI4nn4eNkF+b/tQ3XgOub2iuwZOpB58=</cTok <AutorizoCliente xsi:nil="true" />
<Observaciones>No cancelable</Observaciones>
en> <FechaEstatus>2020-12-12T08:27:00</FechaEstatus>

</ConsultaCancelacionSUC> <MontoTotal>342.0200</MontoTotal><XMLAcuseB64>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8QWN1c2UgeG1sbnM6eHNp
</Body> PSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczL
</Envelope> m9yZy8yMDAxL1hNTFNjaGVtYSI+DQogIDxFeHRlbnNpb25EYXRhIC8+DQogIDxDb2RpZ29Fc3RhdHVzPlMgLS
BDb21wcm9iYW50ZSBvYnRlbmlkbyBzYXRpc2ZhY3RvcmlhbWVudGUuPC9Db2RpZ29Fc3RhdHVzPg0KICA8R
XNDYW5jZWxhYmxlPk5vIGNhbmNlbGFibGU8L0VzQ2FuY2VsYWJsZT4NCiAgPEVzdGFkbz5WaWdlbnRlPC9Fc3
RhZG8+DQogIDxFc3RhdHVzQ2FuY2VsYWNpb24gLz4NCjwvQWN1c2U+</XMLAcuseB64>
</CancelacionDTO>
</Datos>
</ConsultaCancelacionSUCResult>
</ConsultaCancelacionSUCResponse>
</soap:Body>
</soap:Envelope>

EJEMPLO REQUEST (Pendiente) EJEMPLO RESPONSE

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
<Body> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultaCancelacionSUC xmlns="http://tempuri.org/"> <ConsultaCancelacionSUCResponse xmlns="http://tempuri.org/">
<!-- Optional --> <ConsultaCancelacionSUCResult>
<Estado>true</Estado>
<oListUUID> <Mensaje>La consulta ha sido obtenida</Mensaje>
<string>24F3FDA8-2227-479B-B8AB-1219B7C5BE71</string> <Datos>
<CancelacionDTO>
</oListUUID> <CFDI_UUID>24F3FDA8-2227-479B-B8AB-1219B7C5BE71</CFDI_UUID>
<RFCReceptor>BESJ600703KZ7</RFCReceptor>
<dFechaInicio>2020-12-30</dFechaInicio> <RFCEmisor>PSS970203FI6</RFCEmisor>
<dFechaFin>2020-12-30</dFechaFin> <EstadoDocumento>Pendiente</EstadoDocumento>
<FechaSolicitud>2020-12-30T09:50:50.51</FechaSolicitud>
<EstadoCancelacion>Enviado</EstadoCancelacion>
<cToken>fyrphJNw7QBGUmb8yA2Kby9MppIF9bWmtxOZsYHvcxY=</cT <AutorizoCliente xsi:nil="true" />
<Observaciones />
oken> <FechaEstatus>2020-12-30T09:50:00</FechaEstatus>
<MontoTotal>0.0000</MontoTotal>
</ConsultaCancelacionSUC> <XMLAcuseB64>PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8QWN1c2UgeG1sbn
</Body> M6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sb
nM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSI+DQogIDxFeHRlbnNp
</Envelope> b25EYXRhIC8+DQogIDxDb2RpZ29Fc3RhdHVzPlMgLSBDb21wcm9iYW50ZSBvYnRlbmlkby
BzYXRpc2ZhY3RvcmlhbWVudGUuPC9Db2RpZ29Fc3RhdHVzPg0KICA8RXNDYW5jZWxhY
mxlPkNhbmNlbGFibGUgc2luIGFjZXB0YWNp8248L0VzQ2FuY2VsYWJsZT4NCiAgPEVzdGF
kbz5DYW5jZWxhZG88L0VzdGFkbz4NCiAgPEVzdGF0dXNDYW5jZWxhY2lvbj5DYW5jZWxh
ZG8gc2luIGFjZXB0YWNp8248L0VzdGF0dXNDYW5jZWxhY2lvbj4NCjwvQWN1c2U+
</XMLAcuseB64>
</CancelacionDTO>
</Datos>
</ConsultaCancelacionSUCResult>
</ConsultaCancelacionSUCResponse>
</soap:Body>
</soap:Envelope>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 35
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

EJEMPLO REQUEST (Error - 305) EJEMPLO RESPONSE

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <?xml version="1.0" encoding="utf-8"?>


<Body> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
<ConsultaCancelacionSUC xmlns="http://tempuri.org/"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<!-- Optional --> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<oListUUID> <soap:Body>
<string>01AE9C94-2948-4E31-8ECC-4BF42345036A</string> <ConsultaCancelacionSUCResponse xmlns="http://tempuri.org/">
</oListUUID> <ConsultaCancelacionSUCResult>
<dFechaInicio>2020-12-30</dFechaInicio> <Estado>true</Estado>
<dFechaFin>2020-12-30</dFechaFin> <Mensaje>La consulta ha sido obtenida</Mensaje>
<Datos>
<cToken>IJrd5y9Kk/nY6RXokjFzsRQZ1Xnhf2fDo98JTv8ZzsI=</cToken> <CancelacionDTO>
</ConsultaCancelacionSUC> <CFDI_UUID>01AE9C94-2948-4E31-8ECC-
</Body> 4BF42345036A</CFDI_UUID>
</Envelope> <RFCReceptor>GUSG8204078Z3</RFCReceptor>
<RFCEmisor>PFM960223PG1</RFCEmisor>
<EstadoDocumento>Error</EstadoDocumento>
<FechaSolicitud>2020-12-30T09:49:53.847</FechaSolicitud>
<EstadoCancelacion>Error - 305</EstadoCancelacion>
<AutorizoCliente xsi:nil="true" />
<Observaciones>El documento no se recupero del
SAT</Observaciones>
<FechaEstatus>2020-12-30T09:49:00</FechaEstatus>
<MontoTotal>28269.9900</MontoTotal>
</CancelacionDTO>
</Datos>
</ConsultaCancelacionSUCResult>
</ConsultaCancelacionSUCResponse>
</soap:Body>
</soap:Envelope>
EJEMPLO DE REQUEST (Token No Existe) EJEMPLO RESPONSE

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <?xml version="1.0" encoding="utf-8"?>


<Body> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
<ConsultaCancelacionSUC xmlns="http://tempuri.org/"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<!-- Optional --> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<oListUUID> <soap:Body>
<string>0000F1E1-3279-49DE-8AC7-B2A0015AA055</string> <ConsultaCancelacionSUCResponse xmlns="http://tempuri.org/">
</oListUUID> <ConsultaCancelacionSUCResult>
<dFechaInicio>2020-05-30</dFechaInicio> <Estado>false</Estado>
<dFechaFin>2020-05-30</dFechaFin> <Mensaje>El token no existe.</Mensaje>
</ConsultaCancelacionSUCResult>
<cToken>RBjSsZ85ovguurHLhKxn0en8evkXVztbpleGT3B2/A4=</cToken </ConsultaCancelacionSUCResponse>
> </soap:Body>
</ConsultaCancelacionSUC> </soap:Envelope>
</Body>
</Envelope>

ERRORES ESPERADOS

Los errores esperados son:

Cuando Sucede Mensaje de Error


Token no existe El token no existe.
Error-305 Certificado Invalido

WSCFDICancelacion
Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 36
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<?xml version="1.0"?>
<Acuse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</CodigoEstatus>
<EsCancelable>Cancelable sin aceptacin</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>En Proceso</EstatusCancelacion>
</Acuse>

<?xml version="1.0"?>
5 <Acuse xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</CodigoEstatus>
EJEMPLOS <EsCancelable>Cancelable con aceptacin</EsCancelable>
XMLAcuseB64 <Estado>Cancelado</Estado>
<EstatusCancelacion>Aceptado</EstatusCancelacion>
</Acuse>

<?xml version="1.0"?>
<Acuse xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</CodigoEstatus>
<EsCancelable>Cancelable con aceptacin</EsCancelable>
<Estado>Vigente</Estado>
<EstatusCancelacion>Rechazado</EstatusCancelacion>
</Acuse>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 37
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

PROCESO 2 RECEPCION
SIN REGISTRO DE LLAVES EN LA PLATAFORMA DE EKOMERCIO

WSCFDICancelacion
< ConsultarCancelacionesMultiReceptorSUC xmlns="http://tempuri.org/" >
<cToken>string</cToken>
<cRFCReceptor>string</c cRFCReceptor >
</ConsultarCancelacionesMultiReceptorSUC >

Este método sirve para consultar las cancelaciones pendientes de Aceptar o Rechazar.
La consulta se emite por un solo RFC el cual será el Receptor del o los documentos que
requieran la Autorización.
6
cToken. Requerido. Token de Autenticación el cual puede estar ligado a MULTIPLES
RFC.
ConsultarCancelacionesMultiReceptorSUC
La respuesta del WS debe retornar un LISTADO DE UUID PENDIENTES DE ACEPTAR O
RECHAZAR POR EL RFC SOLICITADO.

EJMPLO DE RESPUESTA:
<oListUUIDs>
<uuid>XXXXXXX</uuid>
<uuid>XXXXXXX</uuid>
<uuid>XXXXXXX</uuid>
<uuid>XXXXXXX</uuid>
<oListUUIDs>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 38
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

WSCFDICancelacion
< AceptarRechazarReceptorFirmadoSUC xmlns="http://tempuri.org/">
<cToken>string</cToken>
<cXMLRespuestaFirmadoB64>XMLBASE64</cXMLRespuestaFirmadoB64>
</ AceptarRechazarReceptorFirmadoSUC >

Este método sirve para dar la aceptación o rechazo a las cancelaciones consultadas
previamente. La aceptación se emite por un solo RFC el cual será el Receptor del o los
documentos.
cToken. Requerido. Token de Autenticación el cual puede estar ligado a Múltiples
RFC.
cXMLRespuestaFirmadoB64. Requerido. XML de Respuesta en formato Base 64. Este
7 XML debe estar firmado con las llaves del RFC Receptor y deberá estar codificado en
Base 64.

AceptarRechazarReceptorFirmadoSUC La respuesta del WS debe retornar un LISTADO DE UUID con la indicación definitiva
del SAT respecto a la respuesta de Aceptación o Rechazo.

EJMPLO DE RESPUESTA:
<oListUUIDs>
<oUUIDs>
<cCFDI_UUID>string</cCFDI_UUID>
<cRespuestaSAT>binary</ cRespuestaSAT >
</oUUIDs>
< oUUIDs >
<cCFDI_UUID>string</cCFDI_UUID>
<cRespuestaSAT>binary</ cRespuestaSAT >
</oUUIDs>
</oListUUIDs>

IMAGEN DE EJMPLO DEL XML CON Y SIN FIRMA

<SolicitudAceptacionRechazo xmlns="http://cancelacfd.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Fecha="2018-11-06T00:57:25" RfcPacEnviaSolicitud="XXXXXXXXXXXXX"
RfcReceptor="YYYYYYYYYYYYY">
<Folios>
<UUID>F48006B7-BF56-48D6-B084-FEBEFB8755CA</UUID>
<Respuesta>Aceptacion</Respuesta>
</Folios>
</SolicitudAceptacionRechazo>

<SolicitudAceptacionRechazo xmlns="http://cancelacfd.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RfcReceptor="YYYYYYYYYYYYY" RfcPacEnviaSolicitud="EEL961104G96"
Fecha="2018-11-06T00:57:25">
<Folios>
<UUID>F48006B7-BF56-48D6-B084-FEBEFB8755CA</UUID>
<Respuesta>Aceptacion</Respuesta>
</Folios>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 39
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>JD5L7EFAlJkAARDVTQN10+cq2JQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>DRL8HT2......o8o5CnywQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509IssuerSerial>
<X509IssuerName>OID.1.2.840.113549.1.9.2=Responsable: Administración Central de Servicios Tributarios al
Contribuyente, OID.2.5.4.45=SAT970701NN3, L=Cuauhtémoc, S=Distrito Federal, C=MX, PostalCode=06300, STREET="Av. Hidalgo 77,
Col. Guerrero", E=acods@sat.gob.mx, OU=Administración de Seguridad de la Información, O=Servicio de Administración Tributaria,
CN=A.C. del Servicio de Administración Tributaria</X509IssuerName>
<X509SerialNumber>275106190557734483187066766810932857008485905973</X509SerialNumber>
</X509IssuerSerial>
<X509Certificate>MIIGVDCCB.....Og==</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</SolicitudAceptacionRechazo>

Aceptacion_SINFirm Aceptacion_Firmad
ar.xml o.xml

WSCFDICancelacion
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<ConsultarRelacionadosSUC xmlns="http://tempuri.org/">
<cRFC>[string?]</cRFC>
<cTipoRFC>[int]</cTipoRFC>
<cCFDI_UUID>[string?]</cCFDI_UUID>
<cToken>[string?]</cToken>
</ConsultarRelacionadosSUC>
</Body>
</Envelope>
Este método se utiliza para consultar si un UUID en particular tiene
8 documentos relacionados (hijos o padres). La consulta se puede realizar
cuando se conoce el UUUID y el RFC que emitió o recibió dicho documento.
ConsultarRelacionadosEmisorReceptorSUC
Variables de la petición
<cRFC> RFC que emitió o recibió el documento
<cTipoRFC> Indicar 1 si es RFC Emisor y 2 si es RFC Receptor.
<cCFDI_UUID> Indicar el CFDI_UUID a consultar.
<cToken> Token asociado ligado al RFC ingresado. El token debe pertenecer
al RFC con el que se está consultando ya sea emisor o receptor.

El response del método debe retornar el estado, un mensaje indicando folio


fiscal y clave, y si hay CFDI relacionados, también el RFC emisor y receptor y
el tipo de relación.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 40
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<ConsultarRelacionadosSUC xmlns="http://tempuri.org/">
<cRFC>SIH9511279T7</cRFC>
Ejemplo Request: <cTipoRFC>2</cTipoRFC>
ConsultarRelacionadosEmisorReceptorSUC <cCFDI_UUID>F197AD0A-5A3D-4997-AA72-240561EA7590</cCFDI_UUID>
<cToken>qW+aR1zAgOAUr2VwwK4bI9LeF20tRj3BjJVYvguP4Ss=</cToken>
</ConsultarRelacionadosSUC>
</Body>
</Envelope>

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConsultarRelacionadosSUCResponse xmlns="http://tempuri.org/">
<ConsultarRelacionadosSUCResult>
<Estado>true</Estado>
<Datos>
<Relacionados>
<Mensaje>WS Consulta CFDI relacionados RfcReceptor: SIH9511279T7 -
Ejemplo Response: folio físcal: F197AD0A-5A3D-4997-AA72-240561EA7590 - Clave: 2000 - Se
ConsultarRelacionadosEmisorReceptorSUC encontraron CFDI relacionados</Mensaje>
<Estado>true</Estado>
<CFDI_UUID>781D2EEB-63E9-433D-9560-B2926A6AA79D</CFDI_UUID>
<RFCEmisor>BIM011108DJ5</RFCEmisor>
<RFCReceptor>SIH9511279T7</RFCReceptor>
<TipoRelacion>Padre</TipoRelacion>
</Relacionados>
</Datos>
</ConsultarRelacionadosSUCResult>
</ConsultarRelacionadosSUCResponse>
</soap:Body>
</soap:Envelope>>

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 41
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

SolicitarCancelacionSUC
Se utiliza para solicitar cancelaciones.
Los tipos de datos enviados son:
Nombre Tipo de dato Longitud
CFDI_UUID char 36
RFCEmisor Varchar 14
RFCReceptor Varchar 14
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal Money
derecha del decimal
Token Varchar 50
Los tipos de datos recibidos son:
Nombre Tipo de dato Longitud
Estado bool True/False
Mensaje string 250 caracteres
Datos objecto Estado, Mensaje y Datos
CFDI_UUID char 36
RFCEmisor varchar 14
RFCREceptor varchar 14
EstadoDucmento varchar 150
máximo 19 dígitos y 4 de ellos pueden estar a la
MontoTotal money
derecha del decimal
EJEMPLO REQUEST (Solicitar Cancelación) EJEMPLO RESPONSE
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
<Body> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<SolicitarCancelacionSUC xmlns="http://tempuri.org/"> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- Optional --> <soap:Body>
<oListaSolicitudCancelacion> <SolicitarCancelacionSUCResponse xmlns="http://tempuri.org/">
<!-- Optional --> <SolicitarCancelacionSUCResult>
<SolicitudCancelacionDTO> <Estado>true</Estado>
<CFDI_UUID>F1FB464A-3DE0-4794-B287- <Mensaje />
4DE9972A7D6F</CFDI_UUID> <Datos>
<RFCEmisor>BAR011108CC6</RFCEmisor> <RespuestaDTOOfCancelacionDTO>
<RFCReceptor>MEMD720615GC7</RFCReceptor> <Estado>true</Estado>
<MontoTotal>102.45</MontoTotal> <Mensaje>Cancelacion recibida</Mensaje>
</SolicitudCancelacionDTO> <Datos>
</oListaSolicitudCancelacion> <CFDI_UUID> F1FB464A-3DE0-4794-B287-
4DE9972A7D6F </CFDI_UUID>
<cToken>o6KNI+gX++bEYUiWT+AWmHpr2QvLu1hZUY9igHaZuzg=</cToken> <RFCReceptor> MEMD720615GC7</RFCReceptor>
</SolicitarCancelacionSUC> <RFCEmisor> BAR011108CC6</RFCEmisor>
</Body> <FechaSolicitud>2020-01-01T12:59:50</FechaSolicitud>
<AutorizoCliente xsi:nil="true" />
</Envelope>
<FechaEstatus xsi:nil="true" />
<MontoTotal>100.00</MontoTotal>
</Datos>
</RespuestaDTOOfCancelacionDTO>
</Datos>
</SolicitarCancelacionSUCResult>
</SolicitarCancelacionSUCResponse>
</soap:Body>
</soap:Envelope>
ERRORES ESPERADOS

Los errores esperados son:

Cuando Sucede Mensaje de Error


RFC no valida El RFC no es correcto
Token no existe El token no existe.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 42
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Tabla de errores retornados por el Api de cancelaciones métodos


( SolicitarCancelacionSUC, ConsultaCancelacionSUC y ValidarUUIDSUC )

Método Mensajes de error


Errores de Token

SolicitarCancelacionSUC
(CancelarDocumentos) Número máximo de cancelaciones

UUID es omitido

RFC Receptor es omitido

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 43
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Método Mensajes de error


Error RFC Emisor omitido

SolicitarCancelacionSUC
(CancelarDocumentos) Si el monto es null o vacío, por el tipo de dato esperado lo
asigna como 0 y guarda en base la cancelación.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 44
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Método Mensajes de error


Errores de Token

ConsultaCancelacionSUC
(ConsultarCancelacionesEmisor)

UUID omitido

Fechas Inicio o Fin omitidos

Ningún parámetro omitido, respuesta exitosa.

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 45
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Método Mensajes de error


Errores de Token

ValidarUUIDSUC
(CancelarDocumentos)

UUID omitido

RFC Emisor o Receptor Omitidos

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 46
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.
Documento Funcional
Versión 3.0- 21 Julio 2017

Si el monto no se envía con la cantidad correcta.

Método Mensajes de error

Cuando todos los parámetros son enviados correctamente.

ValidarUUIDSUC
(CancelarDocumentos)

Ekomercio Electrónico, S.A. de C.V., es propietario intelectual del contenido de este documento y se considera dentro del régimen de Pág. 47
información confidencial. Queda prohibida su reproducción total o parcial sin la autorización explícita.

También podría gustarte