Autofactura.importar
Recibe un listado de los tickets con su detalle y valida cada concepto. Retorna un listado del resultado de la importación de cada ticket.
- Parámetros:
-
Nombre Descripción Requerido clientId xs:string
Nombre de usuario registrado para el uso del WebService.
Sí password xs:string
Contraseña del usuario.
Sí file xs:base64Binary
Arreglo de bytes del documento a importar encodeado en base64, el formato del documento debe ser texto plano.
El archivo es de tipo cadena conector para autofactura de texto plano.Sí
Este método recibe tres parámetros, de los cuales dos se encuentran en el encabezado del mensaje SOAP.
Ejemplo de petición:
Descargar este ejemplo
Regresa:
- Este método retorna un tipo compuesto: Importacion, los atributos se describen en la siguiente tabla:
-
Atributos de ImportacionNombre Descripción Requerido status xs:int
El código estatus de la operación. Códigos de respuesta
Sí mensaje xs:string
El mensaje de respuesta, una cadena de caracteres detallando el estatus de la operación.
Sí idTransaccion xs:string
El identificador de la transacción en la que se proceso el ticket, puede no presentarse cuando no se proceso el ticket.
No resultados Arreglo de tipo tns:resultadoImportacion
Detalle de cada resultado de la importación de los tickets
No -
tns:resultadoImportacion
Nombre Descripción Requerido status xs:string
Estatus del ticket
Sí mensaje xs:string
Mensaje del ticket
No noTicket xs:int
Número de ticket
No
Ejemplo de respuesta - importar
Descargar este ejemplo
Cadena conector
-
La cadena de conector es la representación de cada elemento en el archivo de importación utilizado por el método importar del Web Service.
Nombre Tipo Uso Descripción Ejemplo TICKET_NO String R El identificador del ticket, este puede ser compuesto. 101234567890 FECHA_HORA String R Fecha y hora con formato descrito por el cliente 08/13/2012T11:43:18 SUBTOTAL_FACTURA BigDecimal R El monto subtotal del ticket, con un máximo de 6 decimales 449.544100 TOTAL_FACTURA BigDecimal R Monto total del ticket, con un máximo de 6 decimales. 535.171600 TASA_IVA_FACTURA BigDecimal C Este campo es opcional y debe ser especificado en base 100, ejem: 16.00.
Si este campo contiene valor también debe especificarse un valor para el campo: IMPORTE_IVA_FACTURA.16.000000 IMPORTE_IVA_FACTURA BigDecimal C Este campo es opcional, solo si TASA_IVA_FACTURA es especificada también este será requerido. 85.627500 UNIDAD String C Este campo es opcional, el valor predefinido es el que el cliente describió. EA CONCEPTO String C Este campo es opcional, el valor predefinido es el que describió el cliente. CONSUMO NOTAS String C Este campo es opcional Sin Notas MONEDA_NOMBRE String C Este campo describe el nombre de la moneda utilizada en el ticket MXN MONEDA_SIMBOLO String C Este campo describe el símbolo de la moneda PESOS TIPO_CAMBIO BigDecimal C Este campo describe la tasa de cambio utilizada al momento de general el ticket 1.0 FORMA_PAGO String C Este campo es opcional, el valor predefinido es el que el cliente describió Pago en una sola exhibición CONDICIONES_PAGO String C Este campo es opcional 30 días METODO_PAGO String C Este campo es opcional, el valor predefinido es el que el cliente describió No identificado NO_CTA_PAGO String C Este campo es opcional, describe el número de la cuenta de pago en caso de que el método de pago lo requiera.
A4556 / 011VALOR_UNITARIO BigDecimal C Este campo es opcional, en caso no encontrarse se utilizara el valor de SUBTOTAL_FACTURA 160.450000 CANTIDAD BigDecimal C Este campo es opcional, en caso de no encontrarse se utilizara el valor 1.000000 1.000000 IMPORTE BigDecimal C Este campo es opcional, en caso no encontrarse se utilizara el valor de SUBTOTAL_FACTURA 140.450000
C = Condicional
R = RequeridoLos archivos de importación de autofactura deberán seguir la siguiente configuración de campos:
|TICKET_NO|FECHA_HORA|SUBTOTAL_FACTURA|TOTAL_FACTURA|TASA_IVA_FACTURA|IMPORTE_IVA_FACTURA|UNIDAD|CONCEPTO|NOTAS|MONEDA_NOMBRE|MONEDA_SIMBOLO|TIPO_CAMBIO|FORMA_PAGO|CONDICIONES_PAGO|METODO_PAGO|NO_CTA_PAGO|VALOR_UNITARIO|CANTIDAD|IMPORTE|Ejemplo de cadena conector para autofactura:
Esta cadena esta basada en la cadena conector para la importación de comprobantes fiscales digitales, si usted ya cuenta con este conector para la importación de facturas electronicas puede simplemente añadir esta cadena a la ya existente, solo tiene que ponerse en contacto con nosotros para actualizar su configuración.|C2PBV00078972307c9|01/12/2011T07:20:20|13.2456|15.3649|16|2.11926|PZ|INDIVIDUAL D+1 ZONA E DE 5.501 A 6.000 GRM|No|MXN|PESOS|1|Contado|No|Efectivo|A120|13.2456|3|15.3648|
Dígito verificador
Generación
El dígito verificador es el resultado de los primeros dos dígitos de la obtención hash por medio de SHA-1 del número de ticket.
Tomemos como ejemplo el siguiente número de ticket: 02OTR0010558223088D
02 es el identificador del emisor, es alfanumérico.
OTR es el identificador de la sucursal, es alfanumérico.
00105582 es el número del ticket.
El último segmento de 6 dígitos 23088d, se componen de la siguiente forma:
2 para la longitud del identificador del emisor, que en este caso es 02.
3 para la longitud del identificador de la sucursal, que en este caso es OTR.
08 para la longitud del ticket, que en este caso es 00105582.
8d para la verificación del ticket, este corresponde a los primeros 2 dígitos del hash del ticket.
Visto desde otra manera, podemos expresar el ticket de la siguiente forma:
Emisor | Sucursal | Ticket | Longitud Emisor | Longitud Sucursal | Longitud Ticket | Dígito Verificador |
02 | OTR | 00105582 | 2 | 3 | 08 | 8D |
Alfanumérico | Alfanumérico | Alfanumérico | Del 1 al 9 | Del 1 al 9 | Del 1 al 99 de 2 dígitos | Alfanumérico de 2 dígitos |
El hash se genera con los primeros 6 componentes del ticket:
02 | OTR | 00105582 | 2 | 3 | 08 |
Como resultado de codificar 02OTR001055822308 usando sha-1 a hexadecimal es:
8D811497A8A289C1351646AA73161AC0967AAC78 |
Los primeros 2 dígitos del hash:
8D | 811497A8A289C1351646AA73161AC0967AAC78 |
Ticket final con dígito de verificación:
02OTR001055822308 | 8D |
Códigos Respuesta
-
200 — Acceso correcto;
El cliente se autentico correctamente y el método retorno los resultados.
En general cualquier proceso que termine sin ninguna incidencia.. -
201 — Acceso correcto;
El cliente se autentico correctamente y el método retorno los resultados.
En general cualquier proceso que termine sin ninguna incidencia.. -
202 — El ticket ya se había procesado en otra transacción de importación;
El ticket que se deseaba importar ya existía en una transacción anterior.
-
204 — Se encontraron errores al validar el ticket con el digito validador;
El ticket no paso la validación del digito validador, esto se debe a que el ticket no cumple con lo especificado en el digito verificador o el hash generado es diferente. - 206 — El numero de ticket ya ha sido facturado;
El ticket fue facturado con anterioridad. -
208 — El ticket no pudo ser almacenando y marcado como facturado;
El proceso de almacenado encontró un problema por lo cual no continuo. -
500 — Error al procesar los tickets;
Error en al tratar de leer la información de los tickets. - 601 — Error en la autenticación del cliente;
Usuario y/o contraseña incorrectos.