Theme switcher

Descripción General

Bienvenido a la documentación de Picker Express API.

Picker te permitirá conectar tus plataformas y/o comercios a distintos proveedores de delivery de la región en la que te encuentras. La integración con Picker a través de su API te ofrece las siguientes capacidades:

  • Administración de locales.
  • Automatizar la creación de pedidos desde tu plataforma.
  • Realizar consultas de tarifas.
  • Recibir en tiempo real las actualizaciones de tu pedido.

La siguiente guía te permitirá saber los primeros pasos, buenas practicas y las referencias de la API que debes de tomar en cuenta en tu desarrollo.

Was this section helpful?

What made this section unhelpful for you?

Por Dónde Empezar

En esta página podrás ver cuales son los primeros pasos y que cosas se deben tener en cuenta antes de desarrollar la integración. Si tienes alguna duda acerca de algún concepto de nuestra plataforma, puedes visitar la página de Glosario donde tendrás información mas detallada.

Ten en cuenta que para empezar a desarrollar tu integración con Picker, debes tener una cuenta creada con nosotros; o en su defecto, haber contactado a ventas para que les pueda facilitar una cuenta de desarrollo. Para poder comunicarte con ellos, puedes seguir los pasos en nuestra pagina oficial aquí.

Una vez que tengas credenciales, ten en consideración que estas te permitirán acceder al dashboard. Estos son las url's del dashboard para producción y sandbox:


Para entender un poco la lógica que maneja Picker, una cuenta se la denomina Empresa. Cada empresa puede tener N locales (que pueden representar tiendas, restaurantes, puntos de despacho). Cada local obligatoriamente debe estar referenciado con una dirección y una geolocalización (se las requiere al momento de crearlas). Por ejemplo: Si tu empresa va a manejar 2 sucursales, deberás crear 2 locales.

Para poder identificar tu empresa o local, nuestra API utiliza dos tipos de keys:

  • API Key de Local: Permite hacer operaciones sobre cada local (actualizaciones) y permite realizar operaciones de pedidos (crear, consultar estado, consultar precio)
  • Master Key de Empresa: Permite consultar y hacer operaciones sobre mi empresa (crear locales, consultar locales).

Bajo este criterio, al integrarte tendrás un api key por cada local y un master key por tu empresa creado. Por ejemplo: Si tienes un empresa con 3 locales, básicamente tendrías 1 Master Key (representando tu empresa) y 3 Api Keys (cada Api Key representando un local).


API KEY

Al tener acceso al dashboard podrás obtener los api keys de cada local que vayas creando en la opción de Locales.

En la esquina superior derecha de cada local, podrás visualizar el api key del local.


MASTER KEY

Para poder acceder al Master Key de tu tienda, debes ingresar a la opción de Configuraciones (representado por el engrane).

En configuraciones, podrás encontrar el key de tu empresa.

Was this section helpful?

What made this section unhelpful for you?

Autenticación

La autenticación que maneja Picker API para cada enpoint es una autenticación de tipo Bearer; y usar como key el api key de tu local o el master key de tu empresa de acuerdo al endpoint que estes usando.

BASH

bash
Select...
curl --location 'https://dev-api.pickerexpress.com/api/createBooking' \
--header 'content-language: en' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{apiKey}}' \

BASH

bash
Select...
curl --location 'https://dev-api.pickerexpress.com/api/createStore' \
--header 'content-language: en' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{masterKey}}' \

Was this section helpful?

What made this section unhelpful for you?

Ciclo de Vida del Pedido

Todo pedido creado en la plataforma de Picker es determinado por un estado. El estado de un pedido es una parte importante del ciclo de vida del mismo. Estos estados pueden indicar si el pedido esta terminado, cancelado o aun en proceso. Es importante que en la integración que se vaya a desarrollar se mapeen todos los estados posibles, para que el cliente tenga muy claro lo que significa cada estado.

API Reference

