Integra toda tu logística con la API de Shipit

Una poderosa API para automatizar y mejorar la operación de tu eCommerce.

Empieza Ahora    

Suggest Edits

Sobre la API

 

En esta sección podrás entender cómo implementar la API de Shipit, para automatizar y mejorar la logística de tu eCommerce.

Todo consiste en simplificar la operación del día a día aprovechando la tecnología desarrollada por Shipit, para usar multi-couriers, hacer seguimiento de tus envíos y gestionar tu bodega con sólo unos clicks.

La documentación se divide en las siguientes categorías:

  • Envíos: Crear pedidos y consultar información sobre el estado de estos.
  • Cotizador: Consultar precios de envío según sus dimensiones y destino.
  • Inventario: Consultar sobre el stock actual de tu tienda. Sólo para clientes que cuenten con el servicio de Fullfilment de Shipit.
  • Cobertura: Localidades a las cuales Shipit puede despachar.
  • Webhooks: Información para la implementación de webhooks a través de la API de Shipit.
Suggest Edits

Autenticación

Cómo consumir la API de Shipit

 

Para consumir nuestra API es necesario tener:

  • Una cuenta Shipit
  • El correo asociado a la cuenta (X-Shipit-Email)
  • El Token de Acceso obtenido en el módulo de la API en tu cuenta (X-Shipit-Access-Token)

Esta información deberá ser enviada a través del los headers HTTP, para hacer request a los Endpoints de la API.

Content-Type: application/json
X-Shipit-Email: cliente@dominio.cl
X-Shipit-Access-Token: XXXXXXXXXXX
Accept: application/vnd.shipit.v2
Suggest Edits

Respuestas de la API

Posibles respuestas de la API de Shipit.

 
Código
Nombre
Descripción

200

OK

¡Todo funciona con éxito!

201

Creando

Cuando esté creando un nuevo objeto, éste se devolverá con éxito.

400

Solicitud incorrecta

No se pudo realizar la operación.

403

Prohibido

No pudimos autenticarte, o no tienes acceso a este objeto.

Suggest Edits

Crear una órden

 
posthttp://api.shipit.cl/v/orders
{
  "order": {
  	"mongo_order_seller": "shopify",
    "reference": "test-api30",
    "full_name": "Jose Perez",
    "email": "hola@shipit.cl",
    "items_count": 12,
    "cellphone": "+56990503182",
    "is_payable": false,
    "packing": "Sin empaque",
    "shipping_type": "Normal",
    "destiny": "Domicilio",
    "courier_for_client": null,
    "approx_size": "Mediano (30x30x30cm)",
    "address_attributes": {
      "commune_id": 12,
      "street": "Nuestra señora de los Ángeles",
      "number": "185",
      "complement": "Oficina E"
    },
    //Solo si es fulfillment
    "inventory_activity": {
      "inventory_activity_orders_attributes": [{
        "sku_id": 4061, "amount": 1
      }]
    }
  }
}
A binary file was returned

You couldn't be authenticated

{
    "orders": {
        "_id": {
            "$oid": "5cccbf8d0c5cb574f1c0efdf"
        },
        "address_shipping": {
            "name": "Jose Perez",
            "phone": "+56990503182",
            "address1": "Nuestra señora de los Ángeles",
            "address2": "185 Oficina E",
            "city": "ANTOFAGASTA"
        },
        "box_type": null,
        "commune": {
            "id": 12,
            "region_id": 3,
            "name": "ANTOFAGASTA",
            "code": "02101",
            "is_starken": null,
            "is_chilexpress": null,
            "is_generic": true,
            "is_reachable": true,
            "created_at": "2016-12-16T09:12:23.458Z",
            "updated_at": "2019-03-07T20:34:24.311Z",
            "couriers_availables": {
                "dhl": "",
                "starken": "ANTOFAGASTA",
                "muvsmart": "",
                "chilexpress": "ANTOFAGASTA",
                "chileparcels": "",
                "correoschile": ""
            },
            "is_available": false,
            "cutting_hours": {
                "ff": 0,
                "ll": 0,
                "pp": 0
            }
        },
        "company_id": 1,
        "created_at": "2019-05-03T22:24:04.794Z",
        "customer_email": "hola@shipit.cl",
        "customer_name": "Jose Perez",
        "customer_phone": "+56990503182",
        "day": "2019-05-03T00:00:00.000-04:00",
        "email": "hola@shipit.cl",
        "financial_status": "paid",
        "fulfillment_status": "pending",
        "items": null,
        "name": "test-api30",
        "seller": "shopify",
        "seller_reference": "test-api30",
        "sent": false,
        "shipping_data": {
            "street": "Nuestra señora de los Ángeles",
            "number": "185"
        },
        "shipping_data_complement": "185 Oficina E"
    }
}

