Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  1. Integración de pedidos
  2. Integración de menú/productos


...

1. Integración de pedidos

Hay algunas APIs disponibles que permiten la integración de pedidos realizados por la plataforma Delivery App. Todas las APIs devuelven datos en formato JSON.

...

    1.1.4 Cambiar el estado del pedido 

           1.1 API de pedidos

                   1.1.1 Listado de pedidos POST::/v1/order

El POS debe crear una rutina de consulta en el API de listado de pedidos, haciendo consultas alrededor de 60 segundos (recomendado no usar un tiempo más corto). Se devolverá una lista de pedidos, que debe ser escaneada, utilizando la identificación (ID) en el siguiente paso:

...

  • id (integer): id de pedido
  • name (string): nombre del cliente
  • email (string): email del cliente
  • phone (string): telefono del cliente
  • date (string): fecha del pedido
  • updated_at (string): fecha de modificación del pedido
  • status (integer): 0 = Nuevo Pedido, 1 = Confirmado, 2 = Entregado, 3 = Cancelado (restaurante), 4 = Enviado/Expedido, 5 = Cancelado Automáticamente (sistema), 6 = Cancelado, con pago reembolsado (restaurante), 7 = Cancelado Automáticamente con Pago reembolsado (sistema), 8 = Esperando la aprobación del pago en línea, 9 = Pago en línea rechazado
  • tax (decimal): importe de la tarifa de envío del pedido
  • voucher_code (string): Código de cupón utilizado
  • voucher_discount (decimal): Descuento aplicado al pedido mediante el bono (cupón de descuento)
  • payment_method (string): forma de pago
  • notes (string): observaciones do pedido
  • street (string): calle para entrega
  • cep (string): Código postal para la entrega
  • number (string): numero para entrega
  • city (string): ciudad para la entrega
  • neighborhood (string): barrio para la entrega
  • complement (string): complemento de la dirección de entrega
  • reference_point (string): punto de referencia de la dirección de entrega
  • forma_entrega (integer): forma de entrega del pedido (1 = entrega, 2 = retira en la tienda, 3 = pedido en la mesa)
  • table_name (string): cuando form_delivery es 3, se devolverá el nombre de la tabla.
  • order_number (integer): numero de pedido
  • troco (decimal): cambiar a (cantidad que el cliente dará en efectivo)
  • client_id (integer): id de cliente
  • payment_online (boolean): si es true, el pago se realizó en línea a través de la aplicación o la web
  • latitude (decimal): latitud de la dirección de envío
  • longitude (decimal): longitud de la dirección de entrega
  • cpf_in_note (string): si tiene algún valor indica que el usuario solicitó NIT en la factura
  • printed (boolean): si se imprimió el comando de la orden
  • total_discount (decimal): descuento total que recibió el pedido
  • taxa_extra (decimal): monto de tarifa adicional
  • taxa_extra_title (string): título de lo que se cobró como tarifa adicional
  • sub_total (decimal): subtotal del pedido (total de productos comprados)
  • total(decimal): pedido total, importe pagado por el cliente (incluidos gastos de envío, tarifas y descuentos)


                   1.1.2 Lista de detalles del pedido POST::/v1/order/{order_id}

Es en esta API donde el POS integrará los productos vendidos. La consulta en la API de detalles del pedido devolverá todos los detalles de la venta, así como los productos vendidos.

...

  • value (string): si type es 1, devuelve nulo. De lo contrario, se devolverá el bono.
  • Products (Array)
    • id (integer): id de la opción
    • title (string): titulo de la opción
    • price_un (decimal): precio unitario
    • quantity (integer): cantidad
    • subtotal (decimal): subtotal de la opción
    • ComplementCategories (Array)
      • id (integer): id del complemento
      • title (string): titulo del complemento
      • price_un (decimal): precio del unitario
      • quantity (integer): cantidad
      • ref (string): codigo POS de integración
      • subtotal (decimal): subtotal del complemento
      • id (integer): id de la categoria de complemento
      • title (string): titulo de la categoria de complementos
      • Complements (Array)
    • id (integer): ID del producto
    • type (string): tipo de producto. Puede devolver ‘item’ o ‘pizza’. 
    • name (string): nombre do produto
    • calculation (integer):
    • quantity (integer): siempre será 1
    • subtotal (decimal): subtotal de los productos
    • Options (Array): las opciones son los ítems (productos) / pizzas adquiridos

                   1.1.3 Métodos de pago