En este apartado podrás encontrar todos los endpoints expuestos en nuestra API Suite. Este apartado estará dividido en cada una de las entidades a las que tendrás acceso en este API:

Ten muy en cuenta las URLs que estés usando para tus endpoint. En la parte derecha de esta página, tendrás el direccionamiento a cada uno de los ambientes que tenemos.

Was this section helpful?

What made this section unhelpful for you?

Base URL

Production:

https://api.pickerexpress.com

Sandbox:

https://dev-api.pickerexpress.com

Was this section helpful?

What made this section unhelpful for you?

Stores

En este apartado podrás encontrar los endpoints usados para la administración de los locales de tu empresa. Podrás encontrar los endpoints de:

Ten en consideración que los endpoints de Create Store y Get Stores usan como autenticación Master Key (para identificar el Empresa). En cambio el de Update Store y Get Store usa Api Key (para identificar el local).

Webhooks

En este apartado encontraras los endpoints a utilizar para el manejo de webhooks. Podrás encontrar los endpoints de:

Así mismo, podrás encontrar los detalles de los payloads que se envian a los webhooks registrados según cada evento. Los eventos que se devuelven en los webhooks son:

Para todos los endpoints de webhooks, necesitas como autorización el api key del local

Si necesitas mas información acerca de los estados que llegan en los webhooks, puedes visitar la pagina de Estados del Pedido.

Pre-Booking

Esta funcionalidad esta en certificación y unicamente existe en al ambiente de sandbox.

Un Pre-booking es denominada a una plantilla con datos preliminares de un pedido sin los datos del punto final de entrega. Para poder convertirlo en un booking, es necesario que se pueda ingresar la dirección de entrega mediante una url que es retornado al momento de crear o consultar un pre-booking. Una vez ingresada la dirección final, el booking se crea y se inicia automáticamente la búsqueda de un conductor.

En este apartado podrás encontrar todos los endpoints utilizados para poder crear un pre-booking:

Bookings

En este apartado encontrarás todos los endpoints relacionados a los pedidos o bookings. Podras encontrar desde consultas de precios, creación de bookings, consultas y cancelaciones. Los endpoints que puedes encontrar en esta sección son:

Todos estos endpoints usan como autorización el api key del negocio.

Was this section helpful?

What made this section unhelpful for you?

Pre Checkout

El endpoint de Pre Checkout te permitirá consultar precios y valores del pedido que necesites realizar. Además de eso, te indicará si es posible que podamos atender tu pedido (si el pedido cubre una distancia muy larga entre el local y el punto de entrega; o el punto de entrega esta fuera de cobertura, devolveremos un mensaje de error).

Para este endpoint es obligatorio la locación del punto de entrega. La ubicación del local ya la obtenemos automáticamente por el Api Key del negocio que usas en la autorización.

Otros datos que puedes ingresar en este endpoint son:

  • paymentMethod: Es el método de pago que usarás para el pedido. En el caso que exista un pago en efectivo al momento de entregar el pedido, deberás usar CASH. Caso contrario, si no hay ningún pago de por medio y el conductor unicamente tiene que recoger el pedido y entregarle al cliente, deberás usar CARD.
  • carName: Indicá el tipo de vehículo que necesitas para tu pedido. Si es un pedido de dimensiones pequeñas y necesitas una moto, debes ingresar aquí BIKE. Si tu pedido es de mayores dimensiones y necesitas un coche, deberás usar LITE.

La opción de carName: LITE solo esta disponible por el momento en Ecuador

Header Parameters

Content-Typestring

This is a required header parameter that determines the media type of the resource. It directly informs the server about the format of data being sent. Typical values include "application/json" or "text/plain".

Authorizationstring

This is a header parameter used for identifying the authenticated user making the request. The value typically contains the token generated during the user authentication process.

Body Parameters

latitudestring Required

Latitud de la locación del punto de entrega

longitudestring Required

Longitud de la locación del punto de entrega