Body Params

mongo_order_seller
string
required

Este campo recibe el nombre del canal de ventas (shopify, woocommerce, prestashop)

reference
string
required

Identificador propio del pedido (Max. 12 caracteres)

full_name
string
required

Nombre del destinatario

email
string

Email del destinatario

items_count
int32
required

Número de bultos del pedido

cellphone
string

Teléfono del destinatario

is_payable
boolean

Especificar si el envío es cargado a la Cuenta Corriente (false) o Por Pagar contra entrega (true)

packing
string

Solicitud de servicio de empaque: Sin empaque

shipping_type
string
required

Tipo de envío, opción única: Normal

destiny
string
required

Tipo de entrega: Domicilio, Sucursal

courier_for_client
string

Si se desea enviar por un Courier específico: Chilexpress, Starken, Muvsmart, Chileparcels o Motopartner

approx_size
string
required

Tamaño aproximado del pedido, opciones: Pequeño (10x10x10cm), Mediano (30x30x30cm), Grande (50x50x50cm), Muy Grande (>60x60x60cm)

address_attributes
object
required

Dirección de entrega compuesta por: ID de la comuna, Calle, Número y Complemento.

width
float

Especifica el ancho de tu envío (opcional)

height
float

Especifica el alto de tu envío (opcional)

length
float

Especifica el largo de tu envío (opcional)

weight
float

Especifica el peso de tu envío (opcional)

inventory_activity
object

Especifica cuales y cuantos SKU's serán despachados desde bodega (Opcional - actualmente valido solo para clientes fulfillment)

inventory_activity.inventory_activity_orders_attributes
array of objects

Array de objetos con la siguiente estructura [{ sku_id: 0, amount: 0, warehouse_id: 0 }]

Headers

Content-Type
string
required

application/json

X-Shipit-Email
string
required

Email asociado a la cuenta

X-Shipit-Access-Token
string
required
Accept
string
required

application/vnd.shipit.v2

 
Suggest Edits

Crear un envío

Crear un envío desde tu tienda.

 
posthttps://api.shipit.cl/v/packages
{
  "package": {
    "reference": "test-api30",
    "full_name": "Jose Perez",
    "email": "hola@shipit.cl",
    "items_count": 12,
    "cellphone": "+56990503182",
    "is_payable": false,
    "packing": "Sin empaque",
    "shipping_type": "Normal",
    "destiny": "Domicilio",
    "courier_for_client": null,
    "approx_size": "Mediano (30x30x30cm)",
    "address_attributes": {
      "commune_id": 12,
      "street": "Nuestra señora de los Ángeles",
      "number": "185",
      "complement": "Oficina E"
    },

    //Solo si es fulfillment
    "inventory_activity": {
      "inventory_activity_orders_attributes": [{
        "sku_id": 4061, "amount": 1
      }]
    }
  },
  // Agrega seguro a tu envío
  "with_purchase_insurance": true, 
  // Detalla el contenido del envío a asegurar 
  "purchase": {
    "detail": "Zapatos blancos",
    "amount": "35.000",
    "ticket_number": '123456789',
    "extra_insurance": true // Para agregar seguro extra a tu envío
  }
}
A binary file was returned

You couldn't be authenticated

