
MX - Servicios de Integracion MOBO
Estos servicios permiten al cliente Mobo poder realizar re facturaciones sobre comprobantes del tipo "interno" (el cliente realizo una compra y no solicito su factura electrónica).
Para esto sera necesario publicar un servicio para la autenticación, uno de consulta de comprobantes y un servicio para realizar la re-facturacion.
A continuación se publican los servicios:
Servicio: Autenticar terminal/sistema (authenticate)
Servicio de seguridad que permite a una terminal/sistema ser autorizada para utilizar el restos de los servicios del sistema.
Este servicio requiere que se brinden las claves de acceso (un id y un secret), las cuales pueden obtenerse a través de la Consola de Administración en la sección "Clientes API" del módulo de seguridad.
Retornará un token, el cual es requerido al invocar los servicios de negocio.
Clique aqui para expandir...
Es un método REST basado en el formato JSON. Ejemplo:
[post] http://[dirección-ip]:[puerto]/api/v1/oauth2/authenticate |
---|
POST - REQUEST
BODY
clientSecret | String | Envia el valor clientSecret |
Ejemplo:
{
"clientId" : "vcn5keiiw0zf" ,
"clientSecret" : "g23n2tlt3fmap0ymaosv"
}
|
RESPONSE OK
expiresIn | Number | Tiempo de expiración del token medido en unidad de expiración. |
expUnit | String | Unidad de expiración. |
Ejemplo:
{
"token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNWU5NDczZGU4YTk2NDI5MzlkMzVkYzhiIn0sImlhdCI6MTU5NTk0NzkyOSwiZXhwIjoxNTk1OTUxNTI5fQ.yrMsmYgyPtii59moYgujKE96ZeFNhHuZnwt3OeE59fM" ,
"expiresIn" : 3600000 ,
"expUnit" : "miliseconds"
} |
RESPONSE ERROR
message | String | Detalle del tipo del error. |
Ejemplo:
{ "ack": 2002, "message": "User not found" } |
Servicio: Consultar documento fiscal (fiscalDocuments)
Clique aqui para expandir...
Este servicio permite consultar un documento fiscal de acuerdo a determinados filtros:
Elemento | Descripción | Tipo
| Requerido | Detalle |
companyCode | Codigo de la compañia | String | Si |
|
storeCode | Codigo de la tienda | String | Si |
|
invoiceType | Tipo de Comprobante | String | Si |
|
invoiceDate | Fecha del Comprobante | String | Si | (YYYYMMDD) |
internalId | Numero interno | String | Si |
|
operator | operador que realizo la venta | Number | Si |
|
totalAmount | totalAmount | Number | SI |
|
Para el uso del servicio es necesario informar un token que se obtiene a través del servicio "Authenticate".
Es un método REST basado en el formato JSON. Ejemplo:
[get]http://[dirección-ip]:[puerto]/api/v1/fiscalDocuments?invoiceType="I"&operator="aaaa"&storeCode ="T01"&internalId="SI01"&companyCode="MOBO"&totalAmount=116&invoiceDate="20221114" |
---|
GET - REQUEST
x-access-token | Token obtenido a través del servicio "Authenticate" |
Ejemplo:
RESPONSE
Ejemplo:
{
"invoiceDate": "2022-11-14T03:00:00.000Z",
"authorizationType": "FI",
"authorizationCode": "",
"companyCode": "MOBO",
"storeCode": "T01",
"pointOfSale": "SI01",
"invoiceNumber": "00000050",
"invoiceType":"I",
"internalId":"SI01",
"operator":"aaaa",
"subTotalAmount":100,
"amountIva":16,
"totalAmount":116.
"ack": 0,
"message": ""
}
RESPONSE ERROR
message | String | Detalle del tipo del error. |
Ejemplo:
{ "ack": 2101, "message": "Transacción no encontrada" } |
Servicio: Solicitar Refacturacion (createInvoice)
Servicio por el cual se podrá solicitar una re-facturacion de un comprobante que al momento de la venta no se solicito factura e ingreso a fiscal flow como interna.
Clique aqui para expandir...
Es un método REST basado en el formato JSON. Ejemplo:
[post] http://[dirección-ip]:[puerto]/api/v1/createInvoice |
---|
POST - REQUEST
Ejemplo:
x-access-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOYXBzZSIsImRhdGEiOnsiX2lkIjoiNjA1ZGQyNTZjZGE0YzhhNzZkODhhNDFiIn0sImlhdCI6MTYyMTQzMTU5OCwiZXhwIjoxNjIxNTE3OTk4fQ.4gxltyla4zKODtM9w0a4-y2_EMtrkIULB9446RSVpKE |
BODY
Elemento | Descripción | Tipo
| Requerido | Detalle |
requestCredential | Detalle de la identificación de la Tienda | Objeto | Sí |
|
---|
companyCode | Codigo de la compañia | String | Si |
|
storeCode | Codigo de la tienda | String | Si |
|
customer | Informacion sobre el cliente | Objecto | Si |
|
identificationNumber | RFC del receptor del comprobante | String | Si |
|
taxCategory | Clave del régimen fiscal del contribuyente receptor de la factura. Debe ser un valor válido dentro del catálogo del SAT | String | Si |
|
fiscalAddress | Direccion del rececptor de la factura | String | Si |
|
postalCode | Código postal del receptor del documento | String | Si |
|
billingEmail | Correo electrónico al que será enviada la factura | String | Si |
|
businessName | Nombre(s), primer apellido, segundo apellido, según corresponda, denominación o razón social del contribuyente, inscrito en el RFC, del receptor del comprobante. | String | Si |
|
fiscalDocument | Informacion sobre el comprobante | Objeto | Si |
|
invoiceType | Tipo de Comprobante | String | Si |
|
invoiceDate | Fecha del Comprobante | String | Si | YYYYMMDD |
internalId | Numero de comprobante interno | String | Si |
|
operator | operador que realizo la venta | Number | Si |
|
conceptCode | Clave del uso que dará a esta factura el receptor del CFDI. Debe ser un valor válido dentro del catálogo del SAT | String | Si |
|
totalAmount | Total del comprobante | Number | Si |
|
Ejemplo:
{
"requestCredential": {
"companyCode": "MOBO",
"storeCode": "T01",
},
"customer": {
"identificationNumber": "XAXX010101000",
"taxCategory": 616,
"fiscalAddress":"la lucila",
"postalCode": "11000",
"billingEmail": "[email protected]",
"businessName": "GABRIELA LOPEZ "
},
"fiscalDocument": {
"internalId":"S01",
"operator":"aaaa",
"invoiceType": "I",
"invoiceDate": "20221115",
"pointOfSale": "S01",
"invoiceNumber":50,
"conceptCode":"G01",
"totalAmount":116
}
}
RESPONSE OK
Elemento | Tipo | Detalle |
---|
ack | Number | Código del mensaje de respuesta |
message | String | Mensaje asociado al ack |
invoiceType | String | Tipo de Comprobante |
invoiceDate | Date | Fecha del Comprobante |
pointOfSale | String | Serie del comprobante |
invoiceNumber | Number | Folio del comprobante |
companyCode | String | Codigo de Compañia |
storeCore | String | Codigo de Tienda |
subTotalAmount | Number | Subotal del comprobante |
amountIva | Number | Total de Iva del comprobante |
totalAmount | Number | Total del Comprobante |
authorizationCode | String | UUID generado por el SAT al timbrar el comprobante |
internalId | String | Numero interno |
operator | String | Operador que realizo la venta |
Ejemplo:
{
"ack": 0 "message": "OK", "invoiceType": "I", "invoiceDate": "20221115", "pointOfSale": "S01", "invoiceNumber":50, "companyCode":"MOBO", "storeCode":"T01", "subTotalAmount":116 "amountIva":116 "totalAmount":116 "authorizationCode":""
} |
RESPONSE ERROR
message | String | Detalle del tipo del error. |
Ejemplo:
{ "ack": 2004, "message": "Access token is missing" } |