paymentMethodstring

Método de pago que se usará para el pedido. Por default es CARD

Default value
CARD
Enum values:
CARDCASH
carNamestring

Tipo de vehículo que necesitas para tu pedido. Por default es BIKE (moto). El modo LITE (coche) solo esta disponible para pedidos de Ecuador

Default value
BIKE
Enum values:
BIKELITE

Response

200
Object
Response con valores del pedido

Response Attributes

deliveryFeenumber

Precio que se cobrará por el pedido

deliveryFeeWithTaxnumber

Precio con impuestos

taxnumber

Impuestos

taxPercentagenumber

Porcentaje de impuesto aplicado

Was this section helpful?

What made this section unhelpful for you?

Language Box

POST

/api/preCheckout

Select
1 2 3 4 5 6 7 8 9 curl --location 'https://api.pickerexpress.com/api/preCheckout' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: {{apiKey}}' \ --data '{ "latitude": "-2.192912", "longitude": "-79.888705", "paymentMethod": "CARD", "carName": "BIKE" }'

Response

{
  "deliveryFee": 7,
  "deliveryFeeWithTax": 7.84,
  "tax": 0.84,
  "taxPercentage": 0.12
}

Status Codes

200

Precios consultados

400

Faltan parámetros obligatorios

401

Workspace suspendido

403

API Key inválido

404

Recurso no existe

409

No tienes Proveedores activados para tu negocio. Distancia fuera de rango

Was this section helpful?

What made this section unhelpful for you?

Create Booking

El endpoint de Create Booking es el mas importante de todo el Api Suite de Picker. Este endpoint es el que permitirá poder crear un pedido dentro de la plataforma de Picker. La ejecución de este endpoint desencadenará todo el proceso del pedido (desde su creación, búsqueda de proveedores, actualizaciones de estado y finalización). Si necesitas mas detalles, puede visitar la sección de Ciclo de Vida del Pedido.

Cada dato que se ingrese aquí es muy importante para el correcto desarrollo del pedido:

  • Los datos del cliente como sus nombres deben ser claros y completos. Así mismo como su número de teléfono y dirección. Recuerda que en cuanto mas exacto sea el pedido, menos inconvenientes tendrá el conductor para localizar y entregarle su pedido al cliente.
  • El método de pago con el cual se procesará el pedido. Así podemos procesar tu pedido con los proveedores que apliquen para el método de pago indicado.
  • Los valores del pedido como orderAmount y businessDeliveryFee. Estos valores son importantes para que el proveedor tenga claro el costo del pedido, en el caso que exista alguna novedad (no importa si el pedido es en efectivo o no).
  • El parámetro sendTrackingLink te indicará si necesitas que nosotros como Picker enviemos el link de tracking al cliente. El envío de tracking dependerá de las configuraciones que tienes en tu local (Whatsapp o Correo).
  • Cooktime que representa el tiempo de preparación del pedido. Este tiempo correrá apenas se cree el pedido. Una vez cumplido el tiempo, se iniciará la búsqueda de un conducto. Si necesitas que la búsqueda se inicie enseguida, deberás ingresar 0.
  • Para saber la tarifa del pedido, deberás sumar los campos priceBreakUp.baseFare + priceBreakUp.perKmCharge

Es recomendable que una vez que se cree el booking, guardes el id o bookingNumericId del pedido para poder posteriormente consultarlo y hacer match en el caso que tengas activados los webhooks.

Header Parameters

Content-Typestring

Content type de payload

Authorizationstring

Token de autenticación tipo Bearer. Se debe usar Api Key

Body Parameters

longitudenumber Required

Longitud de la locación del punto de entrega

latitudenumber Required

Latitud de la locación del punto de entrega

citystring

Ciudad en que se desarrolla el pedido

statestring

Estado, provincia o municipio donde se desarrolla el pedido

zipCodestring

ZipCode del lugar de entrega

addressstring Required

