Saltar al contenido principal

Comenzar (Node.js)

Con esta API, puedes aprovechar nuestra plataforma de logística bajo demanda para entregar tus productos de forma rápida y sencilla sin la molestia de tener tu propia flota de entrega. La API de Drive se ha diseñado para ser la forma más sencilla de completar tus entregas.

Un flujo típico:

  • Solicita un presupuesto (opcional). Esto te indicará la hora del retiro estimada y el costo de tu entrega.
  • Solicita una entrega o acepta un presupuesto.
  • Se realiza la entrega.

Cómo crear una entrega

Antes de comenzar, asegúrate de crear una clave de acceso y generar un JWT.

const axios = require('axios')
const { v4: uuidv4 } = require('uuid')

const body = JSON.stringify({
external_delivery_id: uuidv4(), // keep track of the generated id here or in the response
pickup_address: '901 Market Street 6th Floor San Francisco, CA 94103',
pickup_business_name: 'Wells Fargo SF Downtown',
pickup_phone_number: '+16505555555',
pickup_instructions: 'Enter gate code 1234 on the callbox.',
dropoff_address: '901 Market Street 6th Floor San Francisco, CA 94103',
dropoff_business_name: 'Wells Fargo SF Downtown',
dropoff_phone_number: '+16505555555',
dropoff_instructions: 'Enter gate code 1234 on the callbox.',
order_value: 1999,
})

axios
.post('https://openapi.doordash.com/drive/v2/deliveries', body, {
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'application/json',
},
})
.then(function (response) {
console.log(response.data)
})
.catch(function (error) {
console.log(error)
})

Cómo obtener el estado de una entrega

const axios = require('axios')

axios
.get(
'https://openapi.doordash.com/drive/v2/deliveries/{external_delivery_id}',
{
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'application/json',
},
},
)
.then(function (response) {
console.log(response.data)
})
.catch(function (error) {
console.log(error)
})

Observaciones importantes:

Vuelve a probar todos los códigos de estado de respuesta 50x, ya que el error podría ser transitorio. Recomendamos hasta 3 reintentos con un cierto retardo exponencial entre solicitudes.