Te presentamos la documentación de nuestras APIs donde podrás ver la especificación de nuestros métodos para integrarte y los ambientes con los que contamos.
Ambientes
SANDBOX
Estado: Activo
PRODUCCIÓN
Estado: Activo
Estructura
ServiceType: Tipo de servicio. (enum string)
- 'PP' -> Punto pickit/Domicilio/Devolución
- 'SP' -> Store Pickup
- 'PL' -> Locker
- 'ST' -> Stock
- 'SM' -> SameDay
- 'DOM' -> Drop Off Market Place
WorkflowTag: Workflow de la transacción. (enum string)
- 'dispatch' -> Envío punto/domicilio
- 'refund' -> Devolución
- 'restocking' -> Reposición de stock
- 'sameDay' -> Mismo día
- 'dropoffmk'-> Drop Off Marketplace
OperationType: Tipo de operación. (enum int)
- 1 -> a punto (toPoint)
- 2 -> a domicilio (toHome)
- 3 -> retailer (toRetailer) - dropoffmk
Sla: Acuerdo de nivel de servicio. (enum int)
- 1 -> Estándar
- 2 -> Urgente
- 3 -> Prioritario
- 4 -> Pactado con cliente
- 5 -> Warehouse
PointId: Para envío a punto pickit, devolución, locker, stock y reposición de stock.
Nota: Se obtiene del response al api map/point: "idService".
FirstState: Estado inicial en la que se impone una transacción
- 1 -> Retailer
- 2 -> Disponible para colecta (recomendado)
- 3 -> Courier
- 4 -> Devolución
- 5 -> Devolución programada
weight: Unidad de medida de peso del producto (enum string)
- 'kg' -> Kilogramos
- 'g' -> Gramos
length: Unidad de medida del largo del producto (enum string)
- 'm' -> Metros
- 'cm' -> Centímetros
height: Unidad de medida de altura del producto (enum string)
- 'm' -> Metros
- 'cm' -> Centímetros
width: Unidad de medida de ancho del producto (enum string)
- 'm' -> Metros
- 'cm' -> Centímetros
Objetos/variables:
TransactionPetition:
- budgetPetition: [BudgetPetition]
- firstState (*): [FirstState] estado inicial de la transacción
- trakingInfo: [trakingInfo]
- packageAmount: [integer] número de bultos que tendrá la transacción
- deliveryTimeRange: [deliveryTimeRange]
- refoundProbableCause: [string] variable para devolución
- products: [Products]
- observations: [string] observaciones de la transacción
- extraData: [extraData]
- schedule: [schedule]
- paymentMethod: [integer]
- referenceCode: [string]
BudgetPetition(*):
- serviceType (*): [ServiceType]
- operationType (*): [OperationType]
- retailer (*): [Retailer]
- products (*): [Products[]]
- retailerAlternativeAddress: [retailerAlternativeAddress]
- retailerAlternativeContact: [retailerAlternativeContact]
- sla (*): [Sla]
- customer (*): [Customer]
- pointId: [PointId]
Products (*):
- name (*): [string] nombre del producto
- weight (*): [weight] peso del producto
- length: [length] largo del producto
- height: [height] alto del producto
- width: [width] ancho del producto
- price (*): [float] precio del producto
- sku: [string]
- amount: [int]
Customer (*):
- name (*): [string] nombre del cliente.
- lastName (*): [string] apellido del cliente
- pid (*): [string] documento de identidad (DNI)(INE)...
- email (*): [string] direccion de mail del cliente
- phone: [string] numero de telefono
- address (*): [Address] dirección del consumidor final
Address (*):
- postalCode: [string] código postal del consumidor final
- address: [string] dirección del consumidor final (calle/departamento/número...)
- city: [string] ciudad
- province: [string] provincia
retailerAlternativeAddress:
Nota: se usa cuando se tienen 2 o más origenes
- postalCode: [string] código postal de dirección alternativa de colecta
- address(*): [string] dirección alternativa de colecta
- city (*): [string] ciudad alternativa de colecta
- province(*): [string] provincia alternativa de colecta
- latitud: [string]
- longitud: [string]
- streetNumber: [string]
- country:[string]
- floor: [string]
- apartment: [string]
- instructions: [string]
- locality: [string]
- observations: [string]
retailerAlternativeContact:
Nota: se usa sólo para flujo sameday d2d
- id: [integer]
- name: [string] nombre del contacto alternativo
- pid: [string] pid del contacto alternativo
- email: [string] email del contacto alternativo
- phone: [string] teléfono del contacto alternativo
trakingInfo (*):
- order (*): [string] número de orden (puede enviarse vacío)
- shipment: [string] Nro. de seguimiento del pedido del courier logístico. Aplica solo para estado inicial 3.
deliveryTimeRange:
- start: [string($date-time)] fecha y hora inicial
- end: [string($date-time)] fecha y hora final
- orderType: [string]
extraData:
Nota: objeto usado sólo para flujo sameday d2d
- sender: [string] nombre de quien envía el paquete
- customField: [string]
- orderType: [string]
- orderName: [string]
schedule:
- date: [string($date-time)] fecha programada
- time: [string($date-time)] hora programada
POST /apiV2.1/budget
Nombre del Método: budget
Objetivo / Descripción: Este método se debe utilizar para generar una cotización de una transacción en pickit.
Detalle: Como primera instancia de comunicación, se solicitarán los datos que se encuentran en el sitio del retailer y la especificación del tipo de transacción a realizar. Esto se utilizará luego para generar la cotización y para identificar los puntos pickit disponibles para los productos seleccionados de ese retailer. Se devolverá aquí la URL para abrir el Lightbox y el identificador (uuid) de la cotización generada.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere cotizar. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se deberán enviar los datos de los artículos asociados a la compra y el detalle del tipo de transacción a cotizar. Opcionalmente se enviará la dirección que puso el Consumidor en el CheckOut para tomarla como dirección inicial de los puntos pickit.
serviceType | Obligatorio. Se debe indicar el tipo de servicio a cotizar para crear la transacción. |
workflowTag | Obligatorio. El workflow a cotizar; el mismo se relaciona con el servicio, ya que uno puede contener múltiples workflows. |
operationType | Obligatorio. Tipo de operación. |
retailer | Obligatorio. El comercio que quiere realizar la transacción. |
retailer.tokenId | Obligatorio. Token de seguridad otorgado por pickit, corresponde al retailer que quiere cotizar. |
products | Array de datos de los productos a cotizar la transacción. |
products.name | Obligatorio. Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Obligatorio. Unidad del peso del producto. |
products.weight.unit | Obligatorio. Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Obligatorio. Unidad del largo del producto. |
products.length.unit | Obligatorio. Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Obligatorio. Unidad de la altura del producto. |
products.height.unit | Obligatorio. Unidad de medida de la altura del producto. |
products.width | Ancho del producto. |
products.width.amount | Obligatorio. Unidad del ancho del producto. |
products.width.unit | Obligatorio. Unidad del ancho del producto. |
products.price | Precio del producto. |
products.sku | SKU del producto. |
products.amount | Cantidad de producto. |
retailerAlternativeAddress | Dirección de colecta alternativa. En el caso de completar un campo, se deben completar todos. |
retailerAlternativeAddress.postalCode | Obligatorio. Código postal. |
retailerAlternativeAddress.address | Obligatorio. Calle y número. |
retailerAlternativeAddress.city | Obligatorio. Localidad/Ciudad. |
retailerAlternativeAddress.province | Provincia |
sla | SLA a utilizar para la transacción. |
sla.id | Obligatorio. Id del SLA a utilizar. |
customer | Datos del consumidor final al que corresponderá la transacción. |
customer.name | Obligatorio. Nombre. |
customer.lastName | Obligatorio. Apellido. |
customer.lastName | Obligatorio. Apellido. |
customer.pid | Obligatorio. Documento de identidad. |
customer.email | Obligatorio. Correo. |
customer.phone | Teléfono. |
customer.address | Dirección del consumidor final. Obligatorio para envío y devolución a domicilio. |
customer.address.postalCode | Código postal. |
customer.address.address | Obligatorio. Calle y número. |
customer.address.city | Obligatorio. Localidad/Ciudad. |
customer.address.province | Provincia |
pointId | Id del punto pickit/locker a cotizar. En el caso de enviarlo, se mostrará el precio de la transacción en la respuesta. |
curl --location -g --request POST 'https://{{ambiente}}/index.php/apiV2.1/budget' \
--header 'apiKey;' \
--header 'token;' \
--header 'Content-Type: application/json' \
--data-raw '{
"serviceType": "PP",
"workflowTag": "dispatch",
"operationType": 1,
"retailer": {
"tokenId": ""
},
"products": [
{
"name": "string",
"weight": {
"amount": 0,
"unit": "kg"
},
"length": {
"amount": 0,
"unit": "cm"
},
"height": {
"amount": 0,
"unit": "cm"
},
"width": {
"amount": 0,
"unit": "cm"
},
"price": 100,
"sku": "string",
"amount": 1
}
],
"retailerAlternativeAddress": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
},
"sla": {
"id": 1
},
"customer": {
"name": "string",
"lastName": "string",
"pid": "string",
"email": "string",
"phone": "string",
"address": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
}
},
"pointId": 0
}'
pickit le retornará el identificador de cotización generado y devolverá una URL asociada al mismo para poder abrir el lightbox.
price | Valor de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
totalPrice | Precio total de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
tax | Impuesto de la cotización. |
uuid | Identificador de la cotización. |
urlMap | Url del lightbox de pickit. |
mapImageUrl | Url de la imagen del punto ubicado en el mapa. |
products | Array de datos de los productos cotizados. |
products.name | Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Unidad del peso del producto. |
products.weight.unit | Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Unidad del largo del producto. |
products.length.unit | Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Unidad de la altura del producto. |
{
"price": number($float),
"totalPrice": number($float),
"tax": number($float),
"urlMap": "string",
"mapImageUrl": "string",
"products": [
{
"name": "string",
"uuid": null,
"weight": {
"amount": 0,
"unit": "g"
},
"length": {
"amount": 0,
"unit": "cm"
},
"height": {
"amount": 0,
"unit": "cm"
},
"width": {
"amount": 0,
"unit": "cm"
},
"price": 0,
"sku": "string",
"amount": 1,
"useSerialNumber": (boolean),
"serialNumber": "string",
"image": "string"
}
],
"uuid": "string",
"point": {
"name": "string",
"address": "string"
},
"hours": [
{
"days": "string",
"start": "2019-09-12T12:42:13.146Z",
"end": "2019-09-12T12:42:13.146Z"
}
]
}
GET /apiV2/budget/{uuid}
Nombre del Método: budget
Objetivo / Descripción: Este método se debe utilizar para obtener información de la cotización.
Detalle: Se muestra la información del precio de la cotización y del punto seleccionado.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit devuelve la información de la cotización.
price | Valor de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
totalPrice | Precio total de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
tax | Impuesto de la cotización. |
uuid | Identificador de la cotización. |
urlMap | Url del lightbox de pickit. |
mapImageUrl | Url de la imagen del punto ubicado en el mapa. |
products | Array de datos de los productos cotizados. |
products.name | Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Unidad del peso del producto. |
products.weight.unit | Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Unidad del largo del producto. |
products.length.unit | Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Unidad de la altura del producto. |
products.height.unit | Unidad de medida de la altura del producto. |
products.width | Ancho del producto. |
products.width.amount | Unidad del ancho del producto. |
products.width.unit | Unidad del ancho del producto. |
products.price | Precio del producto. |
products.sku | SKU del producto. |
products.amount | Cantidad de producto. |
uuid | Identificador de la cotización. |
point | Datos del punto (en el caso de que haya sido enviado el dato en el request). |
point.name | Nombre del punto. |
point.address | Calle y nro. del punto. |
hours | Horarios del punto |
hours.days | Días operativos. |
hours.start | Hora de apertura. |
hours.end | Hora de cierre. |
{
"price": number($float),
"totalPrice": number($float),
"tax": number($float),
"urlMap": "string",
"mapImageUrl": "string",
"products": [
{
"name": "string",
"uuid": null,
"weight": {
"amount": 0,
"unit": "g"
},
"length": {
"amount": 0,
"unit": "cm"
},
"height": {
"amount": 0,
"unit": "cm"
},
"width": {
"amount": 0,
"unit": "cm"
},
"price": 0,
"sku": "string",
"amount": 1,
"useSerialNumber": (boolean),
"serialNumber": "string",
"image": "string"
}
],
"uuid": "string",
"point": {
"name": "string",
"address": "string"
},
"hours": [
{
"days": "string",
"start": "2019-09-12T12:42:13.146Z",
"end": "2019-09-12T12:42:13.146Z"
}
]
}
POST /apiV2/transaction/{uuid}
Nombre del Método: transaction
Objetivo / Descripción: Este método se debe utilizar para imponer una transacción en pickit a través de una cotización previamente generada.
Detalle:
Una vez seleccionado el punto, se debe imponer la transacción en pickit con el identificador de la cotización. Este servicio creará la misma en el sistema.
En la url debe introducirse el “uuid” que corresponde al identificador de la cotización previamente generada.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se deberán enviar el resto de los datos necesarios para realizar la imposición.
firstState | Obligatorio. Estado inicial a crear la transacción. |
trackingInfo | Obligatorio. Información de seguimiento del pedido. |
trackingInfo.order | Obligatorio. Nro. de seguimiento del pedido para el retailer. |
trackingInfo.shipment | Nro. de seguimiento del pedido del courier logístico. Aplica solo para estado inicial 3. |
packageAmount | Cantidad de bultos de la transacción (se toma por defecto 1). |
deliveryTimeRange | Rango horario (aplica únicamente para devoluciones a domicilio). |
deliveryTimeRange.start | Hora desde la cual el courier puede retirar la devolución. |
deliveryTimeRange.end | Hora hasta la cual el courier puede retirar la devolución. |
refundProbableCause | Motivo de la devolución (aplica solo para devolución a punto y domicilio). |
observations | Observaciones adicionales sobre la transacción. |
curl --location -g --request POST 'https://{{ambiente}}/apiV2/transaction/{uuid}' \
--header 'apiKey;' \
--header 'token;' \
--header 'Content-Type: application/json' \
--data-raw '{
"firstState": 1,
"trakingInfo": {
"order": "3354",
"shipment": ""
},
"packageAmount": 1,
"refoundProbableCause": "",
"observations": ""
}'
pickit le retornará el nro. de seguimiento de la transacción y tracking de la misma.
transactionId | Identificador de la transacción. |
pickitCode | Nro. de seguimiento pickit. |
urlTracking | Url del tracking de la transacción. |
{
"transactionId": 0,
"pickitCode": "string",
"urlTracking": "string"
}
POST /apiV2.1/transaction
Nombre del Método: transaction
Objetivo / Descripción: Este método se debe utilizar para imponer una transacción en pickit simplificada (en el caso de no utilizar los servicios de cotización y selección de punto).
Detalle: Se envían en un solo servicio todos los datos de la transacción y se genera la misma en el sistema.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se deberán enviar el resto de los datos necesarios para realizar la imposición.
serviceType | Obligatorio. Se debe indicar el tipo de servicio a cotizar para crear la transacción. |
workflowTag | Obligatorio. El workflow a cotizar; el mismo se relaciona con el servicio, ya que uno puede contener múltiples workflows. |
operationType | Obligatorio. Tipo de operación. |
retailer | Obligatorio. El comercio que quiere realizar la transacción. |
retailer.tokenId | Obligatorio. Token de seguridad otorgado por pickit, corresponde al retailer que quiere cotizar. |
products | Array de datos de los productos a cotizar la transacción. |
products.name | Obligatorio. Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Obligatorio. Unidad del peso del producto. |
products.weight.unit | Obligatorio. Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Obligatorio. Unidad del largo del producto. |
products.length.unit | Obligatorio. Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Obligatorio. Unidad de la altura del producto. |
products.height.unit | Obligatorio. Unidad de medida de la altura del producto. |
products.width | Ancho del producto. |
products.width.amount | Obligatorio. Unidad del ancho del producto. |
products.width.unit | Obligatorio. Unidad del ancho del producto. |
products.price | Precio del producto. |
products.sku | SKU del producto. |
products.amount | Cantidad de producto. |
retailerAlternativeAddress | Dirección de colecta alternativa. En el caso de completar un campo, se deben completar todos. |
retailerAlternativeAddress.postalCode | Obligatorio. Código postal. |
retailerAlternativeAddress.address | Obligatorio. Calle y número. |
retailerAlternativeAddress.city | Obligatorio. Localidad/Ciudad. |
retailerAlternativeAddress.province | Provincia |
sla | SLA a utilizar para la transacción. |
sla.id | Obligatorio. Id del SLA a utilizar. |
customer | Datos del consumidor final al que corresponderá la transacción. |
customer.name | Obligatorio. Nombre. |
customer.lastName | Obligatorio. Apellido. |
customer.pid | Obligatorio. Documento de identidad. |
customer.email | Obligatorio. Correo. |
customer.phone | Teléfono. |
customer.address | Dirección del consumidor final. Obligatorio para envío y devolución a domicilio. |
customer.address.postalCode | Código postal. |
customer.address.address | Obligatorio. Calle y número. |
customer.address.city | Obligatorio. Localidad/Ciudad. |
customer.address.province | Provincia |
pointId | Id del punto pickit/locker. Obligatorio para envio a punto pickit, locker y stock y reposición de stock. |
firstState | Obligatorio. Estado inicial a crear la transacción. |
trackingInfo | Obligatorio. Información de seguimiento del pedido |
trackingInfo.order | Obligatorio. Nro. de seguimiento del pedido para el retailer. |
trackingInfo.shipment | Nro. de seguimiento del pedido del courier logístico. Aplica solo para estado inicial 3. |
packageAmount | Cantidad de bultos de la transacción (se toma por defecto 1). |
deliveryTimeRange | Rango horario (aplica únicamente para devoluciones a domicilio). |
deliveryTimeRange.start | Hora desde la cual el courier puede retirar la devolución. |
deliveryTimeRange.end | Hora hasta la cual el courier puede retirar la devolución. |
refundProbableCause | Motivo de la devolución (aplica solo para devolución a punto y domicilio). |
observations | Observaciones adicionales sobre la transacción. |
curl --location -g --request POST 'https://{{ambiente}}/apiV2.1/transaction' \
--header 'apiKey;' \
--header 'token;' \
--header 'Content-Type: application/json' \
--data-raw '{
"budgetPetition": {
"serviceType": "PP",
"workflowTag": "dispatch",
"operationType": 2,
"retailer": {
"tokenId": "string"
},
"products": [{
"name": "string",
"weight": {
"amount": 1,
"unit": "kg"
},
"length": {
"amount": 1,
"unit": "cm"
},
"height": {
"amount": 1,
"unit": "cm"
},
"width": {
"amount": 1,
"unit": "cm"
},
"price": 1,
"sku": "1",
"amount": 1
}],
"retailerAlternativeAddress": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
},
"sla": {
"id": 1
},
"customer": {
"name": "string",
"lastName": "string",
"pid": "string",
"email": "string",
"phone": "string",
"address": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
}
},
"pointId":1
},
"firstState": 2,
"trakingInfo": {
"order": "string"
},
"packageAmount": 1,
"observations": ""
}'
pickit le retornará el valor acorde al punto seleccionado, el nro de seguimiento y tracking de la transacción.
transactionId | Identificador de la transacción. |
pickitCode | Nro. de seguimiento pickit. |
urlTracking | Url del tracking de la transacción. |
price | Valor de la transacción. |
{
"transactionId": 0,
"pickitCode": "string",
"urlTracking": "string",
"price": 0
}
GET /apiV2/map/point
Nombre del Método: map/point
Objetivo / Descripción: Este método se debe utilizar para obtener la lista de puntos que tiene habilitados.
Detalle: Se muestra la información de cada punto.
Nota: De esta API, podemos obtener el pointId para TRANSACTION (SIMPLIFICADA), el cual debe de hacer match con el campo del response result.idService.
apiKey | Obligatorio. ApiKey otorgada por pickit, |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit devuelve el listado de los puntos con el detalle de cada uno.
result.id | Id del resultado. |
result.idService | Identificador del punto (acorde al servicio del mismo). |
result.name | Nombre del punto. |
result.serviceType | Servicio del punto. |
result.lat | Latitud de la ubicación del punto. |
result.lng | Longitud de la ubicación del punto. |
result.address | Dirección del punto. |
result.postalCode | Código postal del punto. |
result.location | Localidad del punto. |
result.province | Provincia del punto. |
attributes | - |
chain | Cadena asociada al punto pickit. |
categoryPoint | Categoría asociada al punto pickit. |
services | Servicios. |
services.id | Id del servicio pickit. |
services.type | Servicio que contempla el punto pickit. |
{
"result": [
{
"id": 2331,
"idService": 2248,
"name": "Tecnologia JP #2",
"serviceType": "PP",
"lat": 6.2467766,
"lng": -75.5700854,
"address": "Calle 46 #51a-26, Tecnologia JP #2 local 437 Medellín, Antioquia, Colombia",
"postalCode": "050015",
"location": "Medellín",
"province": "Antioquía",
"attributes": [],
"chain": "Red Pickit Medellin",
"categoryPoint": "Accesorios Informática",
"services": [
{
"id": 2248,
"type": "PP"
}
]
},
{
"id": 1376,
"idService": 1324,
"name": "Cibervoz",
"serviceType": "PP",
"lat": 6.2089436,
"lng": -75.5665935,
"address": "Calle 10 #36-51, Cibervoz Medellín, Antioquia, Colombia",
"postalCode": "050021",
"location": "Medellín",
"province": "Antioquía",
"attributes": [],
"chain": "Red Pickit Medellin",
"categoryPoint": "Kiosco",
"services": [
{
"id": 1324,
"type": "PP"
}
]
},
]
}
GET /apiV2/transaction/{transactionId}/label
Nombre del Método: label
Objetivo / Descripción: Este método se debe utilizar para obtener la/las etiqueta/s de la transacción ya creada en pickit.
Detalle: Devuelve la/las etiqueta/s de la transacción y los datos en el caso de querer crear una diferente.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit devuelve la/las etiqueta/s con los datos de la transacción en el caso de querer armar una propia.
customer.name | Nombre del cliente |
customer.lastName | Apellido del cliente |
pickitCode | Código pickit |
barcode | Cadena del código de barras |
pickitPoint.id | Id del punto pickit |
pickitPoint.address | Dirección del punto pickit |
retailer.name | Nombre del retailer |
retailer.responsable | Nombre del responsable del retailer |
retailer.address | Dirección del retailer |
retailer.postalCode | Código postal del retailer |
retailer.city | Ciudad del retailer |
retailer.province | Provincia del retailer |
categoryPoint | Categoría asociada al punto pickit. |
date | Fecha de creación |
url.barcode | URL hacía la imagen del código de barras |
url.label | URL hacía la/las etiquetas de la transacción |
trackinginfo.order | Número de orden de la transacción |
shipmentID | Número de seguimiento del Operador Logístico (sólo si se consulta en estado "disponible para colecta") |
operationType | Tipo de operación |
canalization | Canalizador de la provincia |
sla | Acuerdo del servicio |
serviceId | Id del servicio brindado |
{
"customer": {
"name": "string",
"lastname": "string"
},
"pickitCode": "string",
"barcode": "string",
"pickitPoint": {
"id": 0,
"address": "string"
},
"retailer": {
"name": "string",
"responsable": "string",
"address": "string",
"postalCode": "string",
"city": "string",
"province": "string"
},
"date": "2020-02-03T13:26:58.714Z",
"url": {
"barCode": "string",
"label": [
"string"
]
},
"trackinginfo": {
"order": "string"
},
"shipmentID": "string",
"operationType": "string",
"canalization": "string",
"sla": "string",
"serviceId": 0
}
PUT /apiV2/transaction/{transactionId}/state
Nombre del Método: /transaction/{transactionId}/state
Objetivo / Descripción: Este método se debe utilizar para ejecutar el “Ready to ship” sobre la transacción.
Detalle: Realiza el cambio de estado de la transacción a “Disponible para colecta” y realiza la notificación para retirar el paquete. En el mismo se puede informar si hubo algún cambio con la cantidad de bultos del paquete.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se debe enviar el nuevo estado, y de querer realizar el cambio de cantidad de bultos, el nro. que corresponde.
newState | Obligatorio. Siempre debe completarse con el valor “availableForDrop”, que corresponde al Disponible para colecta |
additional | Datos adicionales a agregarle a la transacción. |
additional.packageAmount | Este campo tomará por defecto el valor informado en la imposición de la cantidad de bultos. En el caso de querer modificarlo, se debe enviar la nueva cantidad, lo que actualizará la transacción y la cantidad de etiquetas. |
{
"newState":"availableForDrop",
"additional":{
"packageAmount": 1
}
}
pickit ejecuta el cambio de estado sobre la transacción a “Disponible para colecta”, y devuelve el id de la transacción si se ejecutó correctamente.
transactionId | Identificador de la transacción. |
{
"transactionId": 14589
}
DELETE /apiV2/retailer/transaction/{idTransaction}
Nombre del Método: /retailer/transaction/{idTransaction}
Objetivo / Descripción: Este método se debe utilizar para cancelar una transacción ya creada en pickit.
Detalle: Pasandole el id de la transacción, se cambia el status de la misma a “Cancelada”.
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit ejecuta el cambio de estado sobre la transacción a “Disponible para colecta”, y devuelve el id de la transacción si se ejecutó correctamente.
[]
- POST /apiV2.1/budget
- GET /apiV2/budget/{uuid}
- POST /apiV2/transaction/{uuid}
- GET /apiV2/transaction/
{transactionId}/label - PUT /apiV2/transaction/{transactionId}/state
- DELETE /apiV2/retailer/transaction
/{idTransaction} - GET /apiV2/map/point
- POST /apiV2.1/transaction
- GET /apiV2/transaction/{transactionId}/label
- PUT /apiV2/transaction/{transactionId}/state
- DELETE /apiV2/retailer/transaction
/{idTransaction}
Integración con mapa:
Integración simplificada:
Te presentamos la documentación de nuestras APIs donde podrás ver la especificación de nuestros métodos para integrarte y los ambientes con los que contamos.
Ambientes
SANDBOX
Estado: Activo
PRODUCCIÓN
Estado: Activo
-
keyboard_arrow_downEstructura
ServiceType: Tipo de servicio. (enum string)
- 'PP' -> Punto pickit/Domicilio/Devolución
- 'SP' -> Store Pickup
- 'PL' -> Locker
- 'ST' -> Stock
- 'SM' -> SameDay
- 'DOM' -> Drop Off Market Place
WorkflowTag: Workflow de la transacción. (enum string)
- 'dispatch' -> Envío punto/domicilio
- 'refund' -> Devolución
- 'restocking' -> Reposición de stock
- 'sameDay' -> Mismo día
- 'dropoffmk'-> Drop Off Marketplace
OperationType: Tipo de operación. (enum int)
- 1 -> a punto (toPoint)
- 2 -> a domicilio (toHome)
- 3 -> retailer (toRetailer) - dropoffmk
Sla: Acuerdo de nivel de servicio. (enum int)
- 1 -> Estándar
- 2 -> Urgente
- 3 -> Prioritario
- 4 -> Pactado con cliente
- 5 -> Warehouse
PointId: Para envío a punto pickit, devolución, locker, stock y reposición de stock.
Nota: Se obtiene del response al api map/point: "idService".FirstState: Estado inicial en la que se impone una transacción
- 1 -> Retailer
- 2 -> Disponible para colecta (recomendado)
- 3 -> Courier
- 4 -> Devolución
- 5 -> Devolución programada
weight: Unidad de medida de peso del producto (enum string)
- 'kg' -> Kilogramos
- 'g' -> Gramos
length: Unidad de medida del largo del producto (enum string)
- 'm' -> Metros
- 'cm' -> Centímetros
height: Unidad de medida de altura del producto (enum string)
- 'm' -> Metros
- 'cm' -> Centímetros
width: Unidad de medida de ancho del producto (enum string)
- 'm' -> Metros
- 'cm' -> Centímetros
Objetos/variables:
TransactionPetition:
- budgetPetition: [BudgetPetition]
- firstState (*): [FirstState] estado inicial de la transacción
- trakingInfo: [trakingInfo]
- packageAmount: [integer] número de bultos que tendrá la transacción
- deliveryTimeRange: [deliveryTimeRange]
- refoundProbableCause: [string] variable para devolución
- products: [Products]
- observations: [string] observaciones de la transacción
- extraData: [extraData]
- schedule: [schedule]
- paymentMethod: [integer]
- referenceCode: [string]
BudgetPetition(*):
- serviceType (*): [ServiceType]
- operationType (*): [OperationType]
- retailer (*): [Retailer]
- products (*): [Products[]]
- retailerAlternativeAddress: [retailerAlternativeAddress]
- retailerAlternativeContact: [retailerAlternativeContact]
- sla (*): [Sla]
- customer (*): [Customer]
- pointId: [PointId]
Products (*):
- name (*): [string] nombre del producto
- weight (*): [weight] peso del producto
- length: [length] largo del producto
- height: [height] alto del producto
- width: [width] ancho del producto
- price (*): [float] precio del producto
- sku: [string]
- amount: [int]
Customer (*):
- name (*): [string] nombre del cliente.
- lastName (*): [string] apellido del cliente
- pid (*): [string] documento de identidad (DNI)(INE)...
- email (*): [string] direccion de mail del cliente
- phone: [string] numero de telefono
- address (*): [Address] dirección del consumidor final
Address (*):
- postalCode: [string] código postal del consumidor final
- address: [string] dirección del consumidor final (calle/departamento/número...)
- city: [string] ciudad
- province: [string] provincia
retailerAlternativeAddress:
Nota: se usa cuando se tienen 2 o más origenes- postalCode: [string] código postal de dirección alternativa de colecta
- address(*): [string] dirección alternativa de colecta
- city (*): [string] ciudad alternativa de colecta
- province(*): [string] provincia alternativa de colecta
- latitud: [string]
- longitud: [string]
- streetNumber: [string]
- country:[string]
- floor: [string]
- apartment: [string]
- instructions: [string]
- locality: [string]
- observations: [string]
retailerAlternativeContact:
Nota: se usa sólo para flujo sameday d2d- id: [integer]
- name: [string] nombre del contacto alternativo
- pid: [string] pid del contacto alternativo
- email: [string] email del contacto alternativo
- phone: [string] teléfono del contacto alternativo
trakingInfo (*):
- order (*): [string] número de orden (puede enviarse vacío)
- shipment: [string] Nro. de seguimiento del pedido del courier logístico. Aplica solo para estado inicial 3.
deliveryTimeRange:
- start: [string($date-time)] fecha y hora inicial
- end: [string($date-time)] fecha y hora final
- orderType: [string]
extraData:
Nota: objeto usado sólo para flujo sameday d2d- sender: [string] nombre de quien envía el paquete
- customField: [string]
- orderType: [string]
- orderName: [string]
schedule:
- date: [string($date-time)] fecha programada
- time: [string($date-time)] hora programada
Métodos:
POST /apiV2.1/budget
Nombre del Método: budget
Objetivo / Descripción: Este método se debe utilizar para generar una cotización de una transacción en pickit.
Detalle: Como primera instancia de comunicación, se solicitarán los datos que se encuentran en el sitio del retailer y la especificación del tipo de transacción a realizar. Esto se utilizará luego para generar la cotización y para identificar los puntos pickit disponibles para los productos seleccionados de ese retailer. Se devolverá aquí la URL para abrir el Lightbox y el identificador (uuid) de la cotización generada.
add
curl --location -g --request POST 'https://{{ambiente}}/index.php/apiV2.1/budget' \
--header 'apiKey;' \
--header 'token;' \
--header 'Content-Type: application/json' \
--data-raw '{
"serviceType": "PP",
"workflowTag": "dispatch",
"operationType": 1,
"retailer": {
"tokenId": ""
},
"products": [
{
"name": "string",
"weight": {
"amount": 0,
"unit": "kg"
},
"length": {
"amount": 0,
"unit": "cm"
},
"height": {
"amount": 0,
"unit": "cm"
},
"width": {
"amount": 0,
"unit": "cm"
},
"price": 100,
"sku": "string",
"amount": 1
}
],
"retailerAlternativeAddress": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
},
"sla": {
"id": 1
},
"customer": {
"name": "string",
"lastName": "string",
"pid": "string",
"email": "string",
"phone": "string",
"address": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
}
},
"pointId": 0
}'
{
"price": number($float),
"totalPrice": number($float),
"tax": number($float),
"urlMap": "string",
"mapImageUrl": "string",
"products": [
{
"name": "string",
"uuid": null,
"weight": {
"amount": 0,
"unit": "g"
},
"length": {
"amount": 0,
"unit": "cm"
},
"height": {
"amount": 0,
"unit": "cm"
},
"width": {
"amount": 0,
"unit": "cm"
},
"price": 0,
"sku": "string",
"amount": 1,
"useSerialNumber": (boolean),
"serialNumber": "string",
"image": "string"
}
],
"uuid": "string",
"point": {
"name": "string",
"address": "string"
},
"hours": [
{
"days": "string",
"start": "2019-09-12T12:42:13.146Z",
"end": "2019-09-12T12:42:13.146Z"
}
]
}
POST /apiV2/transaction/{uuid}
Nombre del Método: transaction
Objetivo / Descripción: Este método se debe utilizar para imponer una transacción en pickit a través de una cotización previamente generada.
Detalle:
Una vez seleccionado el punto, se debe imponer la transacción en pickit con el identificador de la cotización. Este servicio creará la misma en el sistema.
En la url debe introducirse el “uuid” que corresponde al identificador de la cotización previamente generada.
curl --location -g --request POST 'https://{{ambiente}}/apiV2/transaction/{uuid}' \
--header 'apiKey;' \
--header 'token;' \
--header 'Content-Type: application/json' \
--data-raw '{
"firstState": 1,
"trakingInfo": {
"order": "3354",
"shipment": ""
},
"packageAmount": 1,
"refoundProbableCause": "",
"observations": ""
}'}
{
"transactionId": 0,
"pickitCode": "string",
"urlTracking": "string"
}
POST /apiV2.1/transaction
Nombre del Método: transaction
Objetivo / Descripción: Este método se debe utilizar para imponer una transacción en pickit simplificada (en el caso de no utilizar los servicios de cotización y selección de punto).
Detalle: Se envían en un solo servicio todos los datos de la transacción y se genera la misma en el sistema.
add
curl --location -g --request POST 'https://{{ambiente}}/apiV2.1/transaction' \
--header 'apiKey;' \
--header 'token;' \
--header 'Content-Type: application/json' \
--data-raw '{
"budgetPetition": {
"serviceType": "PP",
"workflowTag": "dispatch",
"operationType": 2,
"retailer": {
"tokenId": "string"
},
"products": [{
"name": "string",
"weight": {
"amount": 1,
"unit": "kg"
},
"length": {
"amount": 1,
"unit": "cm"
},
"height": {
"amount": 1,
"unit": "cm"
},
"width": {
"amount": 1,
"unit": "cm"
},
"price": 1,
"sku": "1",
"amount": 1
}],
"retailerAlternativeAddress": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
},
"sla": {
"id": 1
},
"customer": {
"name": "string",
"lastName": "string",
"pid": "string",
"email": "string",
"phone": "string",
"address": {
"postalCode": "string",
"address": "string",
"city": "string",
"province": "string"
}
},
"pointId":1
},
"firstState": 2,
"trakingInfo": {
"order": "string"
},
"packageAmount": 1,
"observations": ""
}'
{
"transactionId": 0,
"pickitCode": "string",
"urlTracking": "string",
"price": 0
}
GET /apiV2/budget/{uuid}
Nombre del Método: budget
Objetivo / Descripción: Este método se debe utilizar para obtener información de la cotización.
Detalle: Se muestra la información del precio de la cotización y del punto seleccionado.
add
{
"price": number($float),
"totalPrice": number($float),
"tax": number($float),
"urlMap": "string",
"mapImageUrl": "string",
"products": [
{
"name": "string",
"uuid": null,
"weight": {
"amount": 0,
"unit": "g"
},
"length": {
"amount": 0,
"unit": "cm"
},
"height": {
"amount": 0,
"unit": "cm"
},
"width": {
"amount": 0,
"unit": "cm"
},
"price": 0,
"sku": "string",
"amount": 1,
"useSerialNumber": (boolean),
"serialNumber": "string",
"image": "string"
}
],
"uuid": "string",
"point": {
"name": "string",
"address": "string"
},
"hours": [
{
"days": "string",
"start": "2019-09-12T12:42:13.146Z",
"end": "2019-09-12T12:42:13.146Z"
}
]
}
GET /apiV2/map/point
Nombre del Método: map/point
Objetivo / Descripción: Este método se debe utilizar para obtener la lista de puntos que tiene habilitados.
Detalle: Se muestra la información de cada punto.
Nota: De esta API, podemos obtener el pointId para TRANSACTION (SIMPLIFICADA), el cual debe de hacer match con el campo del response result.idService.
{
"result": [
{
"id": 2331,
"idService": 2248,
"name": "Tecnologia JP #2",
"serviceType": "PP",
"lat": 6.2467766,
"lng": -75.5700854,
"address": "Calle 46 #51a-26, Tecnologia JP #2 local 437 Medellín, Antioquia, Colombia",
"postalCode": "050015",
"location": "Medellín",
"province": "Antioquía",
"attributes": [],
"chain": "Red Pickit Medellin",
"categoryPoint": "Accesorios Informática",
"services": [
{
"id": 2248,
"type": "PP"
}
]
},
{
"id": 1376,
"idService": 1324,
"name": "Cibervoz",
"serviceType": "PP",
"lat": 6.2089436,
"lng": -75.5665935,
"address": "Calle 10 #36-51, Cibervoz Medellín, Antioquia, Colombia",
"postalCode": "050021",
"location": "Medellín",
"province": "Antioquía",
"attributes": [],
"chain": "Red Pickit Medellin",
"categoryPoint": "Kiosco",
"services": [
{
"id": 1324,
"type": "PP"
}
]
},
]
}
GET /apiV2/transaction/ {transactionId}/label
Nombre del Método: label
Objetivo / Descripción: Este método se debe utilizar para obtener la/las etiqueta/s de la transacción ya creada en pickit.
Detalle: Devuelve la/las etiqueta/s de la transacción y los datos en el caso de querer crear una diferente.
add
{
"customer": {
"name": "string",
"lastname": "string"
},
"pickitCode": "string",
"barcode": "string",
"pickitPoint": {
"id": 0,
"address": "string"
},
"retailer": {
"name": "string",
"responsable": "string",
"address": "string",
"postalCode": "string",
"city": "string",
"province": "string"
},
"date": "2020-02-03T13:26:58.714Z",
"url": {
"barCode": "string",
"label": [
"string"
]
},
"trackinginfo": {
"order": "string"
},
"shipmentID": "string",
"operationType": "string",
"canalization": "string",
"sla": "string",
"serviceId": 0
}
PUT /apiV2/transaction/ {transactionId}/state
Nombre del Método: /transaction/{transactionId}/state
Objetivo / Descripción: Este método se debe utilizar para ejecutar el “Ready to ship” sobre la transacción.
Detalle: Realiza el cambio de estado de la transacción a “Disponible para colecta” y realiza la notificación para retirar el paquete. En el mismo se puede informar si hubo algún cambio con la cantidad de bultos del paquete.
addDELETE /apiV2/retailer/
transaction/{idTransaction}
Nombre del Método: /retailer/transaction/{idTransaction}
Objetivo / Descripción: Este método se debe utilizar para cancelar una transacción ya creada en pickit.
Detalle: Pasandole el id de la transacción, se cambia el status de la misma a “Cancelada”.
add
{
[]
}
POST/apiV2.1/budget
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere cotizar. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se deberán enviar los datos de los artículos asociados a la compra y el detalle del tipo de transacción a cotizar. Opcionalmente se enviará la dirección que puso el Consumidor en el CheckOut para tomarla como dirección inicial de los puntos pickit.
serviceType | Obligatorio. Se debe indicar el tipo de servicio a cotizar para crear la transacción. |
workflowTag | Obligatorio. El workflow a cotizar; el mismo se relaciona con el servicio, ya que uno puede contener múltiples workflows. |
operationType | Obligatorio. Tipo de operación. |
retailer | Obligatorio. El comercio que quiere realizar la transacción. |
retailer.tokenId | Obligatorio. Token de seguridad otorgado por pickit, corresponde al retailer que quiere cotizar. |
products | Array de datos de los productos a cotizar la transacción. |
products.name | Obligatorio. Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Obligatorio. Unidad del peso del producto. |
products.weight.unit | Obligatorio. Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Obligatorio. Unidad del largo del producto. |
products.length.unit | Obligatorio. Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Obligatorio. Unidad de la altura del producto. |
products.height.unit | Obligatorio. Unidad de medida de la altura del producto. |
products.width | Ancho del producto. |
products.width.amount | Obligatorio. Unidad del ancho del producto. |
products.width.unit | Obligatorio. Unidad del ancho del producto. |
products.price | Precio del producto. |
products.sku | SKU del producto. |
products.amount | Cantidad de producto. |
retailerAlternativeAddress | Dirección de colecta alternativa. En el caso de completar un campo, se deben completar todos. |
retailerAlternativeAddress.postalCode | Obligatorio. Código postal. |
retailerAlternativeAddress.address | Obligatorio. Calle y número. |
retailerAlternativeAddress.city | Obligatorio. Localidad/Ciudad. |
retailerAlternativeAddress.province | Provincia |
sla | SLA a utilizar para la transacción. |
sla.id | Obligatorio. Id del SLA a utilizar. |
customer | Datos del consumidor final al que corresponderá la transacción. |
customer.name | Obligatorio. Nombre. |
customer.lastName | Obligatorio. Apellido. |
customer.lastName | Obligatorio. Apellido. |
customer.pid | Obligatorio. Documento de identidad. |
customer.email | Obligatorio. Correo. |
customer.phone | Teléfono. |
customer.address | Dirección del consumidor final. Obligatorio para envío y devolución a domicilio. |
customer.address.postalCode | Código postal. |
customer.address.address | Obligatorio. Calle y número. |
customer.address.city | Obligatorio. Localidad/Ciudad. |
customer.address.province | Provincia |
pointId | Id del punto pickit/locker a cotizar. En el caso de enviarlo, se mostrará el precio de la transacción en la respuesta. |
pickit le retornará el identificador de cotización generado y devolverá una URL asociada al mismo para poder abrir el lightbox.
price | Valor de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
totalPrice | Precio total de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
tax | Impuesto de la cotización. |
uuid | Identificador de la cotización. |
urlMap | Url del lightbox de pickit. |
mapImageUrl | Url de la imagen del punto ubicado en el mapa. |
products | Array de datos de los productos cotizados. |
products.name | Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Unidad del peso del producto. |
products.weight.unit | Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Unidad del largo del producto. |
products.length.unit | Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Unidad de la altura del producto. |
GET/apiV2/budget/{uuid}
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit devuelve la información de la cotización.
price | Valor de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
totalPrice | Precio total de la cotización. Solo se mostrará en el caso de tener el dato del destino final. |
tax | Impuesto de la cotización. |
uuid | Identificador de la cotización. |
urlMap | Url del lightbox de pickit. |
mapImageUrl | Url de la imagen del punto ubicado en el mapa. |
products | Array de datos de los productos cotizados. |
products.name | Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Unidad del peso del producto. |
products.weight.unit | Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Unidad del largo del producto. |
products.length.unit | Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Unidad de la altura del producto. |
products.height.unit | Unidad de medida de la altura del producto. |
products.width | Ancho del producto. |
products.width.amount | Unidad del ancho del producto. |
products.width.unit | Unidad del ancho del producto. |
products.price | Precio del producto. |
products.sku | SKU del producto. |
products.amount | Cantidad de producto. |
uuid | Identificador de la cotización. |
point | Datos del punto (en el caso de que haya sido enviado el dato en el request). |
point.name | Nombre del punto. |
point.address | Calle y nro. del punto. |
hours | Horarios del punto |
hours.days | Días operativos. |
hours.start | Hora de apertura. |
hours.end | Hora de cierre. |
POST/apiV2/transaction/{uuid}
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se deberán enviar el resto de los datos necesarios para realizar la imposición.
firstState | Obligatorio. Estado inicial a crear la transacción. |
trackingInfo | Obligatorio. Información de seguimiento del pedido. |
trackingInfo.order | Obligatorio. Nro. de seguimiento del pedido para el retailer. |
trackingInfo.shipment | Nro. de seguimiento del pedido del courier logístico. Aplica solo para estado inicial 3. |
packageAmount | Cantidad de bultos de la transacción (se toma por defecto 1). |
deliveryTimeRange | Rango horario (aplica únicamente para devoluciones a domicilio). |
deliveryTimeRange.start | Hora desde la cual el courier puede retirar la devolución. |
deliveryTimeRange.end | Hora hasta la cual el courier puede retirar la devolución. |
refundProbableCause | Motivo de la devolución (aplica solo para devolución a punto y domicilio). |
observations | Observaciones adicionales sobre la transacción. |
pickit le retornará el nro. de seguimiento de la transacción y tracking de la misma.
transactionId | Identificador de la transacción. |
pickitCode | Nro. de seguimiento pickit. |
urlTracking | Url del tracking de la transacción. |
POST/apiV2.1/transaction
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se deberán enviar el resto de los datos necesarios para realizar la imposición.
serviceType | Obligatorio. Se debe indicar el tipo de servicio a cotizar para crear la transacción. |
workflowTag | Obligatorio. El workflow a cotizar; el mismo se relaciona con el servicio, ya que uno puede contener múltiples workflows. |
operationType | Obligatorio. Tipo de operación. |
retailer | Obligatorio. El comercio que quiere realizar la transacción. |
retailer.tokenId | Obligatorio. Token de seguridad otorgado por pickit, corresponde al retailer que quiere cotizar. |
products | Array de datos de los productos a cotizar la transacción. |
products.name | Obligatorio. Nombre del producto. |
products.weight | Peso del producto. |
products.weight.amount | Obligatorio. Unidad del peso del producto. |
products.weight.unit | Obligatorio. Unidad de medida del peso del producto. |
products.length | Largo del producto. |
products.length.amount | Obligatorio. Unidad del largo del producto. |
products.length.unit | Obligatorio. Unidad de medida del largo del producto. |
products.height | Altura del producto. |
products.height.amount | Obligatorio. Unidad de la altura del producto. |
products.height.unit | Obligatorio. Unidad de medida de la altura del producto. |
products.width | Ancho del producto. |
products.width.amount | Obligatorio. Unidad del ancho del producto. |
products.width.unit | Obligatorio. Unidad del ancho del producto. |
products.price | Precio del producto. |
products.sku | SKU del producto. |
products.amount | Cantidad de producto. |
retailerAlternativeAddress | Dirección de colecta alternativa. En el caso de completar un campo, se deben completar todos. |
retailerAlternativeAddress.postalCode | Obligatorio. Código postal. |
retailerAlternativeAddress.address | Obligatorio. Calle y número. |
retailerAlternativeAddress.city | Obligatorio. Localidad/Ciudad. |
retailerAlternativeAddress.province | Provincia |
sla | SLA a utilizar para la transacción. |
sla.id | Obligatorio. Id del SLA a utilizar. |
customer | Datos del consumidor final al que corresponderá la transacción. |
customer.name | Obligatorio. Nombre. |
customer.lastName | Obligatorio. Apellido. |
customer.pid | Obligatorio. Documento de identidad. |
customer.email | Obligatorio. Correo. |
customer.phone | Teléfono. |
customer.address | Dirección del consumidor final. Obligatorio para envío y devolución a domicilio. |
customer.address.postalCode | Código postal. |
customer.address.address | Obligatorio. Calle y número. |
customer.address.city | Obligatorio. Localidad/Ciudad. |
customer.address.province | Provincia |
pointId | Id del punto pickit/locker. Obligatorio para envio a punto pickit, locker y stock y reposición de stock. |
firstState | Obligatorio. Estado inicial a crear la transacción. |
trackingInfo | Obligatorio. Información de seguimiento del pedido |
trackingInfo.order | Obligatorio. Nro. de seguimiento del pedido para el retailer. |
trackingInfo.shipment | Nro. de seguimiento del pedido del courier logístico. Aplica solo para estado inicial 3. |
packageAmount | Cantidad de bultos de la transacción (se toma por defecto 1). |
deliveryTimeRange | Rango horario (aplica únicamente para devoluciones a domicilio). |
deliveryTimeRange.start | Hora desde la cual el courier puede retirar la devolución. |
deliveryTimeRange.end | Hora hasta la cual el courier puede retirar la devolución. |
refundProbableCause | Motivo de la devolución (aplica solo para devolución a punto y domicilio). |
observations | Observaciones adicionales sobre la transacción. |
pickit le retornará el valor acorde al punto seleccionado, el nro de seguimiento y tracking de la transacción.
transactionId | Identificador de la transacción. |
pickitCode | Nro. de seguimiento pickit. |
urlTracking | Url del tracking de la transacción. |
price | Valor de la transacción. |
GET/apiV2/map/point
apiKey | Obligatorio. ApiKey otorgada por pickit, |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit devuelve el listado de los puntos con el detalle de cada uno.
result.id | Id del resultado. |
result.idService | Identificador del punto (acorde al servicio del mismo). |
result.name | Nombre del punto. |
result.serviceType | Servicio del punto. |
result.lat | Latitud de la ubicación del punto. |
result.lng | Longitud de la ubicación del punto. |
result.address | Dirección del punto. |
result.postalCode | Código postal del punto. |
result.location | Localidad del punto. |
result.province | Provincia del punto. |
attributes | - |
chain | Cadena asociada al punto pickit. |
categoryPoint | Categoría asociada al punto pickit. |
services | Servicios. |
services.id | Id del servicio pickit. |
services.type | Servicio que contempla el punto pickit. |
GET/apiV2/transaction/{transactionId}/label
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit devuelve la/las etiqueta/s con los datos de la transacción en el caso de querer armar una propia.
customer.name | Nombre del cliente |
customer.lastName | Apellido del cliente |
pickitCode | Código pickit |
barcode | Cadena del código de barras |
pickitPoint.id | Id del punto pickit |
pickitPoint.address | Dirección del punto pickit |
retailer.name | Nombre del retailer |
retailer.responsable | Nombre del responsable del retailer |
retailer.address | Dirección del retailer |
retailer.postalCode | Código postal del retailer |
retailer.city | Ciudad del retailer |
retailer.province | Provincia del retailer |
categoryPoint | Categoría asociada al punto pickit. |
date | Fecha de creación |
url.barcode | URL hacía la imagen del código de barras |
url.label | URL hacía la/las etiquetas de la transacción |
trackinginfo.order | Número de orden de la transacción |
shipmentID | Número de seguimiento del Operador Logístico (sólo si se consulta en estado "disponible para colecta") |
operationType | Tipo de operación |
canalization | Canalizador de la provincia |
sla | Acuerdo del servicio |
serviceId | Id del servicio brindado |
PUT/apiV2/transaction/{transactionId}/state
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
Se debe enviar el nuevo estado, y de querer realizar el cambio de cantidad de bultos, el nro. que corresponde.
newState | Obligatorio. Siempre debe completarse con el valor “availableForDrop”, que corresponde al Disponible para colecta |
additional | Datos adicionales a agregarle a la transacción. |
additional.packageAmount | Este campo tomará por defecto el valor informado en la imposición de la cantidad de bultos. En el caso de querer modificarlo, se debe enviar la nueva cantidad, lo que actualizará la transacción y la cantidad de etiquetas. |
pickit ejecuta el cambio de estado sobre la transacción a “Disponible para colecta”, y devuelve el id de la transacción si se ejecutó correctamente.
transactionId | Identificador de la transacción. |
DELETE/apiV2/retailer/transaction/{idTransaction}
apiKey | Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer. |
token | Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer. |
pickit ejecuta el cambio de estado sobre la transacción a “Disponible para colecta”, y devuelve el id de la transacción si se ejecutó correctamente.
transactionId | Identificador de la transacción. |