Dirección completa del lugar de entrega

customerNamestring Required

Nombre del Cliente

customerLastNamestring Required

Apellido del Cliente

customerEmailstring Required

Email del cliente

customerMobilestring Required

Número de teléfono del cliente

customerCountryCodestring Required

Código de país de teléfono de cliente

sendTrackingLinkboolean (binary)

True si necesitas que enviemos el link de tracking al cliente

Default value
false
paymentMethodstring Required

Método de pago del pedido

Enum values:
CARDCASH
orderAmountnumber (double)

Es el valor a cobrar por el paquete en el caso que el pedido este en efectivo. Aquí debería incluirse lo que el conductor va a cobrar al cliente.

Default value
0
externalBookingIdstring

ID del pedido en tu sistema o integración

referencestring

Referencia del lugar de entrega

bookingNotesstring

Observaciones o notas del pedido

carNamestring

Tipo de vehículo que necesitas para el pedido

Default value
BIKE
Enum values:
BIKELITE
cookTimeinteger (int32)

Tiempo de preparación del pedido. Es el tiempo de espera antes de iniciar la búsqueda. Debe ser en milisegundos

Default value
0
businessDeliveryFeenumber

Es el valor de delivery que vas a cobrar al cliente. Si el pedido es en efectivo, se sumará al orderAmount para el cobro final

Default value
0
onlyMyFleetboolean

True si necesitas que este pedido sea solo operado por el proveedor Mi Flota

Default value
false
productValuenumber

Valor real del producto. Debe ser sin descuentos (para temas de auditoría y seguro)

Response

200
Object
Datos del booking creado

Response Attributes

customerNamestring

Nombre del cliente

customerMobilestring

Número del cliente

customerCountryCodestring

Código de país del cliente

customerEmailstring
deliveryCitystring
deliveryStatestring
deliveryZipCodestring
deliveryAddressstring
deliveryCoordinatesobject

Show child attributes

deliveryReferencesstring
pickupCitystring
pickupStatestring
pickupZipCodestring
pickupAddressstring
pickupCoordinatesobject

Show child attributes

priceBreakUpobject

Show child attributes

pickupReferencesstring

Referencia del local

carNamestring
paymentMethodstring
bookingNotesstring
statusTextstring

Estado del pedido. Si el pedido se creo sin cookTime, el estado será READY_FOR_PICKUP; si se creo con cookiTime iniciará con el estado ON_HOLD

deliveryFeenumber
orderAmountnumber
cookTimenumber
onlyMyFleetboolean
_idstring

ID alfanumérico del pedido

bookingNumericIdnumber

ID público y numérico del pedido

smrURLstring

Link de tracking de Picker

smrTokenstring

Token de Share My Ride usado para el tracking

Was this section helpful?

What made this section unhelpful for you?

Language Box

POST

/api/createBooking

Select
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 curl --location 'https://api.pickerexpress.com/api/createBooking' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{apiKey}}' \ --data-raw '{ "longitude": -79.9021074, "latitude": -2.1690531, "city": "Guayaquil", "state": "N/A", "zipCode": "11560", "address": "Test Site. Test Address", "customerName": "Juan", "customerLastName": "Picker", "customerEmail": "test@picker.com", "customerMobile": "9999999999", "customerCountryCode": "+593", "sendTrackingLink": true, "paymentMethod": "CARD", "orderAmount": 10, "externalBookingId": "123", "reference": "Al llegar tocar timbre", "bookingNotes": "Test String", "carName": "BIKE", "cookTime": 60000, "businessDeliveryFee": 2.5, "onlyMyFleet": false, "productValue": 15 }'

Response

