Saltar al contenido principal

Nodo admin-api

El nodo admin-api da acceso directo a la API interna de OneEntry. Con él puede leer y modificar pedidos, páginas, productos, usuarios, colecciones y sesiones de pago desde el propio flujo de integración, sin escribir solicitudes HTTP a mano.


Configuración del nodo admin-api​

Panel "Node Information" del nodo admin-api: botón "Execute" y campos "Name", "Type", "Query parameters" y "Request body".

1. Name​

Nombre del nodo.
Se muestra en el área de trabajo y ayuda a identificar el nodo.
Si lo deja vacío, el nodo se llamará admin-api.

Ejemplo:

  • Nombre del nodo: Create Payment Session

2. Type​

Operación de la API que se invoca cuando un mensaje pasa por el nodo. Es una lista 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 del nodo en el idioma de la interfaz. Si no hay traducción a ese idioma, los nombres aparecen en el idioma original.

El conjunto de operaciones depende de la versión de OneEntry, así que consulte la lista exacta en el desplegable Type. Las operaciones abarcan:

  • páginas y productos: por ejemplo, "Page object update", "Searching for all product page objects with pagination and filters." y la obtención de varios productos por sus identificadores;
  • usuarios: entre otras, la búsqueda de usuarios;
  • valores de atributos: entre otras, la actualización de los valores de atributos de varias entidades a la vez;
  • pedidos: cambio del estado de un pedido, aplicación de un disparador de estado, devoluciones;
  • sesiones de pago: por ejemplo, "Payment session creation" y "Payment session update";
  • saldo de bonificación: ajuste manual del saldo de un usuario;
  • registros de colecciones: por ejemplo, "Retrieving all records belonging to a collection.".

Al seleccionar una operación, los campos Query parameters y Request body se rellenan con un ejemplo tomado de la descripción de la API; solo queda sustituir los valores por los suyos.


3. Query parameters​

Parámetros de la solicitud. El nodo toma automáticamente la ruta y el método HTTP de la operación seleccionada; no se pueden editar en el formulario. Los valores de los parámetros de ruta (por ejemplo, el identificador de un registro) se indican en este mismo campo, junto con los parámetros de consulta de la URL.

El campo admite la sintaxis Mustache: puede insertar valores de msg con {{variable}}.

Ejemplo (para la operación "Retrieving all records belonging to a collection."):

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

4. Request body​

Cuerpo de la solicitud en formato JSON. El campo solo aparece en las operaciones con los métodos POST, PUT y PATCH. Admite Mustache para insertar datos de msg.

Ejemplo (para la operación "Payment session creation"):

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

5. Input Schema​

El bloque Input Schema aparece en la configuración del nodo y muestra la estructura de los datos que llegan del nodo anterior del flujo. El esquema se presenta como pares de clave y tipo, y respeta el anidamiento de los objetos.

Si un campo del esquema figura en la descripción de la API, junto a él se muestra su descripción. El editor de código ofrece esas mismas descripciones como sugerencias al escribir plantillas Mustache.

Ejemplo de cómo se muestra Input Schema:

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

6. Botón Execute​

Con el botón Execute puede enviar la solicitud a la API desde el formulario de edición del nodo, sin ejecutar todo el flujo.

Cómo funciona:

  • El servidor ejecuta el flujo desde el inicio hasta este nodo y pasa los datos por la cadena según el último estado publicado del flujo.
  • Si algún nodo function del camino no pasa datos al siguiente, pero tiene rellenado el campo Output Example (JSON), esos datos se usan como datos de prueba.
  • Si la solicitud se completa correctamente, la respuesta de la API se pasa al siguiente nodo como esquema.
  • Si la solicitud devuelve un error, no se pasa ningún esquema al siguiente nodo.
info

Antes de usar el botón Execute, asegúrese de que el flujo esté publicado. El servidor ejecuta la cadena según el estado del último publish.

Efecto en el esquema:

Inicialmente, el nodo admin-api tiene el esquema de respuesta de la descripción de la API. Al pulsar Execute, ese esquema se sobrescribe con la respuesta real de la API. Los campos que coinciden con la descripción de la API conservan sus descripciones.


7. Ejecución automática de las solicitudes de solo lectura​

Todos los nodos admin-api que hacen solicitudes de solo lectura (GET) se ejecutan automáticamente:

  • al abrir la página Integrations;
  • al actualizar el flujo con el botón Publish.

Así, el siguiente nodo siempre tiene un esquema de datos actualizado sin necesidad de ejecutarlo a mano.


Ejemplos de uso​

Ejemplo 1: Crear una sesión de pago​

Configuración del nodo:

  • Type: Payment session creation
  • Request body:
    {
    "orderId": {{orderEvent.order.id}},
    "type": "session"
    }

Resultado:
El nodo crea una sesión de pago con el orderId del mensaje entrante y pasa los datos de la nueva sesión al siguiente nodo.


Ejemplo 2: Actualizar el estado de un pedido​

Configuración del nodo:

  • Type: Updating the status of an order belonging to the order storage object
  • Query parameters:
    {
    "id": {{orderId}}
    }
  • Request body:
    {
    "status": "{{newStatus}}"
    }

Resultado:
El nodo actualiza el estado del pedido con los datos del mensaje entrante.


Ejemplo 3: Obtener los registros de una colección​

Configuración del nodo:

  • Type: Retrieving all records belonging to a collection.
  • Query parameters:
    {
    "entityType": "delivery",
    "entityId": "{{payload.id}}",
    "langCode": "en_US",
    "offset": 0,
    "limit": 10
    }

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