Manual de usuario
Centro de ayuda/Manual de usuario/Conectar Uber Direct: cotizar, despachar y rastrear entregas locales

Conectar Uber Direct: cotizar, despachar y rastrear entregas locales

Última actualización 2026-11-01

Copie Client ID y Client Secret de su app en direct.uber.com → Developer → API credentials, copie el Customer ID separado de la página Developer, complete la dirección de recogida como una cadena JSON en Integration, pruebe el intercambio de token y empiece a pedir entregas de Uber Direct.

El conector de Uber Direct pide entregas locales de Uber Direct desde este sistema: obtiene una cotización de entrega, crea una entrega a partir de esa cotización, consulta el estado y puede cancelar una entrega. Es solo una conexión de entrega de última milla: no trae pedidos del marketplace de Uber Eats a este sistema ni sincroniza menús o catálogos de tienda. Las cotizaciones y entregas corren con su propia cuenta de cliente de Uber Direct y su dirección de recogida.

Pasos de Uber Direct: primero las credenciales de la app y el Customer ID separado, la dirección de recogida como JSON y la prueba de token.

Requisitos previos#

  • Una cuenta de Uber Direct y acceso a direct.uber.com → Developer, donde están su app y sus credenciales de API.
  • Puede abrir su app en direct.uber.com → Developer → su app → API credentials, donde se muestran el Client ID y el Client Secret. El Client Secret se muestra solo una vez, así que planee copiarlo en la conexión de inmediato y guardarlo en un lugar seguro.
  • También tiene el Customer ID separado, de direct.uber.com → Developer → Customer ID. Es un valor distinto del Client ID: la conexión usa ambos, para cosas diferentes.
  • Conoce la dirección de recogida de su tienda o almacén por partes (dirección, ciudad, estado, código postal y país), porque la conexión la toma como una sola cadena JSON, no como campos separados.

Obtener credenciales#

  1. Vaya a direct.uber.com → Developer → su app → API credentials.
  2. Copie el Client ID que muestra esa página de API credentials.
  3. Copie el Client Secret que muestra la misma página de API credentials. Se muestra solo una vez: cópielo ahora, completo, y guárdelo en un lugar seguro. La conexión intercambia este par, Client ID más Client Secret, por un token de acceso, con el scope eats.deliveries.
  4. Por separado, vaya a direct.uber.com → Developer → Customer ID y copie el Customer ID. No lo confunda con el Client ID de la página de la app: el Customer ID nombra su cuenta de cliente de Uber Direct, y las solicitudes de entrega se hacen bajo ella; la propia ruta de la API lo lleva: /v1/customers/{customer_id}/deliveries.
Tres ID, dos lugares: Client ID y Client Secret viven juntos en la página de API credentials de su app, mientras que el Customer ID vive por separado en la página Developer. Si una solicitud de entrega falla justo después de una prueba aprobada, lo primero que hay que revisar es si un Customer ID quedó en un campo de Client ID.

Completar en Integration#

  1. Abra Integration → Marketplace → Uber Direct → Nueva conexión.
  2. client_id, obligatorio, Client ID: pegue el Client ID de direct.uber.com → Developer → su app → API credentials.
  3. client_secret, obligatorio, Client Secret: pegue completo el Client Secret de la misma página de API credentials. Es un campo de tipo contraseña y se guarda como secreto. Recuerde que se mostró solo una vez: trabaje desde la copia que guardó, no de memoria.
  4. customer_id, obligatorio, Customer ID: pegue el Customer ID de direct.uber.com → Developer → Customer ID. No es el Client ID: las entregas se piden bajo esta cuenta de cliente.
  5. pickup_address, obligatorio, dirección de recogida (JSON): complete la dirección de recogida como UNA cadena JSON, exactamente con esta forma: {"street_address":["20 W 34th St"],"city":"New York","state":"NY","zip_code":"10001","country":"US"}, con los valores de su propia tienda o almacén en lugar de los del ejemplo. Note que street_address es un arreglo entre corchetes y que todas las comillas deben ser comillas rectas en inglés. Esta dirección es obligatoria para pedir entregas; la prueba de conexión no la necesita.
  6. pickup_name, opcional, nombre de recogida: el nombre mostrado para la recogida, por ejemplo Merchant o el nombre de su tienda. pickup_phone_number, opcional, teléfono de recogida: un número que llega al punto de recogida, por ejemplo +15551234567.

Probar la conexión#

Haga clic en Probar la conexión. Esta prueba es el propio intercambio de token: la conexión envía su client_id y su client_secret al servicio de acceso de Uber (tipo de concesión client_credentials, scope eats.deliveries) y recibir un token de acceso cuenta como aprobado. Intercambiar un token no tiene efectos secundarios: no crea ninguna entrega ni cambia nada, y por eso puede servir como prueba. Si la respuesta vuelve sin un token de acceso, la prueba falla con un resultado BAD_JSON: el intercambio no devolvió lo que la conexión necesita, lo que casi siempre significa que el Client ID o el Client Secret no coincide. La prueba no usa su pickup_address ni comprueba que su customer_id pueda realmente pedir entregas, así que una prueba aprobada con una dirección incorrecta o un Customer ID incorrecto es posible, y esos errores solo aparecen después, al cotizar o crear una entrega. Si ejecuta la prueba antes de guardar credenciales, el resultado es solo una comprobación simulada: guarde las credenciales reales y pruebe de nuevo para un resultado real.

Mapping / elegir plantilla#

