¿Cómo configuro una cadena de triggeres?
Copiar enlace al artículo
Copiado

Informar sobre la ubicación del tan esperado paquete ahora se ha vuelto obligatorio, si solo queremos obtener comentarios positivos sobre el trabajo de la tienda, en este artículo analizaremos la posibilidad de configurar la información automática a los clientes desde el envío de un número de seguimiento hasta el control de la recogida de paquetes desde un punto de recogida mediante la configuración de una cadena de activación. ...

1 . Enviar un número de seguimiento a un cliente al realizar una entrega

El registro de entrega significa enviar una solicitud a un servicio de entrega integrado que está conectado al sistema y asignar un número de seguimiento en el campo correspondiente del pedido.

Creemos un código de activación que enviará la comunicación que necesita al cliente:

Primero, indicaremos qué cambio de orden activará el trigger, es decir, un cambio en el número de pista en el pedido, con una verificación adicional de que el nuevo valor del número de pista no esté vacío, esto es necesario para evitar casos de envío de comunicaciones a un cliente sin número de pista, por ejemplo, al cancelar un pedido. para la entrega, el número de seguimiento se eliminará del pedido.

conjunto de cambios.hasChangedField("integration_delivery_data.track_number") and conjunto de cambios.newValue("integration_delivery_data.track_number") != null

Este código es idéntico para todos los servicios de entrega.

Nota

En el caso de utilizar un agregador de servicios de entrega, el campo de número de seguimiento puede contener información sobre el número interno de la solicitud en el agregador, que puede diferir del número de envío directamente en el servicio de entrega a través del cual envía el agregador.

Si desea diferenciar el envío de diferentes comunicaciones para diferentes tipos de entrega al cambiar el número de pista en el pedido, entonces se debe agregar la condición al código existente:

order.deliveryType.code == "correos"

Donde, en lugar de correos, debe especificar el código simbólico del tipo de entrega para el que debe activarse el trigger.

Además del código resultante, puede agregar una condición que evitará que el trigger se vuelva a iniciar si ya se ha iniciado, consulte los detalles "Cómo evitar que se vuelva a activar" :

not last_run("1 days")

Código listo para este caso:

conjunto de cambios.hasChangedField("integration_delivery_data.track_number") and conjunto de cambios.newValue("integration_delivery_data.track_number") != null and order.deliveryType.code == "correos" and not last_run("1 days")

2 . Envío de información sobre la transferencia del pedido al mensajero

Si los pedidos son entregados por nuestros propios mensajeros, puede automatizar la notificación automática a sus clientes de que el pedido se ha transferido al mensajero para el trabajo.

Formaremos un trigger que enviará la comunicación necesaria al cliente una vez asignado el mensajero en el pedido en el campo correspondiente de entrega por mensajería.

conjunto de cambios.hasChangedField("integration_delivery_data.courier") and conjunto de cambios.newValue("integration_delivery_data.courier") != null

Además de este código, es necesario agregar un cheque por el tipo de entrega configurado en el pedido, ya que el campo integration_delivery_data.courier marcado en el código anterior solo está disponible para el tipo de entrega que está integrado con "Entrega por Correos":

order.deliveryType.code == "correos"

Donde en lugar de correos - debe especificar el código simbólico del tipo de entrega, que está integrado con el módulo de servicio de mensajería.

3 . Informar sobre la llegada del paquete al punto de recogida

Una parte importante de la automatización y el control del canje de pedidos desde un punto de recogida es informar a los clientes que su paquete está en el punto de recogida del servicio de entrega.

Como regla general, los servicios de entrega notifican a las tiendas online sobre la llegada de un paquete en un punto de recogida utilizando el estado de la entrega; para implementar el caso que necesitamos, primero debemos configurar la correspondencia del estado de la entrega en el módulo de integración del servicio de entrega, para lo cual configuramos un triggere, puede leer más sobre este proceso Para obtener más información, consulte Servicios de entrega.

Para implementar el caso, necesitamos crear una cadena de triggeres desde el trigger principal, que responderá a un cambio en el estado del pedido, que corresponde al estado de entrega requerido. Después de que se activa el trigger principal, se lanzará un trigger diferido, que enviará una comunicación al cliente después del tiempo requerido, si el servicio de entrega no ha cambiado el estado del pedido en el momento en que se activa el trigger.

El trigger principal contendrá el siguiente código:

conjunto de cambios.hasChangedField("status") and conjunto de cambios.newValue("status").code == "delivered"

Comprobando el tipo de entrega requerido con el siguiente código:

order.deliveryType.code == "seur"

En la acción de trigger, seleccionaremos la plantilla de comunicación que necesitamos con información de que el pedido ha sido entregado en el punto de emisión.

Esta acción no cambiará nada en el pedido, es necesario registrar el hecho de que se disparó el trigger principal, que no tiene una acción "real".

El siguiente paso es crear un trigger retrasado que informará a los clientes sobre la llegada del paquete al punto de recogida.

El trigger estará con el evento "Después de que se active el trigger del pedido", en el campo Trigger posterior - seleccione el trigger principal creado anteriormente, en el campo Después - especifique el número de días después de los cuales se activará el trigger y enviará la comunicación al cliente, por ejemplo:

2 dias 

Nota

En el campo "Hasta" del triggeres demorados, se debe especificar el número de días teniendo en cuenta la declinación, por ejemplo: "1 día", "2 días", "6 días".

En el código del trigger diferido, agregue una verificación de que el estado del pedido, en el que se desencadena el trigger principal, aún no ha cambiado, es decir, dentro de 2 días: el pedido no se tomó del punto de recogida:

order.status.code == "delivered"

En la acción de trigger seleccionaremos la comunicación deseada, con un recordatorio de que el pedido ya ha llegado al punto de emisión.

Si necesita enviar un recordatorio nuevamente, después de un tiempo, puede crear otro trigger diferido, pero en el campo "Después del disparador", debe seleccionar el trigger diferido creado anteriormente.

4: Fijación de los gastos de envío

Si el sistema incure analíticas sobre los precios implementados en el pedido, un gasto importante es el pago por entrega, respectivamente, fijar el gasto de cada pedido manualmente puede ralentizar mucho el trabajo del gerente, y el factor humano también es posible cuando el gerente se olvida de agregar un gasto por completo.

Creemos un trigger que agregará el precio de envío como un gasto separado para el pedido en el momento de su ejecución.

En el código de activación, especificamos:

conjunto de cambios.hasChangedField("status") and conjunto de cambios.newValue("status").code == "complete"

En la acción de activación, seleccione "Agregar consumo"

De la lista desplegable, seleccionaremos una partida de gastos que nos convenga. En el campo "Monto", rellene el siguiente código:

order.deliveryNetCost

Fijemos la fecha actual en el campo "Fecha" usando el código:

date("now")
Gracias por tus comentarios.
¿Te resultó útil este artículo
No
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Si
Artículo anterior
¿Cómo evitar triggeres repetidos?
El artículo describe las posibles causas de la activación repetida de un trigger por la misma condición, así como las opciones para resolver una situación similar.
Artículo siguiente
Trabajar con productos en triggeres, validaciones y tipos de precio
El contenido del pedido es una matriz de datos, por lo tanto, el trabajo con él se realiza mediante filtros especiales creados en PipeLanguage. En este artículo analizaremos cómo trabajar con filtros en tipos de precio, triggeres y validación y en el contexto de productos.