{
    "id": 616433,
    "reference": "test-api30",
    "full_name": "Jose Perez",
    "email": "hola@shipit.cl",
    "items_count": 12,
    "cellphone": "+56990503182",
    "is_payable": false,
    "packing": "Sin Empaque",
    "shipping_type": "Normal",
    "destiny": "Domicilio",
    "courier_for_client": null,
    "tracking_number": null,
    "approx_size": "Mediano (30x30x30cm)",
    "status": "in_preparation",
    "courier_status": null,
    "length": 30,
    "width": 30,
    "height": 30,
    "weight": 3,
    "delivery_time": null,
    "created_at": "2019-05-02T18:46:57.997-04:00",
    "updated_at": "2019-05-02T18:46:57.997-04:00",
    "courier_url": "Sin tracking",
    "old_ticket_url_courier": null,
    "ticket_shipit_url": null,
    "ticket_url": null,
    "ticket_shipit_pdf_url": null,
    "link": "http://api.shipit.cl/v/packages/616433",
    "address": {
        "street": "Nuestra señora de los Ángeles",
        "number": "185",
        "complement": "Oficina E",
        "commune": "ANTOFAGASTA",
        "coords": {
            "latitude": 0,
            "longitude": 0
        }
    },
    // Si es fulfillment enviara la informacion de confirmación.
    "inventory_activity": null,
    "integration_reference": null,
    "with_purchase_insurance": true,
    "purchase": {
      "detail": "Zapatos blancos",
      "amount": "35.000",
      "ticket_number": '123456789',
      "extra_insurance": true
    }
}

Body Params

reference
string
required

Identificador propio del pedido (Max. 12 caracteres)

full_name
string
required

Nombre del destinatario

email
string

Email del destinatario

approx_size
string
required

Tamaño aproximado del pedido, opciones: Pequeño (10x10x10cm), Mediano (30x30x30cm), Grande (50x50x50cm), Muy Grande (>60x60x60cm)

packing
string

Solicitud de servicio de empaque: Sin empaque

items_count
int32
required

Número de bultos del pedido

cellphone
string

Teléfono del destinatario

courier_for_client
string

Si se desea enviar por un Courier específico: Chilexpress, Starken, Muvsmart, Chileparcels o Motopartner

shipping_type
string
required

Tipo de envío, opción única: Normal

destiny
string
required

Tipo de entrega: Domicilio, Sucursal Chilexpress o Sucursal Starken-Turbus

address_attributes
object
required

Dirección de entrega compuesta por: ID de la comuna, Calle, Número y Complemento.

 
is_payable
boolean

Especificar si el envío es cargado a la Cuenta Corriente (false) o Por Pagar contra entrega (true)

width
float

Especifica el ancho de tu envío (opcional)

height
float

Especifica el alto de tu envío (opcional)

length
float

Especifica el largo de tu envío (opcional)

weight
float

Especifica el peso de tu envío (opcional)

branch_office_id
int32

Especifica la sucursal a la cual va asociada un envío (Opcional)

inventory_activity
object

Especifica cuales y cuantos SKU's serán despachados desde bodega (Opcional - actualmente valido solo para clientes fulfillment)

 
inventory_activity.inventory_activity_orders_attributes
array of objects

Array de objetos con la siguiente estructura [{ sku_id: 0, amount: 0, warehouse_id: 0 }]

with_purchase_insurance
boolean

Especifica la activación del seguro de tu pedido

purchase
object

Especifica el contenido del envío. ¡Opción requerida para hacer tu seguro válido!

 
purchase.detail
string

Detalle del contenido del envío a asegurar

purchase.ticket_number
integer

Número de boleta del o los productos

purchase.amount
integer

Precio del producto a asegurar

purchase.extra_insurance
boolean

Activa el seguro extra aplicado por el courier (tiene recargo adicional)

Headers

Content-Type
string
required

application/json

X-Shipit-Email
string
required

Email asociado a la cuenta

X-Shipit-Access-Token
string
required

Token asociado a la cuenta

Accept
string
required

application/vnd.shipit.v2

 
Suggest Edits

Crear envíos masivos

Crear uno o varios envíos desde tu tienda.

 
posthttps://api.shipit.cl/v/packages/mass_create
{
  "packages": [
    {
      "reference": "test-api30",
      "full_name": "Dimitri Nock",
      "email": "hola@shipit.cl",
      "items_count": 12,
      "cellphone": "+56990503182",
      "is_payable": false,
      "packing": "Sin empaque",
      "shipping_type": "Sábado",
      "destiny": "Domicilio",
      "courier_for_client": null,
      "approx_size": "Mediano (30x30x30cm)",
      "address_attributes": {
        "commune_id": 12,
        "street": "Nuestra señora de los Ángeles",
        "number": "185",
        "complement": "Oficina E"
      },
      
      //Solo si es fulfillment
      "inventory_activity": {
        "inventory_activity_orders_attributes": [
          {"sku_id": 4061, "amount": 1}
        ]
      },
      // Agrega seguro a tu envío
      "with_purchase_insurance": true, 
      // Detalla el contenido del envío a asegurar 
      "purchase": {
        "detail": "Zapatos blancos",
        "amount": "35.000",
        "ticket_number": '123456789',
        "extra_insurance": true // Para agregar seguro extra a tu envío
      }
    }
  ]
}
A binary file was returned

