Usamos cookies para mejorar nuestros servicios. Lee más sobre como usamos cookies y como puede rechazarlas.

Iniciar Prueba Gratis

API Delivety

En Delivety intentamos mantener las cosas lo más sencillas posible. Así lo es la API de Delivety.

En esta guía, encontrará información completa sobre cómo utilizar la API de Delivety para comenzar a enviar los pedidos desde su sitio web o aplicación existente a su aplicación web de Delivety.
Nos gustaría ayudarle a empezar a trabajar con Delivety API lo antes posible, así que si tiene alguna pregunta, estamos aquí para ayudarle.


Introducción

La API de Delivety es un servicio web RESTful para que los desarrolladores envíen datos de pedidos desde su sitio web o aplicación existente a la URL del webhook de Delivety.


Web-hook URL Delivety

Para interactuar con la API de Delivety, deberá registrarse para obtener una cuenta Delivety. Una vez que haya creado una cuenta con nosotros, abra la sección de Dominio de su Panel Admin de Delivety, luego seleccione el dominio con el que le gustaría tener su sitio web o aplicación integrada (o cree un nuevo dominio, si aún no tiene uno). A continuación, seleccione "Recibir pedidos desde el sitio web existente". Aparecerá la URL del webhook dedicado. Ahora es el momento de hacer que su sitio web o app envíe los datos de los pedidos a esa URL del webhook.


Usando webhooks

Su sitio web o aplicación tiene que enviar una devolución de llamada HTTPS a la URL del webhook de Delivety cada vez que el cliente realiza el pedido en su sitio web o aplicación. Si se recibe con éxito, entonces Delivety responde con 2xxHTTP y el pedido aparecerá inmediatamente en el Panel del Operador. Tenga en cuenta que hay requisitos para que la devolución de llamada HTTPS sea procesada con éxito.


Use siempre HTTPS

Las llamadas realizadas a través de HTTP simple fallarán. Las solicitudes de la API que no tengan parámetros obligatorios también fallarán.


Throttling

No puede realizar más de 10 peticiones por segundo en todas las URLs de webhooks de su empresa. Si supera el umbral de 10 solicitudes por segundo, recibirá primero un error 426. Si no disminuye su tasa de solicitudes puede resultar en un bloqueo temporal


Seguridad

Usted es responsable del uso seguro de las URL de los webhooks que le proporcionamos. En caso de que comprometa una, puede regenerar la nueva para el dominio correspondiente en la sección Dominio de su Panel Admin de Delivety. No olvide que, a partir de ese momento, deberá enviar la solicitud POST a la nueva URL de webhook que ha creado.


Tipos de Datos y Formatos

Salvo contadas excepciones, los números son números y no cadenas. La API se adhiere estrictamente a la representación más natural de los datos subyacentes, y siempre se devuelve null para las propiedades opcionales a las que aún no se ha asignado un valor.

Las coordenadas geográficas están formateadas como [ longitude, latitude ], según el estándar GeoJSON.

Los timestamps se consumen y producen en formato de tiempo de época Unix, con precisión de milisegundos.

Los números de teléfono se devolverán siempre en formato E.164; sin embargo, pueden proporcionarse en E.164 o en un formato localizado que sea válido según la configuración del país de su empresa. Si desea proporcionar números de países distintos al de su empresa, deberá utilizar únicamente E.164. Recomendamos encarecidamente el uso de bibliotecas como libphonenumber para gestionar la validación y el formato de los números de teléfono.


Cómo Enviar Datos

Post Request

Envíe los datos como una solicitud POST con un cuerpo que contenga los siguientes parámetros:

ParámetroDescripción
phoneNúmero de teléfono del cliente, sólo se aceptan símbolos numéricos. Sirve como identificación del cliente.
idID de pedido según el sistema de identificación de pedidos de su web o app.
first_nameNombre del cliente. Aquí también puede incluir su apellido (opcional).
emailCorreo electrónico del cliente (opcional).
addressDirección del cliente (opcional).
commentNota o comentario del cliente (opcional).
delivery_dateLa fecha en que el pedido debe ser entregado. Este es un parámetro opcional. El pedido recibirá la fecha de entrega HOY si falta el parámetro.
delivery_timeLa hora a la que debe entregarse el pedido. Este es un parámetro opcional. El pedido recibirá la hora de entrega ASAP (Lo más rápido posible) si falta el parámetro.
productProductos solicitados (array, ver más abajo)
paymentDatos de pago (array opcional, ver más abajo). El pedido obtendrá el estado UNPAID si falta el array.
promotionDatos de promoción (array opcional, ver más abajo)