Uber Direct no necesita mapping de pedidos: trabaja con entregas, no con pedidos. Lo que confirma aquí es el flujo de entrega que sigue cada solicitud: primero viene una cotización, y después se crea una entrega a partir de esa cotización; crear una entrega siempre lleva la cotización de la que salió, así que no hay creación directa sin cotización. La recogida viene del JSON de pickup_address de la conexión, y cada solicitud toma su dirección de destino, contacto y artículos del envío de este sistema. Antes de activar, ejecute una cotización real y una entrega de prueba a su propia dirección, y compare el precio cotizado, la dirección de recogida tal como se interpreta desde el JSON y los datos de destino con el envío.

Flujo de entrega de Uber Direct: primero el token, luego la cotización, luego crear desde la cotización y rastrear.

Activar#

Tras activar, los envíos de este sistema pueden pedir entregas de Uber Direct: la conexión intercambia un token cuando hace falta, cotiza la entrega bajo su Customer ID, crea la entrega desde la cotización aceptada, mantiene el estado de la entrega en el envío y puede cancelar una entrega que aún no fue recogida. Vigile las primeras entregas reales en Runs / Logs antes de dejar la conexión sin supervisión, sobre todo la primera cotización, porque la prueba no verifica la dirección de recogida ni el Customer ID.

Lo que esta conexión no hace: no trae pedidos del marketplace de Uber Eats a este sistema, no sincroniza menús ni catálogos de tienda y no liquida pagos a mensajeros ni la facturación de Uber por usted. Solo cotiza, crea, rastrea y cancela entregas de Uber Direct para los envíos que usted pase por ella.

Preguntas frecuentes#

La prueba falla y no vuelve ningún token de acceso: BAD_JSON

El intercambio de token no devolvió un token de acceso, así que la conexión no tuvo nada con qué trabajar e informó BAD_JSON. La causa habitual es que el Client ID o el Client Secret no coincide: uno se copió mal, el secreto quedó recortado o se usaron credenciales de otra app.

Vuelva a direct.uber.com → Developer → su app → API credentials y copie de nuevo el par desde esa misma página: Client ID en client_id y Client Secret, completo y de la misma app, en client_secret. Luego pruebe de nuevo.

La prueba pasa, pero las cotizaciones o entregas fallan enseguida

La prueba solo demuestra el intercambio de token con client_id y client_secret. No usa su pickup_address ni comprueba su customer_id, así que un Customer ID incorrecto o una dirección de recogida defectuosa pasa la prueba y solo falla cuando una cotización o entrega real intenta correr bajo esa cuenta de cliente, desde esa dirección de recogida.

Revise los dos valores que la prueba no cubre: customer_id contra direct.uber.com → Developer → Customer ID, y pickup_address contra la forma JSON del paso de completar, carácter por carácter. Corrija el que esté mal, guarde y vuelva a cotizar.

Puse el Customer ID donde va el Client ID, o al revés

Los dos ID se parecen, pero hacen trabajos distintos y vienen de páginas distintas. El Client ID pertenece a su app y se usa, con el Client Secret, para intercambiar un token. El Customer ID nombra su cuenta de cliente de Uber Direct y va en la propia ruta de entrega: /v1/customers/{customer_id}/deliveries. Intercambiados, el intercambio de token o la solicitud de entrega falla aunque los dos campos estén completos.

Devuelva cada ID a su propio campo, desde su propia página: Client ID desde direct.uber.com → Developer → su app → API credentials, en client_id, y Customer ID desde direct.uber.com → Developer → Customer ID, en customer_id. Guarde y pruebe de nuevo.

Las entregas fallan por la dirección de recogida, aunque la prueba pasó

Es el comportamiento esperado con una dirección defectuosa: la prueba de conexión nunca mira pickup_address, así que no puede detectar un problema de dirección. La dirección solo se usa cuando una entrega se pide de verdad, y es entonces cuando una cadena JSON mal formada (street_address escrito como texto plano en lugar de un arreglo, o comillas curvas pegadas de un documento) detiene la solicitud.

Reescriba pickup_address a mano con la forma exacta del paso de completar: {"street_address":["20 W 34th St"],"city":"New York","state":"NY","zip_code":"10001","country":"US"}, con sus propios valores: street_address como un arreglo entre corchetes, comillas rectas en inglés en todo el texto y ningún texto extra antes o después del JSON. Guarde y pida la entrega de nuevo.

Perdí el Client Secret: ya no se muestra

Así funciona la página de API credentials: el Client Secret se muestra solo una vez, en el momento en que se crea. Pasado ese momento, la página ya no muestra el valor, así que un secreto que no guardó no se puede volver a leer desde la página.

Cree un Client Secret nuevo para la misma app en direct.uber.com → Developer → su app → API credentials, cópielo de inmediato esta vez, péguelo en client_secret en la conexión y guarde una copia en un lugar seguro. Luego pruebe de nuevo: la conexión intercambiará un token con el secreto nuevo.

Crear una entrega pide primero una cotización

Es el flujo normal de Uber Direct, no un error en sus valores: una entrega siempre se crea desde una cotización. La cotización fija primero los detalles y el precio de la entrega, y el paso de creación lleva esa cotización consigo: no hay una vía separada de creación directa que se salte la cotización.

Siga el flujo en orden: pida primero una cotización para el envío, revise el precio y los detalles cotizados, acéptela y después cree la entrega desde esa cotización. Si una cotización ya venció, pida una cotización nueva y cree desde la nueva en lugar de reutilizar la anterior.