{
  "customerName": "Juan Picker",
  "customerMobile": "1111111111",
  "customerCountryCode": "+52",
  "customerEmail": "picker@gmail.com",
  "deliveryCity": "Mexico",
  "deliveryState": "N/A",
  "deliveryZipCode": "11370",
  "deliveryAddress": "Nezahualpilli 71, Tlaxpana, Miguel Hidalgo, 11370 Ciudad de México, CDMX, México",
  "deliveryCoordinates": {
    "type": "Point",
    "coordinates": [
      -99.171842,
      19.440767
    ]
  },
  "deliveryReferences": "N/A",
  "pickupCity": "Nezahualcóyotl",
  "pickupState": "México",
  "pickupZipCode": "57700",
  "pickupAddress": "Av. Sor Juana Inés de La Cruz 242, Evolucion, 57700 Nezahualcóyotl, Méx., México",
  "pickupCoordinates": {
    "type": "Point",
    "coordinates": [
      -99.0211501,
      19.3941811
    ]
  },
  "priceBreakUp": {
    "baseFare": 2.3,
    "perKmCharge": 1.3552
  },
  "pickupReferences": "esquina Interior: 0 Exterior: 242",
  "carName": "LITE",
  "paymentMethod": "CARD",
  "bookingNotes": "",
  "statusText": "READY_FOR_PICKUP",
  "deliveryFee": null,
  "orderAmount": null,
  "cookTime": null,
  "onlyMyFleet": false,
  "_id": "655ecc65ffbf6f71379a39c3",
  "bookingNumericId": 415146340,
  "smrURL": "https://dev-smr.pickerexpress.com/F78gZPzy8",
  "smrToken": "F78gZPzy8"
}

Status Codes

200

Booking creado

400

Parámetros incompletos o inválidos

401

Workspace suspendido

403

Api Key inválido

404

Recurso no existe

409

No tienes Proveedores activados para tu negocio. Distancia fuera de rango

Was this section helpful?

What made this section unhelpful for you?

Get Booking Details

Con el endpoint de Get Booking Details podrás consultar el detalle de un booking en específico. La consulta la puedes hacer mediante cualquiera de estos 3 parámetros:

  • bookingID: Deberás enviar el bookingNumericID obtenido en la creación del booking.
  • id: Deberás enviar el id obtenido en la creación del booking.
  • externalID: Deberás enviar lo que enviaste en externalBookingID al momento de crear el pedido.

Puedes usar cualquiera de los 3 métodos para consultar el pedido.

Ojo. El booking que consultes deberá haber sido procesado y creado con el Api Key del local que estes usando. Si intentas buscar un id de pedido que pertenece a otro local, la plataforma no te lo devolverá.

Header Parameters

Authorizationstring

Token de autenticación tipo Bearer. Se debe usar Api Key

Query Parameters

bookingIDstring

ID público y númerico del pedido

idstring

ID alfanumérico del pedido

externalIDstring

ID externo de tu integración

Response

200
Object
Datos del booking consultado

Response Attributes

customerNamestring
customerMobilestring
customerCountryCodestring
customerEmailstring
deliveryCitystring
deliveryStatestring
deliveryZipCodestring
deliveryAddressstring
deliveryCoordinatesobject

Show child attributes

deliveryReferencesstring
pickupCitystring
pickupStatestring
pickupZipCodestring
pickupAddressstring
pickupCoordinatesobject

Show child attributes

pickupReferencesstring
pricenumber

Precio del pedido

carNamestring
paymentMethodstring
bookingNotesstring
statusTextstring
deliveryFeestring
orderAmountstring
cookTimestring
onlyMyFleetboolean
_idstring
bookingNumericIdnumber
smrURLstring
smrTokenstring
Was this section helpful?

What made this section unhelpful for you?

Language Box

GET

/api/getBookingDetails?bookingID=415141847&id=&externalID=

Select
1 2 curl --location 'https://api.pickerexpress.com/api/getBookingDetails?bookingID=415141847' \ --header 'Authorization: Bearer {{apiKey}}' \

Response

