Integración por API
Cómo conectar una tienda a través de la API de Jipink.
Acceso
La API solo está disponible para clientes y partners de Jipink
Obtener token
Para comenzar a utilizar la API, deberás contar con un PAT
(Personal Access Token). Este token se genera para una cuenta específica, y solo es válido para operar en nombre de dicha cuenta. Cuando quien utiliza la API es el propio cliente, solo necesitará un único token. En cambio, cuando la API es utilizada por un partner o agencia que tiene a su cargo múltiples cuentas, deberá administrar un token para cada una de ellas y enviar el que corresponda en cada caso.
Las credenciales las debe generar el propio cliente desde su cuenta.
Generar credenciales de acceso
- Ir a la sección Credenciales en Desk.
- Hacer clic en el botón Crear Credencial, en el sector superior-derecho.
- Ingresar un nombre para las credenciales.
- Seleccionar los permisos necesarios.
- Hacer clic en el botón Crear Credencial.
- Copiar las credenciales generadas para utilizarlas en el próximo paso.
¡Listo! Tu credencial ya está generada.
Utilizar token
Una vez generado el token, deberás incluirlo en el header Authorization.
curl -X GET https://api.jipink.com/path_to_service \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer PAT-...'
NOTA: No te olvides de enviarlo como Bearer.
¡Listo! Ya podés utilizar nuestro catálogo de servicios.
Servicios
Luego de generar las credenciales de acceso podrás acceder a nuestra API.
Cotizar envío
Cotiza un envío y devuelve las tarifas aplicables.
Permisos: rates.read
GEThttps://api.jipink.com/quote
curl -X GET 'https://api.jipink.com/quote?zip=1414&size=SMALL' \
-H 'Authorization: Bearer $PAT'
Parámeteros
lat
es la coordenada latitud del envío a cotizar.lng
es la coordenada longitud del envío a cotizar.zip
es el código postal a cotizar, requerido si no se especifica lat y lng.size
es el tamaño del envío a cotizar.
[
{
"method": "SAME_DAY",
"name": "Jipink Express",
"title": "Envío SUPERRÁPIDO a domicilio por Jipink",
"rate": 1.0,
"currency": "USD",
"min_date": "2022-04-26T15:00:00-03:00",
"max_date": "2022-04-26T22:00:00-03:00"
}
]
Campos
method
es el identificador del método de envío cotizado.name
es el nombre del método de envío cotizado.title
es el título del método de envío cotizado.rate
es el valor de la tarifa aplicada.currency
es la moneda de la tarifa aplicada, en formato ISO 4217.min_date
es la promesa de entrega mínima, en formato ISO 8601.max_date
es la promesa de entraga máxima, en formato ISO 8601.
Crear envío
Crea un envío en nuestra plataforma.
Permisos: shipments.write
POSThttps://api.jipink.com/shipments
curl -X POST 'https://api.jipink.com/shipments' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $PAT' \
-d @shipment.json
{
"ref": "XW4ZW",
"type": "DELIVERY",
"content": "iPhone X",
"notes": "Llamar porque no funciona el timbre",
"origin": {
"contact": {
"name": "Ross Geller",
"phone": "+5491100000000",
"email": "[email protected]",
"identification": "10000000"
},
"address": {
"street": "Burgos 917",
"city": "Almagro",
"state": "CABA",
"country": "AR",
"zip": "1405",
"type": "BUSINESS"
}
},
"destination": {
"contact": {
"name": "Chandler Bing",
"phone": "+5491100000000",
"email": "[email protected]",
"identification": "20000000"
},
"address": {
"street": "20 de Septiembre 540",
"city": "Villa Crespo",
"state": "CABA",
"country": "AR",
"zip": "1414",
"type": "RESIDENTIAL"
}
},
"dimensions": {
"height": 10,
"width": 20,
"length": 20,
"weight": 1.0,
}
}
Campos
ref
es un identificador único de envío generado por el cliente, utilizado para relacionar el envío de la plataforma de Jipink con la orden originada en el sistema o tienda del cliente. Normalmente es el ID o número de órden generado por la tienda.type
es el tipo de operación a crear.value
es el valor declarado del envío.content
es una descripción sobre el contenido del envío.notes
es una aclaración o comentarios que se quiera agregar.
Remitente y receptor
Información de contacto del remitente o del receptor.
contact.name
es el nombre o razón social del contacto.contact.phone
es el teléfono del contacto.contact.email
es el email del contacto.contact.identification
es el DNI o CUIT del contacto.
Origen y destino
Datos de la dirección de origen o destino.
address.street
es la calle y altura.address.city
es la localidad.address.state
es la provincia.address.country
es el país.address.zip
es el código postal.address.type
es el tipo de domicilio.address.lat
es la coordenada latitud.address.lng
es la coordenada longitud.
Dimensiones
Peso y medidas del paquete.
dimensions.height
es la altura del paquete, en centímetros.dimensions.width
es el ancho del paquete, en centímetros.dimensions.length
es el largo del paquete, en centímetros.dimensions.weight
es el peso del paquete, en kilogramos.
Obtener envío
Retorna un envío creado en nuestra plataforma, a través de su ID.
Permisos: shipments.read
GEThttps://api.jipink.com/shipments/{id}
curl -X GET 'https://api.jipink.com/shipments/$ID' \
-H 'Authorization: Bearer $PAT'
Obtener etiqueta
Genera la etiqueta del envío y retorna la URL para descargar la misma.
Permisos: shipments.read
GEThttps://api.jipink.com/labels
curl -X GET 'https://api.jipink.com/labels?code=$ID&printer=PDF_A7' \
-H 'Authorization: Bearer $PAT'
Parámetros
code
es el código de envío.printer
es el fomato de impresión, puediendo ser:PDF_A4
formato PDF con 8 etiquetas por página, ideal para impresoras comunes.PDF_A7
formato PDF con 1 etiqueta por página, ideal para impresoras térmicas.
{
"url": "https://jipink.s3.us-west-2.amazonaws.com/2b277769-8b2f-43bf-b69f-42f644a69522.pdf"
}
Obtener etiqueta (QR)
Genera únicamente el contenido del QR a utilizar en la etiqueta.
Permisos: shipments.read
GEThttps://api.jipink.com/labels/qr
curl -X GET 'https://api.jipink.com/labels/qr?code=$ID' \
-H 'Authorization: Bearer $PAT'
Parámetros
code
es el código de envío.
{
"$ID": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJTWkI0Uk5aIiwianRpIjoiZjJmOTVjN..."
}
Obtener eventos
Retorna información de seguimiento del envío, a través de su ID.
Permisos: events.read
GEThttps://api.jipink.com/shipments/{id}/events
curl -X GET 'https://api.jipink.com/shipments/$ID/events' \
-H 'Authorization: Bearer $PAT'
[
{
"id": 1,
"date": "2022-08-29T16:27:39.389045Z",
"status": "TO_COLLECT"
},
{
"id": 2,
"date": "2022-08-29T16:27:42.478574Z",
"status": "COLLECTED"
},
{
"id": 3,
"date": "2022-08-29T16:27:46.657557Z",
"status": "TO_DELIVER"
},
{
"id": 4,
"date": "2022-08-29T16:27:51.214177Z",
"status": "TO_DELIVER",
"sub_status": "DISPATCHED"
},
{
"id": 5,
"date": "2022-08-29T16:28:30.832913Z",
"status": "TO_DELIVER",
"sub_status": "VISITED",
"issue": "ABSENT_RECEIVER"
},
{
"id": 6,
"date": "2022-08-29T16:28:36.099505Z",
"status": "DELIVERED",
"receiver": {
"name": "Ross Geller",
"identification": "10000000"
}
}
]
Campos
date
es la fecha y hora en la que se registró el evento.status
es el estado del envío.sub_status
es el sub-estado del envío.receiver
son los datos de quien recibió al transportista en el domicilio.
Buscar envíos
Retorna los envíos que cumplan con los filtros definidos.
Permisos: shipments.read
GEThttps://api.jipink.com/shipments
curl -X GET 'https://api.jipink.com/shipments?q=$QUERY' \
-H 'Authorization: Bearer $PAT'
Parámetros
Filtros disponibles para realizar la búsqueda de envíos.
q
es el texto a buscar en el código de referencia, dirección, nombre o email de contacto.code
es el código de envío a filtrar.status
es el estado del envío a filtrar.substatus
es el sub-estado del envío a filtrar.platform
es la plataforma del envío a filtrar, siendo:MLI
para MercadoLibre.TNB
para Tiendanube.WOO
para WooCommerce.VTX
para Vtex.
date_type
es la fecha a utilizar como filtro, siendo:CREATED
es la fecha de creación del envío.UPDATED
es la fecha de actualización del envío.
date_range_min
es la fecha mínima a filtrar.date_range_min
es la fecha máxima a filtrar.date_key
es el filtro rápido de fecha, siendo:LAST_DAY
para filtrar los envíos del último día.LAST_MONTH
para filtrar los envíos del último mes.
sort
es el orden de los resultados, siendo:NEWEST
para ordenar de más reciente a más antiguo.OLDEST
para ordenar de más antiguo a más reciente.
shortcut
es un filtro rápido, siendo:PENDING
para filtrar envíos recientes que aún no fueron etiquetados.ACTIVE
para filtrar envíos que están en tránsito o en nuestro depósito.
page
es el número de página a obtener.size
es la cantidad de resultados por página.
Cancelar envío
Cancela un envío creado en nuestra plataforma, a través de su ID.
Permisos: shipments.write
POSThttps://api.jipink.com/shipments/{id}/cancel
curl -X POST 'https://api.jipink.com/shipments/$ID/cancel' \
-H 'Authorization: Bearer $PAT'
Agregar paquete
Agrega un paquete a un envío multi-origen (omnicanalidad).
Permisos: shipments.write
POSThttps://api.jipink.com/shipments/{id}/packages
curl -X POST 'https://api.jipink.com/shipments/$ID/packages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer $PAT' \
-d @shipment.json
{
"ref": "XW4ZW-1",
"content": "iPhone X",
"origin": {
"contact": {
"name": "Ross Geller",
"phone": "+5491100000000",
"email": "[email protected]",
"identification": "10000000"
},
"address": {
"street": "Burgos 917",
"city": "Almagro",
"state": "CABA",
"country": "AR",
"zip": "1405",
"type": "BUSINESS"
}
},
"dimensions": {
"height": 10,
"width": 20,
"length": 20,
"weight": 1.0,
}
}
Postman
Todos nuestros servicios están disponibles en Postman.