You couldn't be authenticated

{
  "packages": [
    {
      "reference": "test-api30",
      "full_name": "Dimitri Nock",
      "email": "hola@shipit.cl",
      "items_count": 12,
      "cellphone": "+56990503182",
      "is_payable": false,
      "packing": "Sin empaque",
      "shipping_type": "Sábado",
      "destiny": "Domicilio",
      "courier_for_client": null,
      "approx_size": "Mediano (30x30x30cm)",
      "address_attributes": {
        "commune_id": 12,
        "street": "Nuestra señora de los Ángeles",
        "number": "185",
        "complement": "Oficina E"
      },
      "with_purchase_insurance": true,
      "purchase": {
        "detail": "Ropa",
        "ticket_number": 111111111111,
        "amount": 50000,
        "extra_insurance": true
      },
      
      //Solo si es fulfillment
      "inventory_activity": {
        "inventory_activity_orders_attributes": [
          {"sku_id": 4061, "amount": 1}
        ]
      },
      // Agrega seguro a tu envío
      "with_purchase_insurance": true, 
      // Detalla el contenido del envío a asegurar 
      "purchase": {
        "detail": "Zapatos blancos",
        "amount": "35.000",
        "ticket_number": '123456789',
        "extra_insurance": true // Para agregar seguro extra a tu envío
      }
    }
  ]
}

Body Params

reference
string
required

Identificador propio del pedido (Max. 12 caracteres)

full_name
string
required

Nombre del destinatario

email
string

Email del destinatario

approx_size
string
required

Tamaño aproximado del pedido, opciones: Pequeño (10x10x10cm), Mediano (30x30x30cm), Grande (50x50x50cm), Muy Grande (>60x60x60cm)

packing
string

Solicitud de servicio de empaque: Sin empaque

items_count
int32
required

Número de bultos del pedido

cellphone
string

Teléfono del destinatario

courier_for_client
string

Si se desea enviar por un Courier específico: Chilexpress, Starken o DHL

shipping_type
string
required

Tipo de envío, opción única: Normal

destiny
string
required

Tipo de entrega: Domicilio, Sucursal

address_attributes
object
required

Dirección de entrega compuesta por: ID de la comuna, Calle, Número y Complemento.

 
is_payable
boolean

Especificar si el envío es cargado a la Cuenta Corriente (false) o Por Pagar contra entrega (true)

inventory_activity
object

Especifica cuales y cuantos SKU's serán despachados desde bodega (Opcional - actualmente valido solo para clientes fulfillment)

 
inventory_activity.inventory_activity_orders_attributes
array of objects

Array de objetos con la siguiente estructura [{ sku_id: 0, amount: 0, warehouse_id: 0 }]

with_purchase_insurance
boolean

Especifica la activación del seguro de tu pedido

purchase
object

Especifica el contenido del envío. ¡Opción requerida para hacer tu seguro válido!

 
purchase.detail
string

Detalle del contenido del envío a asegurar

purchase.ticket_number
integer

Número de boleta del o los productos

purchase.amount
integer

Precio del producto a asegurar

purchase.extra_insurance
boolean

Activa el seguro extra aplicado por el courier (tiene recargo adicional)

Headers

Content-Type
string
required

application/json

X-Shipit-Email
string
required

Email asociado a la cuenta

X-Shipit-Access-Token
string
required

Token asociado a la cuenta

Accept
string
required

application/vnd.shipit.v2

 
Suggest Edits

Consultar un envío

Retorna la información de un envío

 
gethttps://api.shipit.cl/v/packages/id
require 'httparty'
url = 'http://api.shipit.cl/v/packages/307829'
headers = { 'Content-Type': 'application/json', 'Accept': 'application/vnd.shipit.v2', 'X-Shipit-Access-Token': 'TOKEN_API', 'X-Shipit-Email': 'YOUR_EMAIL_API' }

