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
check_circle


https://api.uat.pickit.com.ar/index.php

https://api.uat.pickit.com.uy/index.php

https://api.uat.pickit.com.mx/index.php

https://api.uat.pickit.com.co/index.php

https://api.uat.pickit.cl/index.php
PRODUCCIÓN
Estado: Activo
check_circle


https://api.pickit.net

https://api.pickit.com.uy/index.php

https://api.pickit.com.mx/index.php

https://api.pickit.com.co/index.php

https://api.pickit.cl/index.php
 
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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere cotizar.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Request

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
								}'
  							
  						
Response

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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Response

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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Request

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": ""
					}'
                
              
Response

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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Request

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": ""
					}'
                
              

Response

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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit,
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Response

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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Response

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.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Request

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
									}
								}
							
						
Response

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”.

Headers

apiKey Obligatorio. ApiKey otorgada por pickit, corresponde al retailer que quiere imponer.
token Obligatorio. TokenId otorgado por pickit, corresponde al retailer que quiere imponer.

Response

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.

            
              []
            
          

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
check_circle


https://api.uat.pickit.com.ar/index.php

https://api.uat.pickit.com.uy/index.php

https://api.uat.pickit.com.mx/index.php

https://api.uat.pickit.com.co/index.php

https://api.uat.pickit.cl/index.php
PRODUCCIÓN
Estado: Activo
check_circle


https://api.pickit.net

https://api.pickit.com.uy/index.php

https://api.pickit.com.mx/index.php

https://api.pickit.com.co/index.php

https://api.pickit.cl/index.php
  • 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.

add
									
										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.

add
									
										{
											"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.

add
            
              {
                "newState":"availableForDrop",
                "additional":{
                  "packageAmount": 1
                }
              }
            
          
            
              {
                "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”.

add
              
                {
                  []
                }