Saltar al contenido principal

Nodo admin-api

La nodo admin-api proporciona acceso directo a la API interna de OneEntry. Con ella, se pueden leer y modificar pedidos, páginas, productos, usuarios, colecciones y sesiones de pago directamente desde el flujo de integración, sin necesidad de escribir solicitudes HTTP manualmente.


Configuraciones de la nodo admin-api

IMG2

1. Nombre

Campo para especificar el nombre de la nodo.
El nombre se muestra en el área de trabajo y ayuda a identificar fácilmente la nodo.
Si se deja vacío, la nodo se llamará admin-api.

Ejemplo:

  • Nombre de la nodo: Crear sesión de pago

2. Tipo

Selección de la operación de la API que se llamará al pasar un mensaje a través de la nodo. Es un menú desplegable con búsqueda: las operaciones están agrupadas por secciones de la API, y sus nombres se toman de la descripción de la API de la nodo en el idioma de la interfaz. Si no hay traducción a este idioma, los nombres se muestran en el idioma original.

El conjunto de operaciones depende de la versión de OneEntry, por lo que la lista exacta se puede ver en el menú desplegable Tipo. Las operaciones abarcan:

  • páginas y productos — por ejemplo, "Actualización del objeto de página", "Búsqueda de todos los objetos de página de producto con paginación y filtros.", obtención de varios productos por identificadores;
  • usuarios — incluyendo la búsqueda de usuarios;
  • valores de atributos — incluyendo la actualización de valores de atributos de varias entidades a la vez;
  • pedidos — cambio del estado del pedido, aplicación de un desencadenador de estado, devoluciones;
  • sesiones de pago — por ejemplo, "Creación de sesión de pago" y "Actualización de sesión de pago";
  • saldo de bonificación — ajuste manual del saldo del usuario;
  • registros de colecciones — por ejemplo, "Recuperando todos los registros pertenecientes a una colección.".

Después de seleccionar la operación, los campos Parámetros de consulta y Cuerpo de la solicitud se completan con un ejemplo de la descripción de la API — solo queda insertar sus valores.


3. Parámetros de consulta

Parámetros de la solicitud. La ruta y el método HTTP son tomados automáticamente de la operación seleccionada, no se pueden editar en el formulario. Los valores de los parámetros de la ruta (por ejemplo, el identificador del registro) se establecen en este mismo campo junto con los parámetros de la solicitud URL.

El campo utiliza la sintaxis Mustache — los valores de msg se pueden insertar a través de {{variable}}.

Ejemplo (para la operación "Recuperando todos los registros pertenecientes a una colección."):

{
"entityType": "orders",
"entityId": "{{orderId}}",
"langCode": "en_US",
"offset": 0,
"limit": 1,
"marker": "delivery"
}

4. Cuerpo de la solicitud

Cuerpo de la solicitud en formato JSON. El campo se muestra solo para operaciones con métodos POST, PUT y PATCH. Soporta Mustache para la inserción de datos de msg.

Ejemplo (para la operación "Creación de sesión de pago"):

{
"orderId": {{orderId}},
"type": "session"
}

5. Esquema de entrada

El bloque Esquema de entrada se muestra en la configuración de la nodo y muestra la estructura de datos que provienen de la nodo anterior en el flujo. El esquema se presenta en forma de pares "clave — tipo", teniendo en cuenta la anidación de objetos.

Si los campos del esquema están en la descripción de la API, junto a ellos se muestran descripciones textuales. Estas mismas descripciones son capturadas por el editor de código como sugerencias al escribir plantillas Mustache.

Ejemplo de visualización del Esquema de entrada:

payload
└── order
├── id (integer) — Identificador del pedido
├── status (string) — Estado actual
└── totalPrice (number) — Monto total

6. Botón Ejecutar

El botón Ejecutar permite realizar una solicitud API directamente desde el formulario de edición de la nodo, sin necesidad de ejecutar todo el flujo.

Cómo funciona:

  • El servidor ejecuta todo el flujo desde el principio hasta esta nodo, pasando los datos en cadena de acuerdo con el último estado publicado del flujo.
  • Si alguna nodo function en el camino no pasa datos más allá, pero tiene el campo Ejemplo de salida (JSON) completado, esos datos se utilizan como prueba.
  • En caso de respuesta exitosa, la respuesta de la API se pasa a la siguiente nodo como esquema.
  • Si la solicitud devuelve un error, el esquema no se pasa a la siguiente nodo.
info

Antes de usar el botón Ejecutar, asegúrese de que el flujo esté publicado. El servidor ejecuta la cadena según el estado de la última publicación.

Impacto en el esquema:

La nodo admin-api tiene inicialmente un esquema de respuesta de la descripción de la API. Al presionar Ejecutar, el esquema se sobrescribe con la respuesta real de la API. En este proceso, los campos que coinciden con la descripción de la API mantienen sus descripciones textuales.


7. Llamadas automáticas a solicitudes de solo lectura

Todas las nodos admin-api que realizan solicitudes solo de lectura (GET) se llaman automáticamente:

  • al abrir la página de Integraciones,
  • al actualizar el flujo a través del botón Publicar.

Esto permite siempre tener un esquema de datos actualizado en la siguiente nodo sin necesidad de un inicio manual.


Ejemplos de uso

Ejemplo 1: Creación de sesión de pago

Configuraciones de la nodo:

  • Tipo: Creación de sesión de pago
  • Cuerpo de la solicitud:
    {
    "orderId": {{orderEvent.order.id}},
    "type": "session"
    }

Resultado:
La nodo crea una sesión de pago, utilizando orderId del mensaje entrante, y pasa los datos de la nueva sesión a la siguiente nodo.


Ejemplo 2: Actualización del estado del pedido

Configuraciones de la nodo:

  • Tipo: Actualización del estado de un pedido perteneciente al objeto de almacenamiento de pedidos
  • Parámetros de consulta:
    {
    "id": {{orderId}}
    }
  • Cuerpo de la solicitud:
    {
    "status": "{{newStatus}}"
    }

Resultado:
La nodo actualiza el estado del pedido, utilizando los datos del mensaje entrante.


Ejemplo 3: Obtención de registros de colección

Configuraciones de la nodo:

  • Tipo: Recuperando todos los registros pertenecientes a una colección.
  • Parámetros de consulta:
    {
    "entityType": "delivery",
    "entityId": "{{payload.id}}",
    "langCode": "en_US",
    "offset": 0,
    "limit": 10
    }

Resultado:
La nodo devuelve una lista de registros de la colección. Dado que se trata de una solicitud de solo lectura, al abrir la página, el esquema de respuesta se carga automáticamente.