Crear pedido

Al hacer una llamada a este endpoint se creará en nuestro sistema un Booking con los datos enviados por el negocio. La búsqueda de un conductor para el booking se iniciará inmediatamente.

post
Crear Pedido

https://api.pickerexpress.com/api/createBooking
Este endpoint crea un Booking en el sistema e inicia la búsqueda de conductores para el pedido. Requiere autenticación.
Request
Response
Request
Headers
content-language
required
string
en/es
Bearer Token
required
string
API key generada para el usuario.
Body Parameters
orderAmount
optional
number
paymentMethod
optional
string
Método de pago para el pedido. CARD/CASH
longitude
required
number
Coordenada de longitud del punto de entrega del pedido
latitude
required
number
Coordenada de latitud del punto de entrega del pedido
city
optional
string
Ciudad de entrega del pedido.
state
optional
string
zipCode
required
string
Zip Code de dirección de entrega del pedido
address
required
string
Dirección de entrega del pedido
customerName
optional
string
Nombre del cliente
customerLastName
optional
string
Apellido del cliente
customerEmail
optional
string
Email del cliente
customerMobile
optional
string
Número de teléfono del cliente
sendSMR
optional
boolean
Indica si se debe enviar un SMS al cliente con un link para seguir el pedido.
Response
200: OK
Pedido creado exitosamente
{
"statusCode": 200,
"message": "Success",
"data": {
"bookingNumericId": 3731,
"createdAt": "2020-01-14T21:50:04.598Z",
"customerName": "Edison Mora",
"customerMobile": "+593992555555",
"bookingType": 0,
"typeText": "PICKUP_AND_DELIVER",
"paymentMethod": "CARD",
"paymentMethodCode": 1,
"carType": 1,
"carName": "BIKE",
"_id": "5e1e378c0c4148200487a01a",
"statusUpdates": [],
"statusText": "ON_HOLD",
"currentStatus": 20,
"distanceBreakUp": {
"extraDistance": 0,
"baseDistance": 7,
"billedDistance": 3.51604391981227,
"realDistance": 0
},
"totalAmount": 2.7,
"totalPay": 2.7,
"ServiceAmount": 2.7,
"orderAmount": 0,
"deliveryFee": 2.7,
"pendingAmount": 0,
"priceBreakUp": {
"taxCharges": 0,
"tip": 0,
"donation": 0,
"comission": 0,
"referralDiscount": 2.7,
"promoDiscount": 0,
"receivedByDriver": 0,
"extraPayment": 0,
"businessPayment": 0,
"companyPayment": 0,
"driverPayment": 0,
"orderAmount": 0,
"perMinCharge": 0.4,
"perKmCharge": 0,
"baseFare": 2.3
},
"vehicleColor": null,
"pickupCoordinates": {
"coordinates": [
-79.898705,
-2.162912
],
"type": "Point"
},
"pickupAddress": "Kennedy Norte, Calle Justino Cornejo y Av. Luis Orrantia, Edificio Torres Atlas, Piso 5, Oficina 2, Guayaquil, Ecuador",
"pickupZipCode": "123456",
"pickupState": "Ecuador",
"pickupCity": "Guayaquil",
"deliveryCoordinates": {
"coordinates": [
-79.888705,
-2.192912
],
"type": "Point"
},
"deliveryAddress": "Hola",
"deliveryZipCode": "1234",
"deliveryState": "Ecuador",
"deliveryCity": "Guayaquil",
"driverEmail": null,
"driverImage": {
"original": null,
"thumbnail": null
},
"driverMobile": null,
"driverName": null,
"driver": null,
"customerEmail": "[email protected]",
"customerImage": {
"original": null,
"thumbnail": null
},
"smrURL":"http://smr.pickerexpress.com/#/?token=12345678"
}
}
409: Conflict
Se devuelve este error cuando el punto de delivery se encuentra a una distancia mayor a la permitida por el negocio.
{
"statusCode": 400,
"error": "Conflict",
"message": "Sorry, we don't have coverage in this area yet
}

Booking Numeric Id

El parámetro bookingNumericId es el que servirá para referenciar al pedido en los siguientes endpoints y webhooks. Es muy importante guardar este parámetro en el sistema, ya que este es el número que el conductor va a tener en su app y por el cual va a preguntar en el punto de despacho.

Share my ride

Si el negocio ingresa la opción sendSMR se generará un link de Share My Ride, el cual será enviado vía Email al correo del cliente (customerEmail) para que pueda seguir el tracking del pedido hasta que sea completado. Ademas de eso, se retornará en el response el parámetro smrURL el cual tendrá el link de la plataforma de Share My Ride.

Métodos de pago

Se puede especificar el método de pago del pedido. Si el cliente del negocio realiza el pago del pedido con una tarjeta, el campo paymentMethod debe ir seteado como CARD. Con este método de pago seleccionado, se le cobrará el valor de delivery a la tarjeta que ha sido registrada previamente para el negocio. Estos cobros se los realizará semanalmente.

Caso contrario, si el cliente elige en su plataforma realizar el pago del pedido en efectivo, el camppo de paymentMethod de ir seteado como CASH. Con este método de pago seleccionado, el conductor que se le asignará al pedido le pagará al negocio el valor de la orden de compra (orderAmount) cuando haya llegado al punto de recogida.

Si el método de pago es efectivo, se debe ingresar el valor correcto de la orden de compra (orderAmount) para que se busquen conductores que tengan ese monto disponible para pagar al negocio.

Todos los cobros de la orden son manejados por la plataforma del negocio. Picker solo se encarga de la entrega del producto.