Array de Productos

El array de productos debe contener los siguientes parámetros:

ParámetroDescripción
api_idEl ID del plato según el sistema de identificación de platos de su sitio web o aplicación. Debe establecer los mismos ID de API que los ID de producto para cada plato en su Creador de Menús de Delivety
countLa cantidad de platos del api_id en particular
priceEl precio del plato del api_id en particular

Array de Pagos

El array de pagos debe contener los siguientes parámetros:

Parametro
Descripción
typeEl método de pago utilizado para este pedido. El valor debe contener:
“1” si la orden de pago es en efectivo, o
“2” si el pedido pagado es con tarjeta, o
“3” si el pedido pagado es con tarjeta en la entrega
statusEl estado del pago con tarjeta utilizado para este pedido. El valor debe contener:
“-1” si se reembolsa el pago
“0” si se ha cancelado el pago
“1” si el pago aún no ha sido procesado
“2” si el pago se ha procesado con éxito
sumLa suma de los precios de todos los artículos del pedido. En la mayoría de los casos, es el importe total del pedido antes de deducir los descuentos y/o las tasas de procesamiento de pagos (reciver_commission).
amountEl importe total pagado (o por pagar) por el pedido. En la mayoría de los casos, el importe es igual a la suma menos el descuento y la comisión del procesador de pagos (reciver_commission)
public_keyEl parámetro opcional para los pagos con tarjeta para identificar el número de cuenta a la que procesar el pago. Este parámetro se utiliza si tiene más de una cuenta bancaria y/o utiliza varios procesadores de pago y prefiere distinguirlos en Delivety.
reciver_commissionLa comisión del procesador de pagos, si existe.

Array de Promoción

El array de promoción debe contener los siguientes parámetros:

ParámetroDescripción
discountEl parámetro opcional que contiene el importe total del descuento en el pedido.
discount_percentEl parámetro opcional que contiene el porcentaje de descuento en el pedido.
discount_codeEl parámetro opcional que contiene el código de cupón alfanumérico aplicado al pedido.
involved_dishesEl array opcional que contiene los platos involucrados en la promoción.
resulted_dishesEl array opcional que contiene los platos que son el resultado de la promoción.

Array de Platos Resultantes

El array resulted_dishes debe contener los siguientes parámetros opcionales:

ParámetroDescripción
api_idEl id del plato resultante de la promoción. No debe enviar este plato en la matriz de productos
countLa cantidad de platos del api_id en particular
modificationLa modificación del precio del plato resultante de la promoción

Post Request

El ejemplo del código PHP de solicitud POST exitosa que se muestra a continuación ilustra el pedido, con los dos platos solicitados (api_id = 139, api_id = 385) con un 10% de descuento y uno obtenido de forma gratuita, en el resultado de la reducción del precio:



    $url = 'https://delivety.com/hooks/catch/sdf34asdv1';
    $incoming_order = [
        "access_token"   => "ACCESS_TOKEN_HERE",
        "phone"          => '123680000000',
        "id"             => 123456,
        "first_name"     => 'John Dowe',
        "email"          => '[email protected]',
        "address"        => '123, Sunset blvd',
        "comment"        => 'no sesame please',
        "delvery_date"   => '2021-12-31',
        "delvery_time"   => '18:45:00',
        "products"  => [
            [
                "api_id" => 139,
                "count"  => 1,
                "price"  => 15
            ],
            [
                "api_id" => 385,
                "count"  => 1,
                "price"  => 18
            ],
        ],
        "payment"  => [
            "type"               => 2,
            "status"             => 2,
            "sum"                => 33,
            "amount"             => 28.95,
            "receiver_commision" => 1.05
        ],
        "promotion" => [
            "discount_percent" => 10,
            "involved _dishes" => [
                [
                    "api_id" => 139,
                    "count"  => 1
                ],
                [
                    "api_id" => 385,
                    "count"  => 1
                ]
            ],
            "resulted _dishes" => [
                [
                    "api_id"        => 598,
                    "count"         => 1,
                    "modification"  => -12
                ]
            ]
        ]
    ];
    $data = sendRequest($url, 'post', $incoming_order);



Entre Gratis a Delivety

Inicie hoy mismo su prueba gratuita de un mes para acceder a potentes herramientas de gestión de su negocio de reparto de comida.