PLUGIN para recepción de pedidos RAPPI y PEDIDOS YA
© 2024 Napse. Todos los derechos reservados.
Alcance
- En el presente doc se detallan las configuraciones de Bridge Omni.
El entorno debe encontrarse en la versión 7.5.6
Para las integraciones con Rappi y Pedidos YA se instala un plugin, el cual recibe y procesa los pedidos enviándolos a BRIDGE API Central para luego ser replicado a la tienda de surtido/facturación.
El workflow definido es para surtido y facturación desde el POS. No aplica reserva de stock y el pasaje de estados es a demanda del operador desde el POS.
El pedido debe ser confirmado o cancelado dentro del período determinado por Rappi sino se cancelan. Esto no queda automático sino que es a demanda.
- Los datos de integración debe solicitarlos el cliente directo a
- Rappi: Mary Marcano Sanchez <[email protected]>
- Pedidos YA
[email protected]
María Cecilia Maturana <[email protected]>;
Nicolas Alvarez <[email protected]>;
Cecilia Buonomo <[email protected]>;
Se adjunta mail con las pruebas de PEDIDOS YA donde se deberían sumar para el pedido de tienda del cliente
Referencias
Se adjunta el script de creación del workflow:
- Rappi
- PedidosYA (API)
Documentación (incluye videos demo): BRIDGE OMNI - Integración con plugins de delivery
BRIDGE OMNI - MANUAL DE USO PARA INTEGRACION CON PEDIDOS YA
Videos de capacitación en Napse Academy:
https://share.linx.com.br/display/SYNTHESIS/Napse+Academy+-+OMNI?src=contextnavpagetreemode
Pasos a seguir
- Crear canales:
- Desde Administración/Omni/Canales en BMC
- El código del canal luego será utilizado para configurar en el plugin OMNI
- Dejar habilitado solo 2 colas (queueForStatusChange y queueForPublish)
- Asociar el medio de pago (único si se quiere cerrar con el botón FINALIZAR en el POS) o si se asocia más de uno, se mostrará el botón PAGAR, se deberá seleccionar uno y solo se podrá finalizar con esos medios de pago asociados.
- Asociar las tiendas que recibirán pedidos.
- Al guardar, se debe replicar a las tiendas.
- Crear centro de retiro y operador logístico
- Centros de retiro
- Administración/OMNI/Centro de retiro.
- Deben crear uno por cada tienda donde se reciban pedidos.
- Configurar con el mismo código de la tienda (exacto)
- Al guardar se replicarán a las tiendas
- Centros de retiro
- Operadores logísticos
- Administración/OMNI/Operador logístico
- Deben crear uno por canal Rappi (ej: rappi) y por Pedidos YA (ej: peya).
- Este código se utilizará en el plugin para los pedidos que tengan envío a domicilio.
- Al guardar se replicarán a las tiendas
- Operadores logísticos
- Instalación del plugin OMNI
- Confirmar el sistema operativo donde quedará instalado el plugin (Windows/Linux)
- El entorno debe contar con IP/puerto habilitado con salida a Internet (en el caso de Pedidos YA integración via API debe ser informado a ellos para que lo asocien a su integración para el envío de pedidos)
- Contar con los datos de la integración suministrado por Rappi y Pedidos YA.
- Integración, código de tienda
- Luego les pasaremos un doc de instalación del plugin y su directorio de descarga.
- Configurar en el archivo del plugin los nombres de canal, colas, punto de retiro según se habilite Rappi/Pedidos YA.
- channelCode (código del canal)
- deliveryCompany (código del operador logístico creado)
- active: para habilitar en el plugin (por Rappi o PEYA)
- server.url (endPoint que nos pase Rappi o PEYA)
- credentials (chaincode_name, chaincode_id, integration_name, integration_id, chain_name, username, password, secret, grant_type)
- queues.order_queue (cola de cambio de estado: queueForStatusChange)
- queues.publication_queue (cola de publicaciones: queueForPublish)
- Ejecutar el script en las tiendas y BMC para crear workflow de cada canal
- Se adjuntan los dos scripts
- PeyaAPI_Workflow.json
- Rappi_Workflow.json
- Se adjuntan los dos scripts
NOTA: ajustar el ID del canal en el script antes de ejecutarlo, esto se toma de la base de datos, tabla channel.id
PARA PEDIDOS YA
//Worflow
db.getCollection("OrderWorkflow").insert({
"_id" : ObjectId("65e5e473120d448f1a7e3229"),
"code" : "default_peya_API",
"name" : "PEYA API",
"orderType" : ObjectId("5f105c882a3a154318888731"),
"disabled" : false,
"version" : NumberInt(0),
"channel" : ObjectId("6634eb19e592e13548aee0f5") // REEMPLAZAR CON EL ID DEL CANAL Pedidos Ya
}),
PARA RAPPI
//Worflow
db.getCollection("OrderWorkflow").insert({
"_id" : ObjectId("643af8a1abd50e86f311c7bc"),
"code" : "default_rappi",
"name" : "RAPPI",
"orderType" : ObjectId("5f105c882a3a154318888731"),
"disabled" : false,
"version" : NumberInt(0),
"channel" : ObjectId("66547ed0e592e12cd08cc026") // REEMPLAZAR CON EL ID DEL CANAL Rappi
}),
- Luego de ejecutado, se podrá visualizar el workflow en BMT y BMC (desde OMNI/Configuración/Flujo de estados)
Ejemplo del workflow creado con los scripts:
- Rabbit
- Se debe tener configurado y activo Rabbit para API (BM Central)
- Directorio de instalación/API/Config/default.json
EJEMPLO Cola RabbitMQ: "rabbit": { "url": "amqp://userbrige:[email protected]:5672/bridgeomni_homo", "active": true }
- Colas de exportación
- Se deben encontrar habilitadas las siguientes exportaciones (desde Configuración/Colas de exportación) Destino queue
- OrderHistory
- SetItemChannelPublish
- Se deben encontrar habilitadas las siguientes exportaciones (desde Configuración/Colas de exportación) Destino queue
- JOBS
- Se deben encontrar habilitados los siguientes jobs (desde Configuración/Procesos)
- Intensivo: export/setItemChannelPublishExport/queueStatusChange
- Se deben encontrar habilitados los siguientes jobs (desde Configuración/Procesos)
- Hourly: setItemChannelAutormaticPublish (para publicaciones automáticas)
Configuración del sistema
Validar los siguientes parámetros del sistema (tiendas y BMC)
Categoría | Parámetro | Valor a configurar | Descripción | Ejemplo para GRIDO |
---|---|---|---|---|
Tienda/Ordenes | Admite crear pedidos sin stock | Boolean | No valida stock al crear el pedido | SI |
Tienda/Ordenes | Pasaje de estados automático en el workflow de ordenes web | Boolean | SI | |
Tienda/Ordenes | Usuario a utilizar para facturar automáticamente con BridgeCORE de la tienda | String | Username de un usuario que tenga permisos de vendedor para que sea utilizado en las facturas o NC que emite BM automáticamente. Es el usuario con el cual se asociará en la conciliación y reportes | N/A porque no tienen facturación automática |
Tienda/Ordenes | Ordenes: admite la edición de ítems | SI/NO | Permite configurar si un pedido puede ser surtido parcialmente en el POS. | SI |
Tienda/Ordenes | Reserva stock sin considerar flag de requiere reserva para itemType norma | SI/NO | Para pedidos de Omni, si se asocia la acción "Reservar" en uno de los pasos, va a reservar para todo item aunque no se encuentre configurado por maestro como "require reserva" | NO (no hay reserva) |
Tienda/Ordenes | Ordenes: Actualizar reservas de stock en central | SI/NO | Se generará un TLOG de reservas en tienda cuando se genere una reserva (solo para Omni) y se replicará a BMC, con lo cual las reservas se mantendrán sincronizadas en tienda y central (no aplica a las reservas del POS) | NO (no hay reservas) |
Tienda/Ordenes | Surtido Parcial Ordenes: Medio de pago para la nota de crédito automática | String | Código del medio de pago al que se asocia la NC automática que genera el POS cuando el pedido tiene pagos asociados y hay un surtido parcial | NCC (N/A porque no usan nota de crédito automática en el POS) |
Tienda/Ordenes | Surtido Parcial Ordenes: Item genérico para la nota de crédito automática | String | Código del artículo que se asocia a la factura y a la NC automática que genera el POS cuando el pedido tiene pagos asociados y hay un surtido parcial (tiene que existir en el maestro de ítems y tener misma configuración que el provisto por producto) | ADJFINAN (N/A porque no usan nota de crédito automática en el POS) |
Tienda/Ordenes | Solicitar cantidad de paquetes al facturar | SI/NO | Para que se pueda ingresar por popUp en la factura del pedido la cantidad de paquetes del pedido | NO (no lo utilizan) |
Tienda/Ordenes | Indica si se usa el filtro de pedidos pendientes por defecto en el POS o no | SI/NO | Para que quede tildado por defecto el check del listado de pedidos PENDIENTES/NO HISTORICOS | SI |
Tienda/Ordenes | Mantener reservas de ordenes en el cierre de período | SI/NO | Permite definir si no se depuran las reservas en la itemInventory de aquellas reservas que provengan de pedidos de Omni | NO (no usan reservas) |
Tienda/Ordenes | Ordenes: imprime siempre el pedido/remito luego de la facturación de pedidos en el POS | Boolean | SI | |
Tienda/Ordenes | Ordenes: habilitar opciones de ordenes | Boolean | SI | |
Tienda/Ordenes | Ordenes: intervalo (segundos) entre consultas para el indicador de nuevos pedidos en el POS | Number | 120 (segundos) | |
Tienda/Ordenes | Crear nuevo pedido en el POS | Boolean | NO | |
Sistema/Sistema | Url donde se encuentra bridgeApi | String | IP donde se encuentra API en la tienda | No puede quedar definido como localhost. Tienen que ser definido con la IP de la tienda |
Opcionales o topping
- Para que se puedan publicar los opcionales de sabor, deben asociarse a los ítems atributos con el código TOPPING
Ver PLUGIN Rappi - topping https://share.linx.com.br/x/2gRAH
Ejemplo
Publicaciones
Ver: videos de capacitación
Motivos de cancelación (PEDIDOS YA)
- En el caso de Pedidos YA, se deben crear los motivos de cancelación en el BMC con los siguientes códigos que son los que puede procesar Pedidos YA.
- Desde el menú Administración/OMNI/Motivos de rechazo.
- La elección del motivo se solicitará cuando un pedido se cancele (esto se determina por configuración del paso del workflow)
Lista de códigos de motivos provistos por Pedidos YA (la descripción la pueden definir desde el proyecto)
- "ADDRESS_INCOMPLETE_MISSTATED",
- "BAD_WEATHER",
- "BLACKLISTED",
- "CARD_READER_NOT_AVAILABLE",
- "CLOSED",
- "CONTENT_WRONG_MISLEADING",
- "FOOD_QUALITY_SPILLAGE",
- "FRAUD_PRANK",
- "ITEM_UNAVAILABLE",
- "LATE_DELIVERY",
- "MENU_ACCOUNT_SETTINGS",
- "MOV_NOT_REACHED",
- "NO_COURIER",
- "NO_PICKER",
- "NO_RESPONSE",
- "OUTSIDE_DELIVERY_AREA",
- "TECHNICAL_PROBLEM",
- "TEST_ORDER",
- "TOO_BUSY",
- "UNABLE_TO_FIND",
- "UNABLE_TO_PAY",
- "UNPROFESSIONAL_BEHAVIOUR",
- "WILL_NOT_WORK_WITH",
- "WRONG_ORDER_ITEMS_DELIVERED"