BRIDGE API - REST - Consulta de un pedido recibido en BRIDGE
© 2024 Napse. Todos los derechos reservados.
Este documento detalla la consulta a Bridge API de un pedido particular
- Se invoca de la siguiente manera: https://[direccion_ip]:[puerto]/order/info - Ejemplo: https://200.100.100.100:8090/order/info
- Se invoca vía GET
Tener en cuenta:
- Primero se debe invocar al servicio de autenticación para obtener un token.
- Cuando se llama a cualquier servicio este token se envía como un parámetro más de la llamada en el header (x-access-token.
- Si al llamar al servicio el token expiró, se recibirá respuesta de token inválido y se deberá volver a pedir uno nuevo.
Ver BRIDGE API - REST – Autenticación: token
Se podrán recibir en el body de la consulta los siguientes parámetros:
Disponible a partir de v7.5.4
{
"internalNumber": "bridge0000000001",
"externalNumber": "000101250000006",
"channel": "bridge"
}
| Descripción | Ejemplo | |
|---|---|---|
| 1 | Nro de pedido de BRIDGE | "internalNumber": "bridge0000000001", |
| 2 | Nro de pedido externo | "externalNumber": "000101250000006", |
| 3 | Código del canal | "channel": "bridge" |
NOTA: para la consulta debe ser enviado
a) el nro. del pedido BRIDGE (este valor es único porque es centralizado) ó
b) la combinación del nro. de pedido externo + canal (esta combinación es necesaria porque puede repetirse el nro de pedido externo por canal)
- Sólo se responde un pedido (no una lista)
JSON ejemplo
Allí, recibirá, en formato JSON, lo siguiente:
"ack": 0,
"order": [
{
"externalNumber": "000101250000006",
"internalNumber": "bridge0000000001",
"creationDate": "2023-01-20 15:35:30",
"channelCode": "bridge",
"currencyCode": "PESO ARGENTINO",
"netAmount": "1000",
"manualDiscountAmount": "0",
"orderTypeCode": "order",
"isPaid": true,
"perceptionAmount": "0",
"notes": "Orden creada desde POS",
"orderState": "LISTO PARA SURTIR",
"party": {
"code": "22000111",
"firstName": "Gustavo",
"lastName": "Morales",
"email": "[email protected]",
"typeCode": "PRS",
"identifier": "22000111",
"partyContactMethods": [
{
"name": "casa",
"address": {
"firstLine": "avenida siempre viva 762",
"cityCode": "SLU_0038",
"stateCode": "SLU",
"countryCode": "ARG"
},
"emailAddress": "[email protected]",
"telephone": {}
},
{
"name": "prueba",
"address": {
"firstLine": "11 de septiembre",
"cityCode": "BSAS_090",
"stateCode": "BSAS",
"countryCode": "ARG"
},
"telephone": {}
}
]
},
"detail": [
{
"itemCode": "A123",
"storeCode": "1",
"locationCode": "DEP1",
"description": "A123 con atributos",
"orderedQty": "1",
"unitPrice": "1000",
"deliveryOrPickup": "delivery",
"pickupLocationCode": "",
"pickupInformation": "INFORMACION",
"requiredDate": "2023-01-20 15:25:04",
"partyContactMethodName": "",
"priceModifiers": [],
"netAmount": "1000",
"serializedUnits": []
}
],
"transaction": [
{
"id": "63cadc800da2bb6195d61202",
"storeCode": "1",
"terminalCode": "125",
"operatorCode": "JuanO",
"trxNumber": 6,
"trxDate": "2023-01-20T15:25:04",
"billNumber": "TF B B-1994-00000283"
}
],
"payments": [
{
"tender": "Peso",
"amount": "1000",
"sellerName": "",
"authorizationCode": "",
"couponNumber": "",
"lotNumber": "",
"installments": "",
"referenceNumber": ""
}
]
}
]
}
Descripción de campos de la respuesta
| Campo | Tipo | Descripción | Ejemplos | |
|---|---|---|---|---|
| externalNumber | String | Código de la orden del originante | 000001 | |
| internalNumber | String | Nro de pedido interno de BRIDGE | bridge000014 | |
| notes | String | Comentarios sobre la orden | Enviar por la tarde | |
| creationDate | String | Fecha de creación | 2020-07-01 08:51:00 Formato: yyyy-MM-dd HH:mm:ss | |
| channelCode | String | Canal de Origen | Este código será asignado por Napse de acuerdo al canal. | |
| originStore | String | Tienda que origina la orden | Unicenter | |
| currencyCode | String | Moneda | peso | |
| netAmount: | Number | Monto final del pedido, incluyendo el costo de entrega, menos los descuentos. | 1000 | |
| manualDiscountAmount | Number | Importe de descuentos a la transacción | Informar 0 si no existe ninguno | |
orderTypeCode | String | Codigo del tipo de orden | Por default: 'web' | |
isPaid | Boolean | Indicador de cobrado | ||
| percepttionAmount | Number | Monto de percepciones (impuesto del cliente en Argentina) | ||
| externalSellerID | String | ID del vendedor externo del pedido | ||
| externalSellerName | String | Nombre del vendedor externo del pedido | ||
| orderState | String | Estado del pedido | Ej: LISTO PARA SURTIR (a partir de v7.8) | |
| party (cliente asociado a la transacción). Requerido | ||||
| code | String | Código del cliente | 024314537 | |
| firstName | String | Nombre del Cliente | Martin | |
| lastName | String | Apellido del cliente | Malievac | |
| String | Correo del cliente | [email protected] | ||
| identifier | String | Número de documento | 24314537 | |
| partyContactMethods (direcciones del cliente) | ||||
| name | String | Nombre del método de contacto | Personal, Trabajo, etc. Este dato debe ser único, en caso de encontrarse repetido dentro de la lista, se informará: "No puede realizar un pedido con dos métodos de contacto con el mismo nombre" | |
| address.firstLine | String | Calle y número | Almafuerte 1000 | |
| address.secondLine | String | Otra info | Piso 10, Puerta 12 | |
| address.cityCode | String | Ciudad | MUN. Importante: código del listado de ciudades existentes, ver servicio city/all | |
| address.stateCode | String | Provincia | BsAs. Importante: código del listado de provincias existentes, ver servicio state/all | |
| address.countryCode | String | Pais | ARG. Importante: código del listado de países existentes, ver servicio country/all | |
| emailAddress | String | Email asociado a ese método de contacto | Se puede poner el principal si no es diferente | |
| telephone.countryCode | String | código de País | 54 | |
| telephone.areaCode | String | código de area | 11 | |
| telephone.telephoneNumber | String | número de teléfono | 36637777 | |
| extensionNumber | String | extensión | 066 | |
| detail (Detalle del pedido). Debe haber al menos | ||||
| itemCode | String | SKU del producto | SAM01 | |
| storeCode | String | Código de tienda desde donde saldrá el stock. | UNICENTER | |
| locationCode | String | Código de depósito desde donde saldrá el stock | VENTAS2 | |
| description | String | Descripción del producto | Samsung Galaxy S2 | |
| orderedQty | Number | Cantidad pedida | 1 | |
| fulfilledQty | Number | Cantidad surtida/controlada | 1 | |
| units | Number | Cantidad de unidades de la presentación asociada al código de barras (si fue ingresado) | 6 | |
| magnitude | Number | Magnitud (si el item requiere de peso, longitud) | 1,5 | |
| barcode | String | Código de barras utilizado para el pedido | 771234567891 | |
| unitPrice | Number | Precio unitario | 1000 | |
| deliveryOrPickup | String | Si la linea será con retiro en tienda o envío | delivery o pickup | |
| pickupLocationCode | String | Código de la locación en donde retirará | UNICENTER. El código debe estar estipulado. Ver servicio customerOrderPickupLocation/all | |
| pickupInformation | String | Descripción de quien hará el retiro | Juan Perez retirará, teléfono: XXXXX | |
| partyContactMethodName | String | Dirección de envío del cliente | Personal, debe existir entre una de las direcciones informadas para el cliente | |
| serializedUnits: en caso de que BRIDGE ya haya surtido el pedido en las tiendas, se detallan los números de serie | ||||
| SerialNumber | String | Nro de serie del item | Requerido sólo si se envía lista de series | |
| importDocNumber | String | Nro de despacho | ||
| customsNumber | String | Aduana | ||
| customsDate | String | Fecha de despacho | ||
| unitCount | Number | Cantidad | Requerido sólo si se envía lista de series | |
| transaction: este campo se usa en el caso de que la transacción haya sido facturada en bridge, no se usa en caso de que la orden venga de canales externos. | ||||
| id | String | El ID de mongodb de la transacción | ||
| storeCode | String | El código de tienda BRIDGE | ||
| terminalCode | String | El código de terminal BRIDGE | ||
| operatorCode | String | El código de operador BRIDGE | ||
| trxNumber | Number | El número de transacción BRIDGE | ||
trxDate | Date | La fecha de la transacción BRIDGE | Formato: yyyy-MM-dd HH:mm:ss | |
| billNumber | String | Tipo y nro de comprobante (a partir de v7.8) | Ejemplo "billNumber": "TF B B-1994-00000283" "NC B B-1994-00000284" | |
| .priceModifiers : descuentos otorgados a los productos, esto se encuentra dentro de la colección detail | ||||
| percent | Number | Porcentaje de descuento | 5 | |
| amount | Number | Monto de descuento | 1000 | |
| reasonText | String | Razón del descuento | Oferta del día | |
| payments (pagos asociados al pedido) | ||||
| tender | String | Código del medio de pago | peso. Importante: ver servicio tender/all para los códigos de pago permitidos. | |
| amount: | Number | Monto del pago | 1000 | |
| planDescriptor | String | Descripción del plan de pagos elegido | 9 meses sin intereses | |
| sellerName | String | Nombre de la entidad | ||
| authorizationCode | String | Codigo de autorización de la tarjeta |
| |
| couponNumber | String | Número de cupón | 1 | |
| lotNumber | String | Número de Lote | 1 | |
| installments | String | Cuotas | 9 | |
| referenceNumber | String | Referencia de la tarjeta | 44444444, en el caso de MercadoPago, allí va el id de la cuenta. | |
Respuesta del servicio:
- ack es el código de respuesta
- message: descripción del error en caso de existir.
Código de Error | Descripción |
|---|---|
| 0 | Status 200 ack = 0 La operación se ha ejecutado con éxito e informa el pedido encontrado |
Ejemplos de otras respuestas :
Status 500
{
"message": "La orden no existe en la base de datos."
}
{
"message": "No hay registros con el canal ODV2."
}
{
"message": "Debe enviar por lo menos 1 filtro."
}