{
  "customerName": "Juan Picker",
  "customerMobile": "1111111111",
  "customerCountryCode": "+52",
  "customerEmail": "picker@gmail.com",
  "deliveryCity": "Mexico",
  "deliveryState": "N/A",
  "deliveryZipCode": "11370",
  "deliveryAddress": "Nezahualpilli 71, Tlaxpana, Miguel Hidalgo, 11370 Ciudad de México, CDMX, México",
  "deliveryCoordinates": {
    "type": "Point",
    "coordinates": [
      -99.171842,
      19.440767
    ]
  },
  "deliveryReferences": "N/A",
  "pickupCity": "Nezahualcóyotl",
  "pickupState": "México",
  "pickupZipCode": "57700",
  "pickupAddress": "Av. Sor Juana Inés de La Cruz 242, Evolucion, 57700 Nezahualcóyotl, Méx., México",
  "pickupCoordinates": {
    "type": "Point",
    "coordinates": [
      -99.0211501,
      19.3941811
    ]
  },
  "pickupReferences": "esquina Interior: 0 Exterior: 242",
  "price": 3.65,
  "carName": "LITE",
  "paymentMethod": "CARD",
  "bookingNotes": "",
  "statusText": "READY_FOR_PICKUP",
  "deliveryFee": "",
  "orderAmount": "",
  "cookTime": "",
  "onlyMyFleet": false,
  "_id": "655ecc65ffbf6f71379a39c3",
  "bookingNumericId": 415146340,
  "smrURL": "https://dev-smr.pickerexpress.com/F78gZPzy8",
  "smrToken": "F78gZPzy8"
}

Status Codes

200

Booking consultado

400

Parámetros inválidos

401

Workspace suspendido

403

Api Key inválido

404

Recurso no existe

Was this section helpful?

What made this section unhelpful for you?

Get Cancel Reasons

Con el endpoint de Get Cancel Reasons podrás consultar las razones de cancelación que tenemos disponibles y que puedes enviar en el caso que requieras cancelar el pedido.

Ten en cuenta que utilizar estas razones no son obligatorias; sin embargo es recomendable que se la utilice para poder tener mas datos acerca de los pedidos

Header Parameters

Authorizationstring

Token de autenticación tipo Bearer. Se debe usar Api Key

Response

200
Object
Razones de cancelación

Response Attributes

dataarray

Listado de tipos de cancelación

Show child attributes

countnumber

Número de tipos de cancelación

Was this section helpful?

What made this section unhelpful for you?

Language Box

GET

/api/getCancelReasons

Select
1 2 curl --location 'https://api.pickerexpress.com/api/getCancelReasons' \ --header 'Authorization: Bearer {{apiKey}}' \

Response

{
  "data": [
    {
      "type": "TAKING_TOO_LONG",
      "en": "Search is taking too long",
      "es": "Esta tomando mucho tiempo en asignar"
    }
  ],
  "count": 1
}

Status Codes

200

Razones consultados

401

Workspace suspendido

403

Api Key inválido

404

Recurso no existe

Was this section helpful?

What made this section unhelpful for you?

Cancel Booking

El endpoint de Cancel Booking te permitirá cancelar un pedido en curso. Podrás cancelar cualquier pedido perteneciente al negocio identificado por el Api Key. Puedes agregarle una razón de cancelación que puedes tomar desde el endpoint de Get Cancel Reasons.

Así como el endpoint de Get Booking Details, solo vas a poder cancelar pedidos pertenecientes al negocio referenciado por el Api Key

Solo podrás cancelar pedidos que estén en los siguientes estados:

  • ON_HOLD
  • READY_FOR_PICKUP
  • ACCEPTED
  • ARRIVED_AT_PICKUP

Header Parameters

Content-Typestring

Content type de payload

Authorizationstring

Token de autenticación tipo Bearer. Se debe usar Api Key

Body Parameters

bookingIDstring Required

ID alfanúmerico del pedido que se necesita cancelar

cancelReasonstring

El tag de la razón de cancelación obtenida desde el endpoint de Get Cancel Reasons