response = HTTParty.get(url, headers: headers )
A binary file was returned

You couldn't be authenticated

{
  "packages": [
    {
      "reference": "test-api30",
      "full_name": "Dimitri Nock",
      "email": "hola@shipit.cl",
      "items_count": 12,
      "cellphone": "+56990503182",
      "is_payable": false,
      "packing": "Sin empaque",
      "shipping_type": "Sábado",
      "destiny": "Domicilio",
      "courier_for_client": null,
      "approx_size": "Mediano (30x30x30cm)",
      "address_attributes": {
        "commune_id": 12,
        "street": "Nuestra señora de los Ángeles",
        "number": "185",
        "complement": "Oficina E"
      },
      //Solo si es fulfillment
      "inventory_activity": {
          "inventory_activity_orders_attributes": [
              {"sku_id": 4061, "amount": 1}
          ]
       }
    }
  ]
}

Path Params

id
int32
required

ID del pedido

 
Suggest Edits

Historial de envíos

Retorna todos los envíos de tu tienda.

 
gethttps://api.shipit.cl/v/packages?year=year&month=month
require 'httparty'
url = 'http://api.shipit.cl/v/packages?year=2017&month=05'
headers = { 'Content-Type': 'application/json', 'Accept': 'application/vnd.shipit.v2', 'X-Shipit-Access-Token': 'TOKEN_API', 'X-Shipit-Email': 'YOUR_EMAIL_API' }

response = HTTParty.get(url, headers: headers )
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

year
string
required

Año del los pedidos (Obligatorio)

month
string
required

Mes de los pedidos (Obligatorio)

 
Suggest Edits

Couriers

Retorna todos los couriers disponibles en Shipit

 
gethttps://api.shipit.cl/v/couriers
curl --request GET \
  --url https://api.shipit.cl/v/couriers
var request = require("request");