Haga clic aqui para ir a la prueba y puede comprobar la api de POST

...

{

  "code": 200,

  "name": "Success",

  "payment_methods": [

    "Dinheiro",   

    "Débito Mastercard",

    "Débito Visa",

    "Elo",

    "Crédito Hipercard"

  ],

  "payment_options": [

    {

      "name": "Dinheiro",

      "ref": "106"

    },

    {

      "name": "Débito Mastercard",

      "ref": "100"

    },

    {

      "name": "Débito Visa",

      "ref": "101"

    },

    {

      "name": "Débito Elo",

      "ref": "105"

    } 

]

}


                   1.1.4 Cambiar el estado del pedido

Es muy importante que el POS notifique a API Delivery cuando haya un cambio de estado (confirmación del pedido, pendiente de entrega, etc...), y especialmente si hay una cancelación. Debido a que API Delivery notificará al consumidor por correo electrónico y notificaciones automáticas, esta notificación se realiza a través de la API de cambio de estado.


...

           2.1. Integración de menú/productos

Se encuentran disponibles también algunas API que permiten la integración de menús con la plataforma Delivery App, permitiendo al POS consultar y registrar productos, pizzas y categorías y cambiar su disponibilidad.

                  2.1.1 API de produtos

La API del menú permite la actualización de los productos del menú, pudiendo cambiar el título y la disponibilidad, y también permite actualizar las variaciones de los productos, permitiendo cambiar precio, título y disponibilidad. También permite el registro de Categorías y Pizzas.

                      2.1.1.1 Registro de categoría

Haga clic aquí para ir a la prueba y puede comprobar la api de POST

...

{

    "token_account": "871523671eg93jhe91e139e1",

    "title": "Refrigerantes",

    "available": true,

    "pizza": true,

    "out_id": "123456"

}

           

  • token_account [string]:  token de autenticación de la tienda.
  • title [string]: titulo de la categoria.
  • available [boolean]: true = activado, false = deactivado
  • out_id [string]: código POS.
  • pizza [boolean]: envíe true se va a utilizar la categoría para registro de PizzaTamanho y PizzaSabor

...

{

    "code": 201,

    "name": "Category success created",

    "id": 456

}


El retorno code: 201 significa que la categoría se ha registrado correctamente. El ID es la identificación interna de la categoría en Delivery App.

                  2.1.2 Actualización de categoría

Haga clic aquí para ir a la prueba y puede comprobar la api de PUT.

...

{

    "code": 200,

    "name": "success",

    "Results": [

        {

            "ref": "123456",

            "updated": true,

            "message": "Categoria atualizada",

            "Errors": []

        },

        {

            "ref": "12121212",

            "updated": false,

            "message": "Categoria não encontrada",

            "Errors": [

                "Categoria não encontrada com código ref informado"

            ]

        }

    ]

}

Cada categoría tiene su retorno individual, cuando se actualice con éxito se devolverá updated: true.

                  2.1.3 Atualización de producto

Haga clic aqui para ir a la prueba y puede comprobar la api de PUT.

...

{

    "token_account": "7339afcfc50ccd855a13f186516cbdd0",

    "Items": [

    {

    "ref": "23009",

    "title": ””,

    "enable": true,

    "intro": "descrição do item"

    },

    {

    "ref": "55100",

    "title": "Coca Cola 2 litros",

    "enable": false

    }

    ]

}

          

  • ref [string]: código de enlace del producto entre el sistema Delivery App y el sistema que se va a integrar.
  • title [string]:nuevo título del artículo, pase vacío o null si el título no se va a cambiar.
  • enable [boolean]: ambia la disponibilidad del artículo (producto), pase null si la disponibilidad no va a cambiar
  • intro [string]:  texto de la introducción / descripción del artículo (producto).