Enum values:
DRIVER_NOT_OPTIMAL
Conductor no es óptimo
NOT_NEEDED
Ya no necesito a conductor
BOOKING_TEST
Es una prueba
INVALID_DATA
Datos del pedido son inválidos

Response

200
Object
Confirmación de cancelación de pedido

Response Attributes

databoolean

Confirmación de cancelación de pedido

Was this section helpful?

What made this section unhelpful for you?

Language Box

POST

/api/cancelBooking

Select
1 2 3 4 5 6 7 curl --location 'https://api.pickerexpress.com/api/cancelBooking' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{apiKey}}' \ --data '{ "bookingID": "63fe6ecd91997b5adcc8bb83", "cancelReason": "DRIVER_NOT_OPTIMAL" }'

Response

{
  "data": true
}

Status Codes

200

Pedido cancelados

400

Parámetros inválidos

401

Workspace suspendido

403

API Key inválido

404

Recurso no existe

409

Ya no es posible cancelar el pedido

Was this section helpful?

What made this section unhelpful for you?

Start Search

El endpoint de Start Search al ejecutarlo iniciará la búsqueda de conductores para pedidos que tienen cooktime. Unicamente será posible iniciar una búsqueda siempre y cuando el pedido este con el status ON_HOLD. Si el pedido ya inicio una búsqueda, se retornará como código de error 409.

Header Parameters

Content-Typestring

Content type de payload

Authorizationstring

Token de autenticación tipo Bearer. Se debe usar Api Key

Body Parameters

bookingIDstring

Representa el id alfanumerico del booking. Es retornado al momento de crear el booking en el campo id

Was this section helpful?

What made this section unhelpful for you?

Language Box

POST

/api/startSearch

Select
1 2 3 4 5 6 curl --location 'https://api.pickerexpress.com/api/startSearch' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{apiKey}}' \ --data '{ "bookingID": "63fe6ecd91997b5adcc8bb83" }'

Status Codes

200

Búsqueda iniciada

400

Parámetros faltantes

403

Api Key es inválido

404

Recurso no existe

401

Workspace no existe o esta suspendido

409

Pedido ya inició búsqueda Booking no existe.

Was this section helpful?

What made this section unhelpful for you?

Certificación

Previo a la salida a producción, es imperativo que se coordine una reunión para poder certificar tu integración con Picker. Dentro de esta certificación se van a revisar los siguientes puntos, dependiendo de las funcionalidades que tengas integradas:

  • Bookings:
    • Pre Checkout
    • Create Booking
      • Datos correctos y concretos del cliente
      • Valores a cobrar
      • Uso correcto de métodos de pago
      • Uso de cook time (Opcional)
    • Cancel Booking (Opcional)
  • Webhooks
    • Registro de Webhooks
    • Interpretación de estados en su sistema
  • Stores
    • Create Store
    • Get Store (Opcional)
  • Pre Booking
    • Create Pre Booking
      • Datos del cliente y del negocio sea correcto
      • Flujo de envió de link para confirmar dirección
    • Cancel Pre Booking (Opcional)
  • Interacción con Usuario Final
    • Visualización de Estados
    • Visualización de datos de pedido
    • Visualización de Tracking de Picker

Para acordar una reunión de certificación, se la puede agendar mediante este link.

Was this section helpful?

What made this section unhelpful for you?

