nxar.Aprender
Integraciones: recibí datos de otros sistemas0 de 6 capítulos
  1. 1Qué puerta usar
  2. 2Tu primer endpoint
  3. 3Probalo y mirá qué llegó
  4. 4Qué recibe y qué contesta
  5. 5La API pública
  6. 6Formularios públicos

Casos de uso

  1. ·Una venta de la tienda crea una oportunidad
  2. ·Un sistema externo actualiza el estado de un caso
  3. ·Un formulario de reclamos que no duplica contactos
  4. ·Probar un webhook sin escribir código

← Volver al recorrido

Caso de uso · Integraciones: recibí datos de otros sistemas · 10 min

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.

Probalo en un workspace de práctica

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"}'
Página de un Case con el estado Resolved después del PATCH
El cambio llega como cualquier edición: corren las automations del Case y el registro queda actualizado.

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.

RespuestaQué significa
200Se actualizó. El cuerpo trae el Case completo
404 Record not foundEl id no es de un Case (¿es de otra entidad?) o no existe
403 FORBIDDENEl dueño de la key no puede editar ese Case
400 VALIDATIONUn 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ó?

En la referencia