Skip to main content
Version: 📄 CL

API Envíos

El equipo de Bsale ha puesto a disposición de la comunidad de desarrolladores endpoints y webhooks para la comunicación con distintos tipos de courriers de envíos. Pudiendo notificar despachos, estados de éstos y obtención de sus detalles. Para autenticar las peticiones en todos los endpoints se debe enviar en la cabecera el parámetro access_token

GET una orden

  • GET /v1/couriers/orders/:id.json retorna la información de una orden para un courier.

Parámetros

  • id, id de la orden (Integer).
  • expand, opcional para expandir nodos (String)

Ejemplos

  • GET /v1/couriers/orders/:idOrder.json?expand=orders.details
  • GET /v1/couriers/orders/:idOrder.json?expand=orders.deliveryType
Response /couriers/orders/:idOrder.json
{
"code": 200,
"data": {
"id": 32,
"origin": {
"country": "Chile",
"state": "Región Metropolitana",
"city": "Santiago",
"district": "Buin",
"address": "Camino Padre Hurtado 5696",
"zipcode": "",
"latitude": "0.0",
"longitude": "0.0"
},
"destination": {
"country": "Chile",
"state": "Región Metropolitana",
"city": "",
"district": "Vitacura",
"address": "mar jonico 7995",
"buildingNumber": "",
"zipcode": "",
"latitude": "0.0",
"longitude": "0.0"
},
"packagingType": 0,
"contact": {
"firstName": "Stefany Milagros",
"lastName": "Palma Giron",
"email": "sgcobranzas@gmail.com",
"code": "",
"phone": "941257211"
},
"comment": "A dos cuadras del colegio Sagrado Corazon de Jesús",
"deliveryType": {
"id": 3,
"name": "Overnight",
"code": "over001",
"courierId": 2
},
"courierId": 2,
"sellerId": 1,
"stateId": 6,
"label": "",
"trackingNumber": "",
"details": [
{
"id": 2,
"description": "el ananá de Pablo HUESO",
"quantity": 1,
"weight": 5,
"length": 5,
"width": 5,
"height": 5
}
]
}
}

Atributos

AtributoDescripciónTipo dato
originobjeto con la información desde donde se despacharáObject
countrypaísString
stateregión(Chile)/departamento(Perú)String
cityciudadString
districtcomuna(Chile)/distrito(Perú)String
addressdirecciónString
zipcodecódigo postalString
latitudelatitudString
longitudelongitudString
destinationobjeto con la información de destino del despachoObject
countrypaísString
stateregión(Chile)/departamento(Perú)String
cityciudadString
districtcomuna(Chile)/distrito(Perú)String
addressnombre de la calleString
buildingNumbernumero de la propiedadString
zipcodecódigo postalString
latitudelatitud (no disponible actualmente)String
longitudelongitud (no disponible actualmente)String
contactobjeto con la información de contacto del destinatarioObject
firstNamenombreString
lastNameapellidoString
emailemail de contactoString
codecódigo del destinatarioString
phoneteléfonoString
sellerinformación de contacto del remitenteObject
commentcomentario opcionalString
packagingTypedespacho en múltiples paquetes(0-no/1-si)Integer
deliveryTypestipo de despacho (expand: orders.deliveryType)Object
courierIdid del courierInteger
sellerIdid del sellerInteger
stateIdid del estado del despachoInteger
labeletiqueta del pedidoString
trackingNumbernumero de seguimientoString
detailsdetalle del despacho (expand: orders.details)Object
descriptiondescripción del detalleString
quantitycantidadFloat
weightPeso en kgFloat
lengthLargo en cmFloat
widthAncho en cmFloat
heightAltura en cmFloat

POST estados del despacho

  • POST /v1/logs.json registra de movimientos y estados del despacho.

Parámetros

  • id, id de la orden (Integer)
  • description, descripción del detalle (String)
  • stateId, id del estado (Integer)
tip

El id sólo lo obtendrás en el evento notificación que te llegue desde el webhook y se notifica como resourceId.

Estados del despacho

note
  • 1 Por retirar (Listo para despacho)
  • 2 En tránsito (Despachado)
  • 3 Entregado (Entregado)
  • 4 Problema con la entrega (Error al despachar)
  • 5 Problema con los datos (Error al despachar)
  • 6 Anulado

Estados

Response /logs.json
{
"orderId": 122,
"description": "paquete despachado",
"stateId": 2
}

POST url seguimiento y etiqueta

  • POST /v1/couriers/orders/:id/label.json registra la etiqueta y número de seguimiento

Parámetros

  • orderId, id de la orden (Integer)
  • trackingNumber Código de seguimiento (String)
  • label Url externa de etiqueta (Integer)
Response /documents/421.json
{
"orderId": 14861,
"trackingNumber": "909981888-F",
"label": "http://courierdemo.com/storage/img9099decode.jpg"
}

Webhooks Envíos

Esructura JSON

Se realizará una petición POST al endpoint que designe el Courier, la cual contendrá en su cuerpo el siguiente detalle:

{
"cpnId": 33250,
"sellerId": 7,
"userToken": "5882317a9a3555abc25e582ac585e94f5b792494",
"resource": "/v1/couriers/orders/17170.json",
"resourceId": "17170",
"topic": "courierOrder",
"action": "post",
"send": 1629741015
}

Parámetros

  • sellerId, id de la empresa que solicita la orden (Integer)
  • resource, Endpoint para obtener la información del recurso (String)
  • resourceId, id del recurso notificado (String)
  • topic, motivo o recurso de la notificación (String)
  • action, verbo REST de la notificación (String)
  • send, UNIX Timestamp de la notificación (Integer)