FAQ

  • ¿Es necesario usar el endpoint de pre-checkout para usar el API?
    • No es imperativo usar el endpoint de pre-checkout; sin embargo lo recomendamos para que puedas saber con anterioridad el precio de un pedido antes de crearlo.
  • ¿Para que me sirve el Dashboard?
    • El Dashboard de Picker es una herramienta visual donde podrás:
      • Visualizar, administrar y crear pedidos.
      • Visualizar y administrar tus locales.
      • Manejar tus configuraciones generales.
      • Consultar los keys para la integración.
  • ¿En que escenario debo enviar CASH o CARD en paymentMethod al crear un booking?
    • CASH: Cuando el pedido requiere un pago contra entrega en efectivo.
    • CARD: Cuando unicamente requieres que el conductor recoja el pedido y lo entregue en sitio. Esto funciona si de tu lado de la integración ya estas realizando el cobro al cliente (Por transferencia, pasarela de pagos, etc).
  • ¿Qué valor debo ingresar en el campo orderAmount?
    • Nosotros recomendamos fuertemente que se coloque el valor en bruto del pedido (sin delivery fee, descuentos u otros rubros), inclusive si el pedido tiene como método de pago CASH. Esto es necesario para la auditoría de los proveedores en el caso que suceda alguna incidencia con el pedido en curso.
  • Acabo de crear mi pedido, pero no esta buscando en ningún proveedor. ¿Qué me esta haciendo falta?
    • Es muy probable que tu pedido tenga cooktime y este en estado ON_HOLD. Cuando un pedido se inicia con cooktime, tiene un tiempo de espera hasta antes de iniciar una búsqueda en los proveedores. Para iniciar una búsqueda, hay las siguientes opciones:
      • Esperar que se cumpla el tiempo de espera
      • Iniciar la búsqueda manualmente mediante la opción de Iniciar Búsqueda en el menu del pedido en Dashboard
      • Usar endpoint de Start Search.
  • Me aparece que mi workspace esta suspendido. ¿Qué debo hacer?
    • Si tu empresa esta suspendida, puedes contactar a soporte mediante la opción de chat que existe en Dashboard para conocer mas del asunto.

Was this section helpful?

What made this section unhelpful for you?

Glosario

  • Empresa: Espacio de trabajo que representa la empresa o marca, el cual puede tener 1 o mas locales asociados. Tiene un master key único, el cual es utilizado para las operaciones vía API. También es conocido como Workspace en algunas nomenclaturas.
  • Local: Es la representación de un comercio/local/restaurante/punto de despacho en la plataforma de Picker. Cada local tiene un identificativo único (Api Key); y tiene asociado una dirección y una geolocalización necesarias para la operación.
  • Master Key: Es el identificador único de cada empresa. Es obligatorio usarlo en cada operación vía API que requiere la identificación del empresa. Ejemplo: En el endpoint Create Store, es necesario para poder indicar a que empresa se debe asociar la tienda recién creada.
  • Api Key: Es el identificador único de cada tienda. Es obligatorio usarlo en las operaciones vía API en que se requiere la identificación del local. Ejemplo: En el endpoint Create Booking, es necesario para poder identificar la tienda a donde el conductor tiene que recoger el pedido.
  • Booking: Es la representación del pedido como tal en la plataforma de Picker. Cada booking o pedido tiene un identificador único interno (id), público (bookingNumericId) y un estado (statusText). Este ultimo campo representa en que estado del proceso se encuentra el pedido.
  • Orden: Es la representación de cada llamado a un proveedor. Cuando un booking se crea, este llama a todos los proveedores que tiene activado el local; cada uno de estos llamados es una orden. Un booking puede tener de N ordenes de acuerdo al número de proveedores que puede atenderlo.
  • Dashboard: Es la plataforma visual de Picker. Desde esta web se podrán administrar y configurar la empresa como sus locales. Para acceder al dashboard de producción haz click aquí.
  • Restart Search: Se lo conoce también como una rebúsqueda. Sucede cuando un pedido ya con conductor ejecuta una nueva busqueda de conductor en cada proveedor debido a que el conductor asignado no puede cumplir con el pedido antes de llegar al local. Restart Search se puede disparar en estos escenarios:
    • Proveedor cancela pedido antes de llegar al local
    • Proveedor desasigna un conductor antes de llegar al local
    • Soporte lo ejecuta manualmente en el caso que exista alguna novedad con el conductor del pedido

Was this section helpful?

What made this section unhelpful for you?