Customer Care / Registro de trabajo [v2.10]
Se describe las novedades de la versión 2.10. El mismo presenta las características principales de las funcionalidades y las pruebas mínimas de rigor de funcionalidad y/o consideraciones para las mismas.
Entrega
Front de Customer Care: «Registro de Trabajo»
Descripción

Se añadió una nueva solapa «Registro de Trabajo», la cual brinda la posibilidad de visualizar y cargar los registros de trabajo asociados a un envío.
Un registro de trabajo se origina solo[1] a partir de la interacción del Front de Customer Care con el Sistema y estos pueden ser:
-
Manuales: Creados por el propio usuario de Customer Care, a través del modal desplegado al clickear «Agregar Registro». Estan pensandos para añadir una nota aclaratoria u observación y que quede asociada al envío.
-
Cambio de estado: Creados automáticamente por el sistema ante la creación, modificación y/o eliminación de un estado. En Caso de tratarse de una modificación, se listan los valores previos y nuevos en un formato tabla, para darle mayor legibilidad.
-
Modificación de Orden: Creados automáticamente por el sistema ante la modificación de una orden. Estos contienen el detalle de los cambios realizados sobre la orden, mostrándolos en una tabla, muy similar al que se detalla en las incidencias de Solicitud de Cambios.
Cada uno ellos es listado de forma cronológica, ordenados de manera descendentemente (el mas reciente primero). Por cada uno se incluye:
-
Fecha y hora
-
Tipo: indicado al lado de la fecha y su viñeta es remarcada con un color propio.
-
Usuario de Customer Care asociado al Registro de trabajo
-
Detalles: estos puede ser de texto simple, o en algunos casos son enriquecidos con HTML para estructurar mejor la información (con el uso de tabla p. ej.).

[1] Con esto se quiere hacer referencia a que ningún otro evento y/o acción, por ejemplo originado desde el back, genera este tipo de registros.
Endpoints
Para dar soporte a esta funcionalidad se han definido 2 nuevos endpoints
Listado de Registros de Trabajo
GET /api/v1/cs/shipping/{id}/work_logs
Este devuelve el los registros de trabajo (WorkLog) ordenados por fecha y por cada uno los datos que fueron descritos anteriormente en esta sección, además de adicionar alguna información para su correcto renderizado (flag use_html p. ej.)

Pruebas básicas del flujo
-
Creación Manual desde el Front
-
Cambiar el estado de un envío, tanto por Front de Customer Care como por Back, y verificar que solo se creen los registros asociados a las acciones llevadas a cabo por Customer.
-
Modificar una orden, y verificar que el registro se corresponda con los cambios deseados.
-
Verificar que se visualicen correctamente (presencia de tablas, colores,…) en el listado ante: 0 o mas registros, y de diversos tipos.
Front de Customer Care: Modificación y eliminación de estados
Descripción
Se añadió la posibilidad de modificar y/o eliminar un estado, emulando la actual funcionalidad implementada en Back.

Ante una:
- Eliminación: se le despliega un modal de confirmación, y ante la aceptación del mismo se procede a la baja lógica y posterior creación de Registro de Trabajo asociado

- Modificación: Se despliega un modal precargado con el estado actual y sus atributos (fecha y hora, notas y motivo). Ante la confirmación se procede a la baja lógica del estado original y posterior alta del nuevo, exactamente como ocurre en el Back. La operación finaliza con la creación de un registro de trabajo indicando de forma clara las modificaciones llevadas a cabo.

- Creación: solo se le añadió al flujo existente la creación del Registro de trabajo.
Endpoints
Para dar soporte se han creado 2 endpoints.
Clonado de Estado de Translado (StepState)
POST /api/v1/cs/step_state/{step_state_original_id}/clone
{ "state": 27, "reason": null, "show_for_carrier": true, "show_for_client": true, "step": 2503408, "date": "2021-04-29 12:44:17", "details": "Se corrige el estado a «Listo»", "id": 4361293}Este método recibe como parametro, via url, el StepState al cual se desea “clonar” y dentro del cuerpo del request los atributos para definir el nuevo.

Eliminación de Estado de Translado
PUT /api/v1/cs/step_state/{step_state_id}/logic_delete
{ "id": 4361294}El método recibe el id del StepState a eliminar,tanto por url como en el cuerpo de la solicitud.

Pruebas básicas del flujo
-
Ejecutar el ABM desde el front de Customer Care, esperando visualizar los Registros de Trabajo correspondientes.
-
Repetir los pasos anteriores desde el Back, y verificar que no se creen Registros de Trabajo.
Front de Customer Care: Añadir flujo de modificación de orden

Se añadió la posibilidad de modificar una orden, solo de aquellas que lo permitan, desde el listado de ordenes. Para acceder a la pantalla de modificación, se sumó la acción en la columna de seguimiento.
Al ingresar se presenta una pantalla, idéntica a la del Front de Clientes, con aquellos campos que se permiten modificar.
Endpoints
Para dar soporte a esta funcionalidad se ha definido un endpoint
Modificación de Orden
POST /api/v1/cs/order/{tracking_id}/modification
{ "order":{ "delivery_shift":"1", "pacted_date": "2020-04-01" },
"receiver":{ "receiver_name": "QA", "receiver_phone": "(0221) 123-4567", "email": "soporte@softlight.com.ar", "address_street_name": "Lapacho", "address_street_number": "1234", "address_other_info": "prueba de QA", "address_neighborhood_name": "Santa julia", "address_zip_code": "1669", "address_city": "Pilar", "address_state": "BUENOS AIRES", "address_floor": "", "address_apartment": "",
"address_longitude": -32.12345, "address_latitude": -58.12345 }}Este método recibe los campos editables siguiendo el formato indicado en el ejemplo de arriba. Luego de pasar las validaciones pertinentes, se procede a crear una Incidencia de Modificación, con aquellos campos que hayan cambiado, y se procede a su aprobación automática. Una vez que esto termina satisfactoriamente, se crea un registro de trabajo asociado, donde se detallan los cambios realizados.
Pruebas básicas del flujo
-
Verificar que en el listado se dé la posibilidad de edición sobre aquellas órdenes que:
-
Las reglas de permisos por estado lo permiten.
-
No cuente con Incidencias de Solicitud de Modificación sin tratar.
-
No se haya integrado al flujo de OCA, esto es que no posea un Id de Carrier Externo (visible desde el back).
Vale aclarar que si se permite modificar, al tener Incidencia de de Reprocesamiento de Distribución sin tratar, dado que implica que no se ha llevado a cabo una comunicación con la API de OCA. -
Verificar que la modificación de una Orden, cree una incidencia aceptada automáticamente, y genere un registro de trabajo.
Front de Customer Care: Añadir enlaces externos
Descripción

Se añadió un nuevo menú y pantalla asociada, donde se ubican los links a las herramientas externas.