Método Buscar_ CFDI’s
Enlaces al servicio
Pruebas: https://staging.ws.timbox.com.mx/timbrado_cfdi40/wsdl
Producción: https://sistema.timbox.com.mx/timbrado_cfdi40/wsdl
Consumo de créditos
Por cada petición: No Aplica
Petición al servicio
El servicio “buscar_cfdis” puede ser utilizado para buscar comprobantes que cumplan con los parámetros que se indiquen y que le pertenezcan a la empresa, se retornará información principal de los comprobantes encontrados. Es requerido el usuario y contraseña para utilizar el servicio.
Queremos solucionar tus dudas
ContáctanosParámetros de la petición
| Nombre | Descripción | Requerido |
| username | Usuario del web service | Sí |
| password | Contraseña del web service | Sí |
| parámetros | Parámetros de búsqueda de CFDI’s | Sí |
Parámetros de entrada
| Parámetro | Descripción | Formato Aceptado | Requerido |
| rfc_emisor | RFC del emisor del CFDI | Regex de RFC | No |
| rfc_receptor | RFC del receptor del CFDI | Regex de RFC | No |
| fecha_emision_inicio | Parámetro para buscar en un rango la fecha de emisión del comprobante. | YYYY-MM-DD
Ej. 2017-12-31 |
Sólo si se incluye fecha_emision_fin |
| fecha_emision_fin | Parámetro para buscar en un rango la fecha de emisión del comprobante. | YYYY-MM-DD
Ej. 2017-12-31 |
Sólo si se incluye fecha_emision_inicio |
| fecha_timbrado_inicio | Parámetro para buscar en un rango la fecha de timbrado del comprobante. | YYYY-MM-DD
Ej. 2017-12-31 |
Sólo si se incluye fecha_timbrado_fin |
| fecha_timbrado_fin | Parámetro para buscar en un rango la fecha de timbrado del comprobante. | YYYY-MM-DD
Ej. 2017-12-31 |
Sólo si se incluye fecha_timbrado_inicio |
| cancelado | Señalar si se buscarán comprobantes cancelados, no cancelados o todos. Si el valor es “true”, buscará cancelados, si es “false” buscará comprobantes vigentes, si no tiene valor buscará tanto cancelados como no cancelados. | “true”, “false” o nulo. El valor es un string, no un booleano. | No |
| external_id | Parámetro para buscar un comprobante por id en la base de datos del usuario. | Int | No |
| uuid | Parámetro para buscar por UUID. | Regex de UUID | No |
| folio | Parámetro para buscar por folio. | Libre | No |
| serie | Parámetro para buscar por serie. | Libre | No |
Regex de RFC:
/[A-Z&Ñ]{3,4}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]/
Regex de UUIDs:
/^[a-f0-9A-F]{8}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{4}-[a-f0-9A-F]{12}$/
Ejemplo de petición al servicio
A continuación se muestra unos ejemplos de cómo debe ser construida la petición al servicio buscar_cfdi
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WashOut">
<soapenv:Header/>
<soapenv:Body>
<urn:buscar_cfdis soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<username xsi:type="xsd:string">AAA010101000</username>
<password xsi:type="xsd:string">h6584D56fVdBbSmmnB</password>
<parametros_cfdis xsi:type="urn:parametros_cfdis">
<rfc_emisor xsi:type="xsd:string">?</rfc_emisor>
<rfc_receptor xsi:type="xsd:string">?</rfc_receptor>
<fecha_emision_inicio xsi:type="xsd:string">?</fecha_emision_inicio>
<fecha_emision_fin xsi:type="xsd:string">?</fecha_emision_fin>
<fecha_timbrado_inicio xsi:type="xsd:string">?</fecha_timbrado_inicio>
<fecha_timbrado_fin xsi:type="xsd:string">?</fecha_timbrado_fin>
<cancelado xsi:type="xsd:string"></cancelado>
<external_id xsi:type="xsd:string">?</external_id>
<uuid xsi:type="xsd:string">C8C1DAB5-B652-4E67-991B-7E085C1F7849</uuid>
<folio xsi:type="xsd:string">?</folio>
<serie xsi:type="xsd:string">?</serie>
<limit xsi:type="xsd:string">?</limit>
<offset xsi:type="xsd:string">?</offset>
</parametros_cfdis>
</urn:buscar_cfdis>
</soapenv:Body>
</soapenv:Envelope>
Queremos solucionar tus dudas
ContáctanosRespuesta del servicio
Si hubo un error en la validación de los parámetros o en el servicio de búsqueda se le indicará por medio de un error, de lo contrario se regresará la estructura “buscar_cfdis_result”, con la información de un máximo de hasta 500 comprobantes, la cual tiene la siguiente estructura:
Parámetros de respuesta
La información que se regresa de los comprobantes es la siguiente:
| Nombre | Descripción |
| estatus | Estatus de la petición, es 200 si fue exitosa. |
| cantidad | Cantidad de comprobantes que se encontraron con los parámetros especificados en la búsqueda. |
| comprobantes | Información de los comprobantes encontrados en formato XML. |
| folio | Folio del comprobante |
| serie | Serie del comprobante. |
| external_id | Id de la base datos del usuario. |
| uuid | UUID del comprobante |
| rfc_emisor | RFC del emisor del comprobante. |
| nombre_emisor | Nombre del emisor del comprobante. |
| rfc_receptor | RFC del receptor del comprobante. |
| nombre_receptor | Nombre del receptor del comprobante. |
| total | Cantidad del total del comprobante. |
| fecha_emision | Fecha en la que se emitió el comprobante. |
| fecha_timbrado | Fecha en la que se timbró el comprobante. |
| estatus | Estatus del comprobante encontrado, puede ser Vigente o Cancelado. |
| fecha_cancelacion | Fecha en la que se canceló el comprobante. En caso que el comprobante se encuentra vigente, no aparecerá este campo. |
Ejemplo de respuesta del servicio
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="urn:WashOut">
<soap:Body>
<tns:buscar_cfdis_response>
<buscar_cfdis_result xsi:type="tns:buscar_cfdis_result">
<estatus xsi:type="xsd:string">200</estatus>
<cantidad xsi:type="xsd:string">1</cantidad>
<comprobantes xsi:type="xsd:string"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<comprobantes type="array">
<cfdi>
<UUID>C8C1DAB5-B652-4E67-991B-7E085C1F7849</UUID>
<Serie nil="true"/>
<Folio nil="true"/>
<FechaEmision>2019-07-25T08:57:15</FechaEmision>
<FechaTimbrado>2019-07-25T10:57:17</FechaTimbrado>
<RFCEmisor>MISC491214B86</RFCEmisor>
<NombreEmisor>CECILIA MIRANDA SANCHEZ</NombreEmisor>
<RFCReceptor>IAD121214B34</RFCReceptor>
<NombreReceptor>IT SW Development Solutions de Mexico S de RL de CV</NombreReceptor>
<Tipo>Ingreso</Tipo>
<Estatus>Cancelado</Estatus>
<FechaCancelacion>2019-07-25 11:01:03</FechaCancelacion>
<Total type="float">1751.6</Total>
</cfdi>
</comprobantes>]]></comprobantes>
</buscar_cfdis_result>
</tns:buscar_cfdis_response>
</soap:Body>
</soap:Envelope>
Códigos de error nivel petición
En el siguiente listado se muestra los códigos de error correspondiente del método buscar_cfdi.
|
Código |
Descripción |
|
BCS101 |
Los datos de autentificación enviados son incorrectos |
|
BCS201 |
No se debe omitir el campo fecha_timbrado_inicio si el campo fecha_timbrado_fin existe. |
|
BCS202 |
No se debe omitir el campo fecha_timbrado_fin si el campo fecha_timbrado_inicio existe. |
|
BCS203 |
El campo fecha_timbrado_inicio no cumple con el formato YYYY-MM-DD |
|
BCS204 |
El campo fecha_timbrado_fin no cumple con el formato YYYY-MM-DD |
|
BCS205 |
Id de la base datos del usuario. |
|
BCS205 |
No se debe omitir el campo fecha_emision_inicio si el campo fecha_emision_fin existe. |
|
BCS206 |
No se debe omitir el campo fecha_emision_fin si el campo fecha_emision_inicio existe |
|
BCS207 |
El campo fecha_emision_inicio no cumple con el formato YYYY-MM-DD |
|
BCS208 |
El campo fecha_emision_fin no cumple con el formato YYYY-MM-DD. |
|
BCS209 |
El UUID no cumple con el formato de UUID’s |
|
BCS210 |
El valor de external_id no es un valor válido, debe ser un entero |
|
BCS211 |
La estructura del RFC_Emisor es incorrecta |
|
BCS212 |
La estructura del RFC_Receptor es incorrecta |
|
BCS213 |
El parámetro cancelado solo puede tener valor de ‘true’, ‘false’ y ‘nulo’ |
|
BCS215 |
El valor de limit debe ser un valor entre 1 y 500. |
|
BCS216 |
El valor de offset debe ser un valor mayor a 0. |
|
BCS217 |
El valor de offset no es un valor válido, debe ser un entero. |
|
BCS999 |
Error de comunicación con el servicio de búsqueda de cfdis. |