...

La devolución informa individualmente si el artículo fue actualizado o no. Si updated = true, el artículo se actualizó exitosamente, si es falso, no fue posible actualizar y el message debe contener el motivo de no haber actualizado.

                  2.1.4 Atualización de variación

Haja clic aqui para ir a la prueba y puede comprobar la api de PUT.

...

La devolución informa individualmente si la variación fue actualizada o no. Si updated = true, la variación se actualizó exitosamente, si es falso, no fue posible actualizar y el message debe contener el motivo de no haber actualizado.

                  2.1.5 Regístro del ítem/prodcto

Haja clic aquí para ir a la prueba y puede comprobar la api de POST.

...

La devolución informa si el artículo se registró con "message: item cadastrado com sucesso".

                  2.1.6 Registro de variación del producto

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

{

  "code": 200,

  "name": "Success",

  "Results": [

    {

      "id": 1225,

      "ref": "ref432",

      "inserted": true,

      "message": "Variação cadastrado com sucesso",

      "Errors": {}

    }

  ]

}

La devolución informa si el artículo fue registrado con  "message: Variação cadastrado com sucesso".

                  2.1.7 Registro del adicionales global

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

{

  "code": 200,

  "name": "Success",

  "Results": [

    {

      "ref": "222222",

      "inserted": true

    },

    {

      "ref": "333333",

      "inserted": false,

      "message": "Erro de cadastro de complemento",

      "Errors": [

        "Título não pode ficar em branco",

        "Título não pode ficar em branco"

      ]}

  ]

}


                        2.1.7.1 Registro del categoria de adicionales y grupos del adicinal

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

{

  "code": 200,

  "name": "Success",

  "Results": [

    {

      "ref": "111111",

      "inserted": true

    },

    {

      "ref": "222222",

      "inserted": false,

      "message": "parâmetro Complements não encontrado ou vazio",

      "Errors": [

        "parâmetro Complements não encontrado ou vazio"

      ]

    }

  ]

}


                        2.1.7.2 Enlace grupos de adiconal al ítem

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

{

  "code": 200,

  "name": "Success",

  "Results": [

    {

      "ref": "8804505",

      "inserted": true

    },

    {

      "ref": "1505",

      "inserted": false,

      "message": "Item não encontrado",

      "Errors": [

        "Item não encontrado"

      ]

    },

    {

      "ref": "8804505",

      "inserted": false,

      "message": "Grupos de complemento não encontrado",

      "Errors": [

        "Grupos de complemento não encontrado"

      ]}

  ]

}

                  2.1.8 Cadastro de complementos padrão

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

ATENCIÓN!

Esta funcionalidad quedará obsoleta.

...

{

  "code": 200,

  "name": "Success",

  "Results": [

    {

      "id": 323,

      "ref": "ref123",

      "inserted": true,

      "message": "Complemento(s) cadastrado(s)",

      "Complements": [

        {

          "id": 698,

          "ref": "ref123",

          "inserted": true,

          "message": "Complemento cadastrado",

          "Errors": {}

        }

      ],

      "Errors": {}

    }

  ]

}

La devolución informa si el artículo fue registrado con "message: Complemento cadastrado".

                  2.1.9 Regístro de sabor de pizza

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

La devolución informa si el artículo fue registrado con  "message: Sabor cadastrado".

                  2.1.10 Inscripción en la categoría de sabor a pizza

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

La devolución informa individualmente si el artículo ha sido actualizado o no, si inserted = true, el ítem ha sido actualizado con éxito, si no, no es posible actualizar y la message deberá informar la razón de no actualizar.

                  2.1.11Registro del tamaño de la pizza

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...

La devolución informa individualmente si el artículo fue actualizado o no, si inserted = true, el ítem fue actualizado con éxito, si es falso, no fue posible actualizar y el mensaje debe contener el motivo por la cual no se actualizó.

                  2.1.12 Registro de categoría de tamaño de pizza

Haja clic aqui para ir a la prueba y puede comprobar la api de POST.

...