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

Capítulo 2 de 6 · 15 min

Tu primer endpoint

Armás una automation de tipo Endpoint de API que crea un Case con lo que manda la tienda, y la publicás en una URL protegida con un token secreto.

Un endpoint son dos piezas que se arman por separado:

  1. La automation de tipo Endpoint de API: qué datos recibe, qué hace con ellos y qué devuelve. No tiene URL todavía.
  2. El endpoint en Endpoints y webhooks: le da a esa automation una URL pública y decide quién puede llamarla.

Separarlas tiene una ventaja: podés cambiar el flujo sin que la tienda se entere, y rotar el token sin tocar el flujo.

Creá la automation

ConfiguraciónAutomatizaciónProcesos

Nuevo. En Nueva automation, en Tipo, elegí Endpoint de API. Completá:

  • Label: Nuevo reclamo de la tienda.
  • API name: se completa solo a partir del label; reemplazalo por tienda_nuevo_reclamo, que es más corto y es como la vas a ver en la lista de endpoints.

En Inputs, con + Agregar campo, declará lo que va a mandar la tienda. Cada fila tiene nombre, tipo y la casilla req (obligatorio):

NombreTiporeq
subjecttextSí
emailtextSí
order_idtextNo
messagetextNo

En Outputs, un campo case_id de tipo text: es lo que el endpoint le va a devolver a la tienda. Hacé clic en Nueva automation.

Diálogo Nueva automation con el tipo Endpoint de API y los inputs y outputs cargados
El tipo va primero: Endpoint de API no pide entidad ni evento, pide qué entra (Inputs) y qué sale (Outputs).

Creá el Case

Se abre el builder, con el Trigger sólo en el lienzo. Desde Agregar nodos, a la izquierda, arrastrá Crear registro al lienzo: como es el primer nodo, queda conectado al Trigger. Hacé clic en él y, a la derecha:

  • Entidad: Case.
  • Campos: con el botón + sumá dos filas. En Campo elegí el campo del Case y en Valor escribí de dónde sale:
CampoValor
subject{{inputs.subject}}
descriptionPedido {{inputs.order_id}} · {{inputs.email}} · {{inputs.message}}
  • Guardar como variable: nuevo_caso.

Todo lo que llega en el cuerpo del request está en inputs, con el nombre que declaraste. El estado y la prioridad no los tocamos: el Case nace con sus valores por defecto (New y Medium).

Devolvé el id del Case

Arrastrá Asignar valor al lienzo y conectalo: arrastrá desde el punto del borde de Crear registro hasta el nodo nuevo. En su configuración:

  • Modo: Asignar valor.
  • Nombre de la variable: outputs.case_id.
  • Valor: {{nuevo_caso.id}}, con la pestaña Plantilla elegida.

Hacé clic en Guardar, arriba a la derecha. La automation queda Activa.

Builder con Trigger, Crear registro y Asignar valor conectados, y la configuración de Crear registro a la derecha
El flujo completo: lo que llega crea el Case y su id vuelve en outputs.case_id.

Publicala en una URL

ConfiguraciónIntegraciones y APIEndpointsEndpoints y webhooks

Nuevo endpoint y completá las decisiones del diálogo:

  • Nombre en la URL: tienda-reclamos. Debajo ves la URL completa que va a recibir los POST.
  • ¿Qué corre?: en el grupo Automations (trigger HTTP), tienda_nuevo_reclamo.
  • ¿Quién puede llamarlo?: Token secreto (recomendado para webhooks).
  • ¿Qué contesta?: El resultado de lo que corre, así la tienda recibe el case_id.
  • Correr como usuario: Julieta (en la captura, el usuario con el que entramos). Los Cases nuevos quedan a su nombre.

En Opciones avanzadas, Registrar cada request ya viene marcada; dejala así. Hacé clic en Crear.

Diálogo Nuevo endpoint con el nombre tienda-reclamos, la automation elegida y Token secreto marcado
Tres decisiones: la URL, qué corre y quién puede llamarlo.

Guardá el token

Aparece Endpoint listo con la URL, el Token secreto y un Request de ejemplo. Copiá el token y guardalo donde Martín guarda las claves de la tienda (un gestor de secretos, una variable de entorno del servidor). Hacé clic en Listo.

Diálogo Endpoint listo con la URL, el token tapado y el curl de ejemplo
El token se muestra una sola vez. Acá lo tapamos: nunca lo pegues en un mail, un chat ni una captura.

Correr como usuario es la decisión con más consecuencias del formulario. Si lo dejás vacío, el endpoint corre como sistema: acceso total al workspace y los registros quedan sin dueño. Elegí a una persona real, y si mañana se va de la empresa, cambialo en la configuración del endpoint.

¿Se perdió el token o sospechás que se filtró? Abrí el endpoint y, en Configuración, Generar un token nuevo. El anterior deja de funcionar en el acto, así que avisale antes a quien lo usa.

Cómo saber que te salió

  • En Procesos está Nuevo reclamo de la tienda, sin entidad, con el trigger http.request y Activo en Sí.
  • En Endpoints y webhooks aparece la URL que termina en /public/v1/custom/tienda-reclamos con la etiqueta Token secreto, y debajo: Corre la automation: tienda_nuevo_reclamo · devuelve el resultado · como Julieta · log prendido.
  • Tenés el token guardado fuera de Nxar. En el próximo capítulo lo usás.

¿Llegaste al resultado de arriba?