Más información sobre el objeto "en cola" y "procesado" aquí.
Obtener información de envío en los pedidos
Julia, nuestra comerciante de prueba, recibió un nuevo pedido del mercado de La Redoute. Quiere encontrar la información de envío solicitada para ayudarla a enviar el pedido.
GET /orders/?account_id=1&marketplace_order_id=2020.111.123456789
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"marketplace": "laredoute",
"account_id": 1,
"marketplace_country_iso2": "FR",
"marketplace_order_id": "2020.111.123456789",
"merchant_order_id": [
"1234567"
],
"marketplace_status": "ToShip",
"lengow_status": "waiting_shipment",
"workflow_rank": 5,
"marketplace_order_date": "2020-11-12T15:23:18Z",
"total_order": 74.8,
"total_tax": "0.00",
"shipping": 9.9,
"discount": 0.0,
"commission": null,
"processing_fee": null,
"currency": {
"iso_a3": "EUR",
"sEncuentra aquí algunos consejos y casos de uso para ayudarte a configurar tus solicitudes y acciones con nuestra API.
Para ilustrar estos casos de uso, hemos elegido utilizar un comerciante de prueba.
- Llamemos a nuestro comerciante de prueba "Julia" y digamos que su número de cuenta es "1".
- Tenga en cuenta que ella está utilizando Postman para hacer todas sus llamadas API.
- Los resultados estarán en formato JSON
- Estos casos de uso son ejemplos puros
Más información sobre Postman y cómo crear una colección (grupo de solicitudes guardadas) aquí.
Conéctate a nuestra API: Obtén el token de acceso
- El primer paso antes de hacer una llamada de solicitud o cualquier acción dentro de la API de Lengow es ingresar a la API.
Para hacerlo, Julia necesita recoger sus credenciales de su cuenta de Lengow que son:
- ID de cuenta de Lengow
- token secreto
- token
y abrir Postman.
Entonces, una vez que ha establecido un nuevo entorno en Postman con sus credenciales, puede proceder y POST la primera llamada que es:
POST /access/get_token
- La API envía de vuelta un token de acceso como este:
{
"token": "69946b78-edae-49b8-8874-6fb025e09a58",
"account_id": 1
}
Ella agrega este token a su entorno de Postman bajo la variable LENGOW_AUTH (ver imagen a continuación).
El "token" enviado por la API de Lengow dura 3600 segundos y ahora puede ser utilizado como Lengow_AUTH en Postman.
Consejo: Con la ayuda de tus desarrolladores puedes configurar un script que haga esta llamada automáticamente cada hora.
Verificar acciones en pedidos
Julia ha corregido una de sus acciones de envío en un pedido. Quiere comprobar que su última acción es correcta y que la acción que envió ha sido procesada correctamente por la API de Lengow hacia la API del canal.
- GET /orders/actions/
Desde la API de Lengow, ella consulta este pedido específico utilizando el parámetro "&marketplace_order_id" y utiliza el ID de su pedido (ver abajo).
-- endpoint /orders/actions --
-- método GET --
GET /orders/actions/?account_id=1&marketplace_order_id=12-05319-12345
-- respuesta de la API --
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 13244460,
"marketplace_order_id": "12-05319-123452",
"account_id": 1,
"marketplace": "ebay_fr",
"action_type": "ship",
"processed": true,
"queued": false,
"tracking_number": "2L01286914523",
"tracking_url": null,
"carrier": "FR_ColiposteColissimoRecommended",
"custom_carrier": null,
"line": "193393034918-1749999860009",
"declared_value": null,
"currency_code": null,
"invoice_number": null,
"shipping_method": null,
"shipping_date": null,
"shipping_service_id": null,
"shipping_service_offer_id": null,
"created_at": "2020-07-02T08:03:37.912433Z",
"updated_at": "2020-07-02T08:03:39.262053Z",
"weight": null,
"weight_unit": null,
"comment": null,
"delay": null,
"reason": null,
"charges": null,
"errors": null,
"delivery_date": null,
"delivery_experience": null,
"return_tracking_number": null,
"refund_price": null,
"refund_shipping_price": null,
"refund_mode": null,
"refund_reason": null,
"refund_quantity": null,
"refund_shipping": null,
"refund_shipping_taxes": null,
"refund_taxes": null,
"carrier_name": null,
"carrier_pickup": null,
"package_dimension_length": null,
"package_dimension_width": null,
"package_dimension_height": null,
"package_dimension_unit": null,
"from_address_name": null,
"from_address_line": null,
"from_address_city": null,
"from_address_state_province": null,
"from_address_postal_code": null,
"from_address_country_code": null,
"from_address_mail": null,
"from_address_phone": null,
"pickup_id": null,
"refund_id": null,
"return_carrier": null
},
{
"id": 13244455,
"marketplace_order_id": "12-05319-123452",
"account_id": 1,
"marketplace": "ebay_fr",
"action_type": "ship",
"processed": false,
"queued": false,
"tracking_number": null,
"tracking_url": null,
"carrier": "FR_ColiposteColissimoRecommended",
"custom_carrier": null,
"line": "193393034918-1749999860009",
"declared_value": null,
"currency_code": null,
"invoice_number": null,
"shipping_method": null,
"shipping_date": null,
"shipping_service_id": null,
"shipping_service_offer_id": null,
"created_at": "2020-07-02T08:02:50.609088Z",
"updated_at": "2020-07-02T08:02:50.681358Z",
"weight": null,
"weight_unit": null,
"comment": null,
"delay": null,
"reason": null,
"charges": null,
"errors": "Se necesita número de seguimiento Y transportista para la acción de envío de pedido",
"delivery_date": null,
"deliverymbol": "€",
"name": "Euro"
},
"original_currency": {
"iso_a3": "EUR",
"symbol": "€",
"name": "Euro"
},
"original_total_order": 74.8,
"original_total_tax": "0.00",
"original_shipping": 9.9,
"original_discount": 0.0,
"original_commission": null,
"original_processing_fee": null,
"comments": null,
"invoice_number": null,
"invoice_url": null,
"payments": [],
"packages": [
{
"cart": [
{
"id": 8623271,
"marketplace_order_line_id": "2020.111.123456789-1",
"marketplace_product_id": "4001072020053",
"merchant_product_id": {
"field": "ID_PRODUCT",
"id": "111111"
},
"feed_id": 12345,
"marketplace_package_id": null,
"marketplace_status": "ToShip",
"lengow_status": "waiting_shipment",
"title": "Visor de diapositivas automático - Diascop 3",
"category": "Inicio > Accesorios > Visores",
"url_product": null,
"url_image": null,
"order_line_meta": {
"DeliveryMode": "Home",
"DeliveryType": "Regular"
},
"amount": "64.90",
"tax": "0.00",
"discount": null,
"shipping": null,
"original_amount": "64.90",
"original_tax": "0.00",
"original_discount": null,
"original_shipping": null,
"quantity": 1,
"documents": [],
"created_at": null,
"updated_at": null,
"orderline_types": []
}
],
"delivery": {
"id": 151186892,
"type": "delivery",
"first_line": "500 AVENUE TEST",
"zipcode": "69300",
"city": "CALUIRE ET CUIRE",
"vat_number": null,
"company": null,
"civility": "Señor",
"first_name": null,
"last_name": null,
"second_line": "",
"complement": "PISO 3E",
"phone_home": null,
"phone_office": null,
"phone_mobile": "06700000000",
"full_address": null,
"full_name": "TEST BOB DUPONT",
"email": "*****.fr",
"metas": null,
"state_region": null,
"common_country_iso_a2": "FR",
"trackings": [
{
"number": null,
"method": "Home / Regular",
"carrier": null,
"url": null,
"is_delivered_by_marketplace": null,
"parcel_weight": null,
"shipped_at": null,
"pickup_store": {
"id": null
},
"relay": {
"id": null,
"name": null
},
"marketplace_order_line_ids": [
"2020.111.123456789-1"
]
}
]
}
}
],
"billing_address": {
"id": 151198390,
"type": "billing",
"first_line": "500 AVENUE TEST",
"zipcode": "69300",
"city": "CALUIRE ET CUIRE",
"vat_number": null,
"company": null,
"civility": "Señor",
"first_name": null,
"last_name": null,
"second_line": "",
"complement": "PISO 3E",
"phone_home": null,
"phone_office": null,
"phone_mobile": "06700000000",
"full_address": null,
"full_name": "TEST BOB DUPONT",
"email": "*****.fr",
"metas": null,
"state_region": null,
"common_country_iso_a2": "FR"
},
"contact_address": null,
"documents": [],
"imported_at": "2020-11-12T16:09:07.256186Z",
"updated_at": "2020-11-12T16:32:15.849000Z",
"order_meta": {
"checksum": "b4aa946ef504ed758359db880c03bd62"
},
"anonymized": false,
"order_types": []
}
]
}
- El pedido está en el estado "waiting_shipment".
Desde el parámetro "delivery" > "trackings" de la respuesta de la API, Julia puede verificar el método de entrega elegido por el cliente:
- "method": "Home / Regular"
Desde este parámetro de "seguimiento", se puede encontrar otra información y podría completarse dependiendo del método de entrega elegido por el cliente:
"is_delivered_by_marketplace": null,
"pickup_store": { "id": null },
"relay": { "id": null, "name": null
Nota: Si se hubiera elegido el método "Relais / Regular", el parámetro "relay" del pedido se habría completado con un identificador y un nombre del punto de relevo.
PASO 2
Julia luego consulta la información general del mercado para saber cuáles son los elementos obligatorios a completar para enviar correctamente su pedido.
Desde la API, esta vez utiliza el endpoint /marketplace:
GET /marketplaces/?marketplace=laredoute
En la respuesta que devuelve la API de Lengow, podría encontrar
- lista de estados de pedido
- Acciones autorizadas en pedidos y parámetros obligatorios a completar por acción
- Transportistas autorizados por el mercado en la etiqueta "carriers"
Para La Redoute, encuentra:
"actions": {
"ship": {
"args": [
"carrier",
"tracking_number"
Luego consulta la etiqueta "carrier" para saber si los valores válidos son obligatorios o no:
"carrier": {
"type": "string",
"valid_values": {},
"default_value": "",
"accept_free_values": true
Esto significa que para validar el envío de su pedido de La Redoute (entrega a domicilio), Julia debe proporcionar
- la información "carrier"
- un "tracking_number"
Como no hay una lista de transportistas obligatorios, puede usar el transportista de su elección.
Recuperar documentos
Julia, nuestra comerciante de prueba, recibió un nuevo pedido del mercado de Zalando. Quiere descargar los documentos que se le pide que incluya en el paquete: factura, nota de entrega y formulario de devolución.
Nota: Estos documentos son editados por Lengow y también pueden ser descargados en la plataforma de Lengow, como se explica en nuestra guía de Zalando.
PASO 1
Una vez conectada a la API de Lengow, consulta su pedido utilizando el punto final /orders de esta manera:
GET /orders/?account_id=1&marketplace_order_id=10987654321
En la respuesta que devuelve la API de Lengow, encuentra la sección "documents", donde puede obtener los ID de estos documentos:
"documents": [
{
"id": 2111112,
"marketplace_doc_id": "DELIVERY_NOTE_123fc456-f789-101b-b12g-a134c1235678",
"url": "http://api.lengow.io/v3.0/document/2111112",
"created_at": "2022-05-14T06:26:19.479581Z",
"doc_type": {
"lengow_type": "DELIVERY",
"marketplace_code": "DELIVERY_NOTE",
"marketplace_label": "Notas de entrega de Zalando"
}
},
{
"id": 2111111,
"marketplace_doc_id": "RETURN_123fc456-f789-101b-b12g-a134c1235678",
"url": "http://api.lengow.io/v3.0/document/2111111",
"created_at": "2022-05-14T06:26:19.478343Z",
"doc_type": {
"lengow_type": "RETURN",
"marketplace_code": "RETURN",
"marketplace_label": "Formulario de devolución de Zalando"
}
},
{
"id": 2111110,
"marketplace_doc_id": "BILL_123fc456-f789-101b-b12g-a134c1235678",
"url": "http://api.lengow.io/v3.0/document/2111110",
"created_at": "2022-05-14T06:26:19.475280Z",
"doc_type": {
"lengow_type": "BILL",
"marketplace_code": "BILL",
"marketplace_label": "Factura de Zalando"
}
}
]
PASO 2
Utilizando los ID de los documentos que encontró (2111110, 2111111 y 2111112 en este ejemplo), Julia descarga los documentos correspondientes utilizando el punto final /document (una llamada para cada documento):
GET /document/2111110?account_id=1
Resultado visible en Postman: