Este servicio permitirá crear desde fuentes externas, un pedido.
- Se invoca de la siguiente manera: https://[direccion_ip]:[puerto]/order/create - Ejemplo: https://200.100.100.100:8090/order/create
- Se invoca via POST.
Informações | ||
---|---|---|
| ||
|
Ejemplo del JSON a enviar:
Bloco de código | ||
---|---|---|
| ||
{ "externalOrderNumber": "00001", "notes": "", "creationDate": "2020-07-01 08:51:00", "channelCode": "web", "currencyCode": "peso", "customerOrderAmount": 3000, "shipmentPrice": 1000, "party": { "code": "0243145377", "firstName": "Martin", "lastName": "Malievac", "email": "[email protected]", "typeCode": "Person", "identificationType": 1, "identifier": "24314537", "birthYearNumber": 1975, "birthMonthNumber": 1, "birthDayNumber": 3, "partyContactMethods": [ { "name": "Personal", "address": { "firstLine": "Almafuerte 4430", "secondLine": "Puerta 10, Piso 2", "cityCode": "MUN", "stateCode": "BsAs", "countryCode": "AR", "postalCode": "1605" }, "emailAddress": "[email protected]", "telephone": { "countryCode": "54", "areaCode": "11", "telephoneNumber": "36637487", "extensionNumber": "-", } }, { "name": "Trabajo", "address": { "firstLine": "Venezuela 3158", "secondLine": "Piso 6. Interno 066", "cityCode": "VMA", "stateCode": "BsAs", "countryCode": "AR", "postalCode": "1603" }, "emailAddress": "[email protected]", "telephone": { "countryCode": "54", "areaCode": "11", "telephoneNumber": "41100000", "extensionNumber": "066", } }, ] }, "detail": [ { "itemCode": "ABC001", "store": "UNICENTER", "location": "ventas2", "description": "SAMSUNG S10", "orderedItemCount": 1, "saleUnitRetailPriceAmount": 1000, "deliveryOrPickup": "delivery", "deliveryCompany": "Andreani", "pickupLocationCode": "-", "requiredDeliveryDate": "2020-07-10 00:00:00" "partyContactMethodName": "Personal" "priceModifiers": [ { "percent": 5, "amount": 50, "reasonText": "Segunda Unidad" } ] }, { "itemCode": "CDE001", "store": "UNICENTER", "location": "ventas2", "description": "SAMSUNG S20", "orderedItemCount": 2, "saleUnitRetailPriceAmount": 2000, "deliveryOrPickup": "pickup", "deliveryCompany": "-", "pickupLocationCode": "UNICENTER", "pickupInformation": "Retira Juan Perez. Teléfono: 15-5555-5555..", "requiredDeliveryDate": "2020-07-10 00:00:00" }, ], "payments": [ { "tender": "peso", "amount": 2000, }, { "tender": "VI", "amount": 2950, "planDescriptor": "9 meses sin intereses", "sellerName": "MIRGOR", "cardAuthorizationCode": "1", "cardCouponNumber": "1", "cardLotNumber": "1", "installments": "9", "cardReferenceNumber": "1" } ] } |
Descripción de los campos:
Importante: los campos que poseen este ícono , son valores tipificados que deben respetar los valores expuestos por BRIDGE en sus servicios.
Campo | Tipo | Descripción | Requerido | Ejemplos | Validación (código) | |
---|---|---|---|---|---|---|
externalOrderNumber | String | Código de la orden del originante | SI | 000001 | 991: el código de orden es requerido. | |
notes | String | Comentarios sobre la orden | NO | Enviar los dias soleados | ||
creationDate | String | Fecha de creación | SI | 2020-07-01 08:51:00 Formato: yyyy-MM-dd HH:mm:ss | 992: la fecha de creación es requerida. | |
channelCode | String | Canal de Origen | SI | magento: este código será asignado por Napse de acuerdo al canal. | 993: el canal de origen es requerido. | |
currencyCode | String | Moneda | SI | peso | 994: la moneda es requerida. | |
customerOrderAmount: | Number | Monto final del pedido | SI | 1000 | 995: el monto final del pedido es requerido. | |
shipmentPrice | Number | Monto de envío del pedido | NO | 0 | ||
party (cliente asociado a la transacción) | ||||||
code | String | Código del cliente | SI | 024314537 | 996: el código del cliente es requerido. | |
firstName | String | Nombre del Cliente | SI | Martin | 997: el nombre de la persona o empresa, es requerido. | |
lastName | String | Apellido del cliente | SI (solo si es typeCode = 'Person') | Malievac | 998: el apellido es requerido para clientes de tipo "Person" | |
String | Correo del cliente | SI | [email protected] | 999: el correo electrónico es requerido. | ||
identificationType | Number | Tipo de documento | SI | 1, valores posibles: 1: DNI | 1000: el tipo de identificación es requerido. | |
identifier | String | Número de documento | SI | 24314537 | 1001: el número de identificación es requerido. | |
birthYearNumber | Number | Año de nacimiento | NO | 1975 | ||
birthMonthNumber | Number | Mes de nacimiento | NO | 3 | ||
birthDayNumber | Number | Día de nacimiento | NO | 1 | ||
partyContactMethods (direcciones del cliente). Son requeridas cuando al menos un ítem está marcado como delivery | ||||||
name | String | Nombre del método de contacto | SI | Personal, Trabajo, etc. | 1002: el nombre del método de contacto es requerido. | |
address.firstLine | String | Calle y número | SI | Almafuerte 1000 | 1003: la dirección es requerida. | |
address.secondLine | String | Otra info | NO | Piso 10, Puerta 12 | ||
address.cityCode | String | Ciudad | SI | MUN. Importante: código del listado de ciudades existentes, ver servicio city/all | 1004: la ciudad es requerida. | |
address.stateCode | String | Provincia | SI | BsAs. Importante: código del listado de provincias existentes, ver servicio state/all | 1005: la provincia es requerida. | |
address.countryCode | String | Pais | SI | ARG. Importante: código del listado de países existentes, ver servicio country/all | 1006: el país es requerido. | |
emailAddress | String | Email asociado a ese método de contacto | SI | Se puede poner el principal si no es diferente | 1007: el correo electrónico en el método de contacto, es requerido. | |
telephone.countryCode | String | código de País | SI | 54 | 1008: el código de país del teléfono es requerido. | |
telephone.areaCode | String | código de area | SI | 11 | 1009: el código de área del teléfono es requerido. | |
telephone.telephoneNumber | String | número de teléfono | SI | 36637777 | 1010: el número de teléfono es requerido. | |
extensionNumber | String | extensión | NO | 066 | ||
detail (Detalle del pedido). Debe haber al menos | ||||||
itemCode | String | SKU del producto | SI | SAM01 | 1011: el código del producto es requerido. | |
storeCode | String | Código de tienda desde donde saldrá el stock. | SI | UNICENTER | 1012: el código de tienda del stock es requerido. | |
locationCode | String | Código de depósito desde donde saldrá el stock | NO | VENTAS2 | Si no se informa, toma el default del ítem. | |
description | String | Descripción del producto | SI | Samsung Galaxy S2 | 1013: la descripción del producto es requerida. | |
orderedItemCount | Number | Cantidad pedida | SI | 1 | 1014: la cantidad pedida es obligatoria. | |
saleUnitRetailPriceAmount | Number | Precio unitario | SI | 1000 | 1015: el precio unitario es requerido. | |
deliveryOrPickup | String | Si la linea será con retiro en tienda o envío | SI | delivery o pickup | 1016: es requerido informar si la línea es para delivery o retiro. | |
deliveryCompany | String | Nombre de la compañía que realizará el envío | NO | |||
pickupLocationCode | String | Código de la locación en donde retirará | SI (si eligió la opción pickup) | UNICENTER. El código debe estar estipulado. Ver servicio customerOrderPickupLocation/all | 1017: el código del punto de retiro es requerido. | |
pickupInformation | String | Descripción de quien hará el retiro | Si, si eligió la opción pickup | Juan Perez retirará, teléfono: XXXXX | 1018: si eligió la opción de retiro, indicar los datos de la persona que hará el retiro. | |
requiredDeliveryDate | String | Fecha de envío requerida | NO | Formato: yyyy-MM-dd HH:mm:ss | ||
partyContactMethodName | String | Dirección de envío del cliente | SI (si eligió como opción delivery) | Personal, debe existir entre una de las direcciones informadas para el cliente | 1019: el nombre de la dirección de envío al cliente es inválido. | |
retail.priceModifiers : descuentos otorgados a los productos, esto se encuentra dentro de la colección detail | ||||||
percent | Number | Porcentaje de descuento | SI (si es informada la línea) | 5 | 1020: si informa un descuento, debe informar el porcentaje. | |
amount | Number | Monto de descuento | SI (si es informada la línea) | 1000 | 1021: si informa un descuento, debe informar el monto. | |
reasonText | String | Razón del descuento | SI | Oferta del día | 1022: si informa descuento, debe informar la razón. | |
payments (pagos asociados al pedido) | ||||||
tender | String | Código del medio de pago | SI | peso. Importante: ver servicio tender/all para los códigos de pago permitidos. | 1022: debe informar un medio de pago válido. | |
amount: | Number | Monto del pago | SI | 1000 | 1022: debe informar el monto del pago. | |
planDescriptor | String | Descripción del plan de pagos elegido | SI (para pagos con tarjeta) | 9 meses sin intereses | 1023: debe informar el plan de pagos. | |
sellerName | String | Nombre de la entidad | SI (para pagos con tarjeta) | Mirgor | 1024: debe informar el nombre del merchant. | |
cardAuthorizationCode | String | Codigo de autorización de la tarjeta | SI (para pagos con tarjeta) | 1 | 1025: debe informar el código de autorización de la tarjeta. | |
cardCouponNumber | String | Número de cupón | SI (para pagos con tarjeta) | 1 | 1026: debe informar el número de cupón | |
cardLotNumber | String | Número de Lote | SI (para pagos con tarjeta) | 1 | 1027: debe informar número de lote. | |
installments | String | Cuotas | SI (para pagos con tarjeta) | 9 | 1028: debe informar la cantidad de cuotas. | |
cardReferenceNumber | String | Referencia de la tarjeta | SI (para pagos con tarjeta) | 44444444 | 1029: debe informar código de referencia de la tarjeta. |
Respuesta del servicio:
Bloco de código |
---|
{ "ack": 0, "message": "-", "internalOrderNumber": "0000001" } |
- ack es el código de respuesta, en caso de ser un error, mirar tabla a continuación.
- message: descripción del error en caso de existir.
- internalOrderNumber: en caso de haberse creado con éxito, el número de orden asignado por Bridge.
Código de Error | Descripción |
---|---|
0 | El pedido ha ingresado con éxito. |
900 | El pedido no posee stock suficiente en la/s tienda/s para ser surtido. |
901 | Debe informar un cliente. |
902 | Debe informar para el cliente, al menos una dirección de envío. |
903 | Debe informar al menos un producto en el pedido. |
904 | La sumatoria de los pagos, debe ser igual al monto del pedido. |
905 | No puede realizar un pedido que sea surtido de diferentes tiendas. |
9999 | Error desconocido |