var options = { method: 'GET', url: 'https://api.shipit.cl/v/couriers' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.shipit.cl/v/couriers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.shipit.cl/v/couriers");

xhr.send(data);
import requests

url = "https://api.shipit.cl/v/couriers"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
 
Suggest Edits

Consultar precio (Deprecado)

Obtiene todos los precios de referencia de los Couriers. (Este endpoint será deprecado)

 
posthttps://api.shipit.cl/v/shippings/prices
require 'httparty'
url = 'http://api.shipit.cl/v/shippings/prices'
headers = { "Content-Type" => "application/json", "Accept" => "application/vnd.shipit.v2", "X-Shipit-Access-Token" => "YOUR_TOKEN", "X-Shipit-Email" => "YOUR_EMAIL" }
package = {"package":{ "length": "10", "width": "10", "height": "10", "weight": "1", "destiny": "Domicilio", "is_payable": "true", "address_attributes": { "commune_id": 316 }}}



response = HTTParty.post(url, body: package.to_json, headers: headers )


A binary file was returned

You couldn't be authenticated

{"shipments"=>[{"total"=>2552, "courier"=>"correos", "delivery_time"=>"1", "interval"=>"1","pv"=>1.0},{"total"=>2960, "courier"=>"chilexpress", "delivery_time"=>"1", "interval"=>"0..1.5","pv"=>1.0},{"total"=>3271, "courier"=>"starken", "delivery_time"=>"1", "interval"=>"1", "pv"=>1.0}]}

Body Params

height
string

Alto (cm)

width
string

Ancho (cm)

length
string

Largo (cm)

weight
string

Peso (kg)

address_attributes
object

Información de la compra (requerido para seguro adicional): Tipo de producto, Número de Documento, Precio de Venta y Contratación del seguro (true/false)

 
 
Suggest Edits

Consultar precio (v3 Estable)

Obtiene todos los precios de referencia de los Couriers. Hemos estado mejorando el API y ésta será la versión a la que estaremos dando soporte.

 
posthttps://api.shipit.cl/v/prices
require 'httparty'
url = 'http://api.shipit.cl/v/prices'

headers = { "Content-Type" => "application/json", "Accept" => "application/vnd.shipit.v3", "X-Shipit-Access-Token" => "YOUR_TOKEN", "X-Shipit-Email" => "YOUR_EMAIL" }

package = {"package":{ "length": "10", "width": "10", "height": "10", "weight": "1", "destiny": "Domicilio", "to_commune_id": "308" }



response = HTTParty.post(url, body: package.to_json, headers: headers )


A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

json
 
Suggest Edits

Consultar SKU por ID

Consultar SKU específico

 
gethttps://api.shipit.cl/v/skus/sku_id
curl --request GET \
  --url https://api.shipit.cl/v/skus/9946
var request = require("request");

var options = { method: 'GET',
  url: 'https://api.shipit.cl/v/skus/9946' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.shipit.cl/v/skus/9946")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.shipit.cl/v/skus/9946");

xhr.send(data);
import requests

url = "https://api.shipit.cl/v/skus/9946"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

sku_id
int32
required

ID del sku en la plataforma shipit

Headers

Content-Type
string
X-Shipit-Email
string
X-Shipit-Access-Token
string
Accept
string
 
Suggest Edits

Consultar SKU por Nombre

 
gethttp://api.shipit.cl/v/skus/by_name
curl --request GET \
  --url http://api.shipit.cl/v/skus/by_name
var request = require("request");

var options = { method: 'GET', url: 'http://api.shipit.cl/v/skus/by_name' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api.shipit.cl/v/skus/by_name")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api.shipit.cl/v/skus/by_name");

xhr.send(data);
import requests

url = "http://api.shipit.cl/v/skus/by_name"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
   "id": 9265,
   "name": "BOB1",
   "company_id": 1,
   "position": null,
   "description": "SKU de prueba",
   "created_at": "2018-03-15T11:01:37.739-03:00",
   "updated_at": "2018-03-15T11:01:37.739-03:00",
   "warehouse_id": 1,
   "width": 10,
   "length": 10,
   "height": 30,
   "weight": 1,
   "ws_amount": 0,
   "ws_updated_at": null,
   "amount": 36,
   "min_amount": 1,
   "stock": {
       "id": 1832,
       "received": 0,
       "commited": 0,
       "waste": 0,
       "canceled": 0,
       "available": 36,
       "created_at": "2018-05-11T19:54:36.060-03:00",
       "updated_at": "2018-05-11T19:54:36.060-03:00",
       "sku_id": 9265,
       "min_available": 1
   }
}

Query Params

name
string

Headers

Content-Type
string
X-Shipit-Email
string
X-Shipit-Access-Token
string
Accept
string
 

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

$.get('http://yoursite.com/test/' + id, function(data) {
    console.log(data);
});
Suggest Edits

Consultar múltiples SKU's

Consultar cantidad de productos en inventario por SKU.

 
gethttps://api.shipit.cl/v/skus
curl --request GET \
  --url https://api.shipit.cl/v/skus
var request = require("request");

var options = { method: 'GET', url: 'https://api.shipit.cl/v/skus' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.shipit.cl/v/skus")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.shipit.cl/v/skus");

xhr.send(data);
import requests

url = "https://api.shipit.cl/v/skus"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Content-Type
string
X-Shipit-Email
string
X-Shipit-Access-Token
string
Accept
string
 
Suggest Edits

Sucursales

 
gethttp://api.shipit.cl/v/branch_offices
{
 "branch_office":
   {
      "name": "Test API BO",
      "contact_name": "Jon Doe",
      "phone": "555-2233312",
      "address": {
        "street": "Asturias",
        "number": "103",
        "complement": "Casa D",
        "commune_id": 318
      },
      "account": {
        "email": "testapibo@shipit.cl",
        "password": "deuxjon",
        "password_confirmation": "deuxjon",
        "person": {
          "first_name": "Jon",
          "last_name": "Doe"
        }
      }
    }
}
A binary file was returned

You couldn't be authenticated

{
   "id": 1666,
   "name": "Test API BO2",
   "run": null,
   "website": null,
   "commercial_business": null,
   "phone": "555-2233312",
   "about": null,
   "email_contact": null,
   "is_active": true,
   "is_default": false,
   "created_at": "2018-06-11T16:02:02.452-04:00",
   "updated_at": "2018-06-11T16:02:02.452-04:00",
   "address_id": 373671,
   "email_notification": null,
   "email_commercial": null,
   "contact_name": "Jon Doe",
   "billing_address_id": null,
   "company_id": 1,
   "google_sheet_link": null,
   "parking_fee": 0,
   "pickup_hope": null,
   "parking_isreachable": null,
   "get_to_parking": null,
   "pickup_price": 2000
}

Query Params

is_default
boolean

Si se especifica en true, se listarán las sucursales marketplaces del cliente especificado

Headers

Content-Type
string
X-Shipit-Email
string
X-Shipit-Access-Token
string
Accept
string
 
Suggest Edits

Comunas

Retorna todas las comunas de Chile disponibles para enviar

 
gethttps://api.shipit.cl/v/communes
curl --request GET \
  --url https://api.shipit.cl/v/communes
var request = require("request");

var options = { method: 'GET', url: 'https://api.shipit.cl/v/communes' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.shipit.cl/v/communes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.shipit.cl/v/communes");

xhr.send(data);
import requests

url = "https://api.shipit.cl/v/communes"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Content-Type
string

application/json

X-Shipit-Email
string

Correo asociado a la cuenta

X-Shipit-Access-Token
string

Token asociado a la cuenta

Accept
string

application/vnd.shipit.v2

 
Suggest Edits

Regiones

Retorna todas las regiones de Chile

 
gethttps://api.shipit.cl/v/regions
curl --request GET \
  --url https://api.shipit.cl/v/regions
var request = require("request");

var options = { method: 'GET', url: 'https://api.shipit.cl/v/regions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api.shipit.cl/v/regions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.shipit.cl/v/regions");

xhr.send(data);
import requests

url = "https://api.shipit.cl/v/regions"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Content-Type
string
X-Shipit-Email
string

Correo asociado a la cuenta

X-Shipit-Access-Token
string

Token asociado a la cuenta

Accept
string

application/vnd.shipit.v2

 
 

Para poder implementar nuestro webhook necesitas indicar una URL en donde recibirás la información. Esto lo podrás encontrar iniciando sesión en tu cuenta y luego ingresando al módulo de la API debes ir abajo a la sección Webhooks.

Nuestro webhook te entregará dos resultados:

  • POST: Cuando creas un pedido, el webhook responderá con POST y la información del package creado.

  • PUT: Cuando se actualiza la información del package. Por ejemplo: se asigna un número de seguimiento a tu envío o se actualizó el estado de pedido.

IMPORTANTE: A contar del día 15 de Mayo de 2019, el formato de respuestas de nuestros webhooks cambiara de URL-ENCODE a JSON es relevante comunicarte con tu desarrollador para actualizar la manera de obtener las respuestas de nuestros webhook, ya que, a contar de la fecha indicada sera deprecada la version URL-ENCONDE.

Tips para desarrolladores: ingresa a https://webhook.site para obtener la información del webhook configurado en shipit

Un ejemplo del nuevo formato sera entregado a continuación:

{
  "id": 16,
  "reference": "1",
  "full_name": "mich tst ",
  "email": "",
  "items_count": 1,
  "cellphone": "",
  "is_payable": false,
  "packing": "Sin Empaque",
  "shipping_type": "Normal",
  "destiny": "Domicilio",
  "courier_for_client": null,
  "tracking_number": null,
  "approx_size": "Pequeño (10x10x10cm)",
  "status": "in_preparation",
  "courier_status": null,
  "length": 10,
  "width": 10,
  "height": 10,
  "weight": 1,
  "delivery_time": null,
  "created_at": "2019-04-27T16:30:00.000-04:00",
  "updated_at": "2019-04-25T18:38:23.422-04:00",
  "courier_url": "Sin tracking",
  "old_ticket_url_courier": null,
  "ticket_shipit_url": null,
  "ticket_url": null,
  "ticket_shipit_pdf_url": null,
  "link": "http://example.org/v/packages/16",
  "address": {
    "street": "alonso de cordoba",
    "number": "4499",
    "complement": "alonso de cordoba 4499",
    "commune": "PUDAHUEL",
    "coords": {
      "latitude": 0,
      "longitude": 0
    }
  },
  "inventory_activity": {
    "inventory_activity_orders_attributes": [
      {
        "sku_id": 2,
        "amount": 1,
        "warehouse_id": 3
      },
      {
        "sku_id": 3,
        "amount": 2,
        "warehouse_id": 3
      }
    ]
  },
  "integration_reference": "1"
}
Suggest Edits

Configuración

Obtiene la configuración de tu webhook

 
gethttps://api.shipit.cl/v/webhooks/package
require 'httparty'
url = 'http://api.shipit.cl/v/webhooks/packages'
headers = { 'Content-Type': 'application/json', 'Accept': 'application/vnd.shipit.v2', 'X-Shipit-Access-Token': 'TOKEN_API', 'X-Shipit-Email': 'YOUR_EMAIL_API' }

response = HTTParty.get(url, headers: headers)



A binary file was returned

You couldn't be authenticated

{
    "email": "EMAIL@SHIPIT.CL",
    "authentication_token": "TOKEN",
    "webhook": {
        "url": "LINK",
        "options": {
            "sign_body": {
                "required": false,
                "token": ""
            },
            "authorization": {
                "required": false,
                "kind": "Basic",
                "token": ""
            }
        }
    }
}
{
    "message": "Sin configuracion disponible",
    "state": "error"
}

Headers

Content-Type
string
required

application/json

X-Shipit-Email
string
required

Email asociado a la cuenta

X-Shipit-Access-Token
string
required

Token asociado a la cuenta

Accept
string
required

application/vnd.shipit.v2

 
Suggest Edits

Actualización

Actualiza la configuración de tu webhook

 
patchhttps://api.shipit.cl/v/webhooks/package
require 'httparty'
url = 'http://api.shipit.cl/v/webhooks/packages'
headers = { 'Content-Type': 'application/json', 'Accept': 'application/vnd.shipit.v2', 'X-Shipit-Access-Token': 'TOKEN_API', 'X-Shipit-Email': 'YOUR_EMAIL_API' }
body = {
  webhook: { 
    url: "http://webhook.site/7b07ec64-9fd7-46c5-adf9-d328a6557d75",
    options: {
      sign_body: {
        required: false,
        token: ""
      },
      authorization: {
        required: true,
        kind: "Bearer",
        token: "TOKEN" 
      }
    }
  }
}

response = HTTParty.patch(url, headers: headers, body: body.with_indifferent_access)

A binary file was returned

You couldn't be authenticated

{
    "email": "EMAIL@SHIPIT.CL",
    "authentication_token": "TOKEN",
    "webhook": {
        "url": "http://webhook.site/7b07ec64-9fd7-46c5-adf9-d328a6557d75",
        "options": {
            "sign_body": {
                "required": false,
                "token": ""
            },
            "authorization": {
                "required": true,
                "kind": "Bearer",
                "token": "TOKEN"
            }
        }
    }
}
{
    "message": "Sin configuracion disponible",
    "state": "error"
}

Body Params

webhook
object
 
webhook.url
string
required

Url hacia donde apuntaremos nuestro webhook

webhook.options
object

Configura la encriptación y Autenticación del Webhook

 

Headers

Content-Type
string
required

application/json

X-Shipit-Email
string
required

Email asociado a la cuenta

X-Shipit-Access-Token
string
required

Token asociado a la cuenta

Accept
string
required

application/vnd.shipit.v2

 

Configuración del webhook

Ahora es posible agregar encriptación y autenticación a los webhooks

Encriptación:

Para poder encriptar el contenido del webhook (body) es necesario activar esta opción y ademas agregar el token de encriptacion / desencriptacion:
"sign_body": { "required": true, "token": "token" }.
Con estos datos nuestro sistema realiza la encriptación del webhook con la codificación SHA1 para mas información https://developer.github.com/webhooks/securing/

Autenticación:

Para evitar abrir una url dentro de tu sitio agregamos la opción de autenticar los webhooks, para poder activar esta opción debes actualizar la opción authorization.required a true ademas agregar el tipo de autenticación que necesitas, opciones disponibles: (Basic, Bearer, Token=).
esta autenticación esta basada en HEADERS con el key ej:
Authorization: Bearer token.....
Authorization: Basic token.....

El objeto a configurar es el siguiente:
"authorization": { "required": true, "kind": "Bearer", "token": "TOKEN" }

Suggest Edits

Flujo API Shipit

Caso de uso de implementación de nuestra API

 

A continuación te damos un ejemplo de como utilizar nuestra API para la implementación de una tienda ECommerce