Un sistema externo actualiza el estado de un caso
El sistema del depósito marca como resuelto un Case de Nxar cuando entrega el reemplazo, con un PATCH a la API pública.
El problema. Un reclamo entra a Nxar como Case, pero quien lo resuelve es otro sistema: el del depósito, cuando despacha el reemplazo. Hoy alguien tiene que entrar a Nxar a cambiar el estado a mano.
La idea. El sistema externo guarda el id del Case cuando se crea (el endpoint del capítulo 2 lo devuelve como case_id) y, cuando termina, le pega a la API pública con un PATCH que cambia sólo el estado.
Un workspace con el escenario ya armado, que se borra solo a las 48 h. Estamos terminándolo.
Partimos de que la API pública está prendida y tenés una API key (capítulo 5). Para probar, elegí cualquier Case y copiá su id: es el último tramo de la dirección cuando lo abrís en Nxar.
Leé el Case
curl "https://tu-workspace.nx-ar.com/public/v1/data/case/ID_DEL_CASE" \
-H "Authorization: Bearer nxar_api_REEMPLAZAR_POR_TU_KEY"La respuesta trae el registro con sus campos en data. Fijate en "status": un reclamo nuevo dice "New".
Ponelo en espera mientras se despacha
curl -X PATCH "https://tu-workspace.nx-ar.com/public/v1/data/case/ID_DEL_CASE" \
-H "Authorization: Bearer nxar_api_REEMPLAZAR_POR_TU_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"In progress","description":"Reemplazo despachado. Seguimiento AR123456789"}'PATCH cambia sólo los campos que mandás. Ojo: description se reemplaza entero, no se le agrega texto al final.
Resolvelo cuando llega
curl -X PATCH "https://tu-workspace.nx-ar.com/public/v1/data/case/ID_DEL_CASE" \
-H "Authorization: Bearer nxar_api_REEMPLAZAR_POR_TU_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"Resolved"}'
Los valores de status son los del picklist tal como están guardados: New, In progress, Waiting customer, Resolved y Closed. Si tu workspace los renombró, mirá los valores en la configuración del campo. Un valor que no existe vuelve con 400 VALIDATION y el Case no cambia.
| Respuesta | Qué significa |
|---|---|
| 200 | Se actualizó. El cuerpo trae el Case completo |
404 Record not found | El id no es de un Case (¿es de otra entidad?) o no existe |
403 FORBIDDEN | El dueño de la key no puede editar ese Case |
400 VALIDATION | Un campo con un valor que la entidad no acepta |
Si el sistema externo no guardó el id y sólo conoce el número de pedido, la API pública no te sirve para buscarlo: no filtra por campo. En ese caso, sumale al Case un campo propio para el número de pedido y armá un endpoint con token cuya automation use Obtener registro (buscando por ese campo) y Actualizar registro.
Cómo saber que te salió
Abrí el Case en Nxar: el estado es Resolved y la descripción tiene el número de seguimiento. Con el filtro de Audit Logs en /data/* (records) (si prendiste el log de endpoints standard) ves los dos PATCH con status 200.
¿Te funcionó?