JSON es el formato en el que los sistemas externos intercambian datos: así responden las API de los servicios de mensajería, las pasarelas de pago y los sistemas contables. El proceso de negocio de Bitrix24 ve el JSON como una cadena normal: no hay acciones nativas para extraer de ella un valor ni para montar una estructura que enviar. Analizamos la combinación de tres robots: el primero envía una solicitud HTTP y recibe la respuesta, el segundo extrae del JSON el valor necesario por su ruta y el tercero monta un JSON con campos de la negociación para enviarlo al exterior.
¿Dónde se topa el proceso de negocio con el JSON?
Tres puntos típicos. El primero, las respuestas de las API externas: el proceso consulta el estado de una entrega, el stock en almacén o el tipo de cambio y recibe un JSON. El segundo, los webhooks: un sistema externo envía datos, y estos caen en un campo o una variable en una sola cadena del tipo {"order":{"id":518,"status":"paid"}}; después hay que hacer algo con ella. El tercero, el envío de datos al exterior: un sistema externo espera un JSON con una estructura concreta, y hay que montarlo con campos de la negociación. En los tres casos el diseñador nativo de procesos de negocio propone trabajar con la cadena entera, y normalmente en este punto se llama a un programador. Los tres robots de abajo cierran el ciclo sin código.
¿Cómo enviar una solicitud a un sistema externo?
El robot «Solicitud HTTP GET/POST» accede a cualquier API externa. Entrada: la URL, el método (GET, POST, PUT, PATCH, DELETE o HEAD; por defecto, GET), el cuerpo de la solicitud para POST y PUT, las cabeceras como objeto JSON del tipo {"Authorization":"Bearer …"} y el tiempo de espera en segundos (por defecto, 10). Salida: el cuerpo de la respuesta, el código de estado HTTP y el indicador «Correcto» (Y/N: código 2xx). El cuerpo de la respuesta se escribe en una variable y se pasa al siguiente robot para analizarlo. Así el proceso averigua por sí mismo el estado de un pedido en el sistema contable según el calendario de las etapas, sin esperar a que el gestor lo compruebe a mano. El robot está disponible en los planes de pago de Bitrix24.
¿Cómo extraer un valor de la respuesta JSON?
El robot «Extraer valor de un JSON por ruta» analiza una cadena JSON y devuelve el valor por una ruta separada por puntos: las claves de los objetos y los índices numéricos de los arreglos. Para la respuesta {"data":{"user":{"email":"a@b.ru"}}}, la ruta data.user.email devolverá a@b.ru; el primer elemento de una lista se obtiene con una ruta del tipo items.0.name. Salida: el valor como cadena y el indicador «Ruta encontrada» (Y/N); si en la ruta hay un objeto o un arreglo, se devuelve como valor aparte en forma de JSON, y se analiza con el mismo robot otra vez, ya por la ruta interna. Un JSON incorrecto o una ruta inexistente dan el indicador N, no la detención del proceso. El valor encontrado se escribe en la siguiente acción en un campo de la negociación o del contacto.
¿Cómo montar un JSON con campos de la negociación?
La tarea inversa: un sistema externo espera un JSON, pero los datos están en campos y variables. El robot «Construir JSON a partir de campos» recibe dos listas múltiples —claves y valores—; el orden debe coincidir: la primera clave recibe el primer valor. En los valores se insertan campos de la negociación y variables del proceso. Los números y los valores true/false se reconocen automáticamente y entran en el JSON sin comillas; el resto, como cadenas; hay una opción de formato con sangrías para mayor legibilidad. Salida: un objeto JSON listo; se inserta en el cuerpo de la solicitud POST del robot «Solicitud HTTP GET/POST» o se pasa al sistema externo de cualquier otra forma.
¿Cómo gestionar los errores de integración?
Los sistemas externos responden con errores, y el proceso debe sobrevivir a ello. Ambos robots devuelven indicadores en lugar de detenerse. «Correcto = N» en la solicitud HTTP significa una respuesta fuera de los códigos 2xx: el código de estado sugerirá la causa: 401 sobre un problema de autorización, 404 sobre una dirección incorrecta, 5xx sobre un fallo del otro lado. «Ruta encontrada = N» en el análisis del JSON: la respuesta llegó con otra estructura o el JSON es incorrecto. Con estos indicadores, en el diseñador de procesos de negocio se construye una rama aparte: una tarea al responsable con el cuerpo de la respuesta dentro, y la negociación se queda en la etapa actual hasta aclararlo. Sin esa rama, el proceso escribirá en silencio un valor vacío, y el error saldrá a la luz más tarde, ya en el cliente.
Conclusión
La combinación «solicitud → análisis → montaje» cierra una integración típica sin código: «Solicitud HTTP GET/POST» intercambia datos con el sistema externo, «Extraer valor de un JSON por ruta» analiza la respuesta y «Construir JSON a partir de campos» prepara los datos para el envío. Los tres están en el catálogo de Roboteka y se instalan desde Bitrix24.Market. Si no hay un robot para tu integración, describe la tarea: lo haremos gratis y lo añadiremos a la biblioteca común.