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).

Was this section helpful?

What made this section unhelpful for you?

Create Store

Este endpoint te ayudará a crear una tienda en tu empresa. La función principal de este endpoint es establecer un nuevo local en la plataforma de Picker relacionado a tu empresa. Recopila varios detalles sobre la tienda en cuestión, incluida su ubicación física, información de contacto e identificación de la empresa. En concreto, recibe datos como la dirección completa de la tienda, coordenadas de geolocalización (longitud y latitud), nombre de la empresa y una referencia de dirección.

El response de este endpoint es el Api Key de la tienda.

Header Parameters

Authorizationstring Required

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

Content-Typestring Required

Content type del payload

Body Parameters

addressReferencestring Required

Una referencia de la dirección del local

emailstring Required

Correo electrónico utilizado por el local

mobilestring Required

Número de contacto del local

countryCodestring Required

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

companyNamestring Required

Nombre del local

longitudenumber Required

Longitud de la locación geográfica de la tienda

latitudenumber Required

Latitud de la locación geográfica de la tienda

fullAddressstring Required

Dirección completa del local

exteriorstring

Número de exterior del local

interiorstring

Número de interior del local

addressNumberstring

Número del local

Response

200
Object
Response con el api key de la tienda recién creada

Response Attributes

tokenstring

Store Api Key

Was this section helpful?

What made this section unhelpful for you?

Language Box

POST

/api/createStore

Select
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 curl --location 'https://api.pickerexpress.com/api/createStore' \ --header 'Authorization: Bearer {{masterKey}}' \ --header 'Content-Type: application/json' \ --data-raw '{ "addressReference": "Around the corner of 1st Street", "email": "test@pickerexpress.com", "mobile": "962631309", "countryCode": "+593", "companyName": "My Food Store", "longitude": -80.00027949999999, "latitude": -2.1854752, "fullAddress": "Test Address, Test City", "exterior": "", "interior": "", "addressNumber": "" }'

Response

{
  "token": "a1a1a1a1a1-a1a1a1a1a1-a1a1a1a1a1-a1a1a1a1a1"
}

Status Codes

200

Local creado

400

Parámetros inválidos

401

Workspace suspendido o eliminado

403

Master Key es inválido

Was this section helpful?

What made this section unhelpful for you?

Update Store

El endpoint de Update Store te permitirá actualizar los datos de una tienda. Podrás actualizar desde el nombre hasta la dirección y la ubicación del local.

Al actualizar el local, el Api Key del local será el mismo. Este dato no cambiará.

En el caso de que se actualice la ubicación del local, existe la posibilidad que ciertos proveedores ya no atiendan en la nueva locación debido a su cobertura.

Header Parameters

Authorizationstring

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

Content-Typestring

Content Type del payload

Body Parameters

addressReferencestring

Referencia extra de la dirección

companyNamestring

Nombre del local

buildingstring

Dato del edificio donde se encuentra el local

emailstring

Correo electrónico del local

mobilestring

Número de teléfono del local

countryCodestring

Código de país del número de teléfono del local

longitudenumber

Longitud de geolocalización del local

latitudenumber

Latitud de geolocalización del local

fullAddressstring

Dirección completa del local

exteriorstring

Número de exterior

interiorstring

Número de interior

addressNumberstring

Número del local

Response

200
Object
Response con token de la tienda y payload que se actualizó

Response Attributes

tokenstring
addressReferencestring
companyNamestring
buildingstring
emailstring
mobilestring
countryCodestring
longitudenumber
latitudenumber
fullAddressstring
exteriorstring
interiorstring
addressNumberstring
Was this section helpful?

What made this section unhelpful for you?

Language Box

POST

/api/updateStore

Select
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 curl --location 'https://api.pickerexpress.com/api/updateStore' \ --header 'Authorization: Bearer {{apiKey}}' \ --header 'Content-Type: application/json' \ --data-raw '{ "addressReference": "Edificio de la esquina", "companyName": "Test Store", "building": "El Parejo # 3", "email": "test@test.com", "mobile": "999999999", "countryCode": "+593", "longitude": 79.8114425, "latitude": -2.1854752, "fullAddress": "Av. Siempre Viva. Entre Calle Primera y Tercera", "exterior": "1", "interior": "2", "addressNumber": "333" }'

Response

{
  "token": "a1a1a1a1a1-a1a1a1a1a1-a1a1a1a1a1a",
  "addressReference": "Edificio de la esquina",
  "companyName": "Test Store",
  "building": "El Parejo # 3",
  "email": "test@test.com",
  "mobile": "999999999",
  "countryCode": "+593",
  "longitude": 79.8114425,
  "latitude": -2.1854752,
  "fullAddress": "Av. Siempre Viva. Entre Calle Primera y Tercera",
  "exterior": "1",
  "interior": "2",
  "addressNumber": "333"
}

Status Codes

200

Local actualizado

401

Workspace esta suspendido o eliminado

403

Api Key es inválido

Was this section helpful?

What made this section unhelpful for you?

Get Store

El endpoint de Get Store servirá para consultar todos los detalles de un local identificado por su api key. Podrás consultar todos los datos ingresados al local sin importar si se lo creo vía API o vía Dashboard.

Header Parameters

Authorizationstring

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

Response

200
Object

Response Attributes

tokenstring
addressReferencestring
companyNamestring
buildingstring
emailstring
mobilestring
countryCodestring
longitudenumber
latitudenumber
fullAddressstring
exteriorstring
interiorstring
addressNumberstring
Was this section helpful?

What made this section unhelpful for you?

Language Box

GET

/api/getStore

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

Response

{
  "token": "a1a1a1a1a1-a1a1a1a1a1-a1a1a1a1a1a",
  "addressReference": "Edificio de la esquina",
  "companyName": "Test Store",
  "building": "El Parejo # 3",
  "email": "test@test.com",
  "mobile": "999999999",
  "countryCode": "+593",
  "longitude": 79.8114425,
  "latitude": -2.1854752,
  "fullAddress": "Av. Siempre Viva. Entre Calle Primera y Tercera",
  "exterior": "1",
  "interior": "2",
  "addressNumber": "333"
}

Status Codes

200

Local consultado

401

Workspace suspendido o eliminado

403

Api Key es inválido

404

Recurso no existe

Was this section helpful?

What made this section unhelpful for you?

Get Stores

El endpoint de Get Stores te permitirá consultar todos los locales que tiene el empresa. Como este endpoint se basa en el alcance que tiene el empresa, se deberá enviar en el header como autorización el Master Key del empresa.

Header Parameters

Authorizationstring

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

Response

200
Object

Response Attributes

tokenstring
companyNamestring
Was this section helpful?

What made this section unhelpful for you?

Language Box

GET

/api/getStores

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

Response

[
  {
    "token": "a1a1a1a1a1-a1a1a1a1a1-a1a1a1a1a1a",
    "companyName": "Test Store"
  },
  {
    "token": "a2a2a2a2a2-a2a2a2a2a2-a2a2a2a2a2",
    "companyName": "Test Store # 2"
  }
]

Status Codes

200

Locales consultados

401

Workspace suspendido o eliminado

403

Master Key inválida

Was this section helpful?

What made this section unhelpful for you?

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.

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?