Saltar al contenido

Publicar una aplicación de Jitterbit App Builder como un endpoint de REST API

Descripción general

App Builder permite publicar los datos de una aplicación como una REST API, para que sistemas externos puedan leerlos y escribirlos usando una clave de API para autenticación, en lugar de construir una integración personalizada para cada consumidor. Esta página muestra un ejemplo completo: exponer una tabla customers de una aplicación Northwinds como un recurso REST, y luego generar una clave de API que un usuario específico puede usar para llamarla.

Nota

Cuando empaques esta aplicación en un LP e implantes en otro entorno, la configuración del endpoint en IDE > REST APIs persiste automáticamente. Todas las demás configuraciones en esta guía necesitan recrearse manualmente en cada entorno adicional.

Los pasos son:

Paso 1: Configurar un proveedor de seguridad de clave de API

Para asegurar tu REST API, primero necesitas un proveedor de seguridad de clave de API, que App Builder usa para validar la clave que presenta quién llama:

  1. Selecciona IDE > Proveedores de seguridad.

  2. Haz clic en + Autenticación de usuario desde el panel Autenticación de usuario. Se abre el diálogo Proveedor:

    diálogo de proveedor

  3. Asigna al proveedor un Nombre. Por ejemplo: Clave de API.

  4. Selecciona Clave de API como el valor de Tipo.

  5. Marca la casilla para seleccionar Habilitado.

  6. Haz clic en Guardar.

Dependiendo de tu caso de uso, puedes configurar cualquiera de las siguientes propiedades opcionales. Haz clic en + Propiedad desde el panel Propiedades para abrir el diálogo Propiedades:

diálogo de propiedades

  • Para permitir escribir la clave de API en la barra de direcciones del navegador para pruebas (no recomendado más allá de pruebas, ya que no es muy seguro), selecciona AllowApiKeyInQueryString como el Parámetro e ingresa True como el Valor, luego haz clic en la marca para guardar el registro.

  • Para permitir que la clave de API se pase a través de una conexión HTTP insegura (no recomendado), selecciona AllowInsecureHttp como el Parámetro e ingresa True como el Valor, luego haz clic en la marca para guardar el registro.

Paso 2: Configurar un endpoint

Se accede a la REST API de cada aplicación a través de un segmento de ruta base, su endpoint de aplicación. Sigue estos pasos para configurar uno:

  1. Selecciona IDE > REST APIs.

  2. Haz clic en el botón Administrar endpoints desde el panel Servicios. Se abre el diálogo Aplicaciones:

    diálogo de Aplicaciones

  3. Haz clic en el icono editar para la aplicación que deseas configurar. Por ejemplo: Northwinds Design.

  4. Ingresa el valor del endpoint en el campo Endpoint. Por ejemplo: northwinds.

  5. Haz clic en el botón Continuar, o en el icono de marca ; ambos guardan el valor del endpoint. La fila de la aplicación ahora muestra sus columnas Registro, Publicar documento de API y Autenticación.

  6. (A partir de App Builder 4.67. Si utilizas una versión anterior, salta al Paso 3.) Asociar los proveedores permitidos para autenticar las solicitudes de este endpoint:

    1. Haz clic en el icono Autenticación para la aplicación. Se abre el diálogo Proveedores de autenticación:

Diálogo Proveedores de autenticación

  1. Haz clic en + Autenticación. Se abre el diálogo Proveedor:

    Diálogo Proveedor

  2. Selecciona uno de los proveedores de clave API, HTTP o Servidor de autorización que hayas configurado. El campo Esquema se completa automáticamente con el esquema de ese proveedor, un nombre único que identifica al proveedor en URLs y documentos JSON. Opcionalmente, ingresa una Descripción y luego haz clic en Guardar. Repite los pasos 2 y 3 para cada proveedor adicional que desees permitir para autenticar las solicitudes de este endpoint.

  3. Cierra el diálogo.

Nota

Esta opción no está disponible en una aplicación sellada. Para una aplicación sellada, haz clic en el icono en su columna Servicio web en Administrar aplicaciones, lo que abre este mismo diálogo Proveedores de autenticación desde fuera de la aplicación.

Paso 3: Publica un recurso

Con un endpoint de aplicación en su lugar, ahora puedes publicar un objeto de negocio específico como un recurso que los sistemas externos pueden llamar, controlando cuántos datos devuelve, su versión de esquema y qué eventos se exponen. Sigue estos pasos:

  1. Selecciona IDE > REST APIs.

  2. En el panel Servicios, localiza la aplicación y haz clic en el icono de comilla en su tarjeta. Se abre la página REST API para esa aplicación, mostrando sus propiedades de Servicio y Recursos en una sola vista.

  3. En el panel Recursos, haz clic en + Recurso. Se abre el diálogo Recurso:

    Diálogo Recurso

  4. Establece los siguientes valores:

    • Tabla: Selecciona la tabla u objeto de negocio que expone este recurso. Una vez que se guarda el recurso, los iconos y junto a este campo se vuelven interactivos, llevándote a la página Definición de tabla de la tabla o a la página Generador de reglas del objeto de negocio (en el App Workbench), respectivamente. Solo uno de los dos está disponible para un recurso determinado, dependiendo de si seleccionaste una tabla u un objeto de negocio.

    • Endpoint: Ingresa el segmento de ruta donde la API accede a este recurso.

    • GET Default Limit y/o GET Max Limit: Controla la cantidad de registros devueltos en llamadas GET a tu endpoint de API.

    • Compatibilidad: (Opcional, desde App Builder 4.51.) Controla cómo se comporta el recurso. La compatibilidad permite a App Builder introducir nueva funcionalidad de endpoint entre versiones mientras preserva el comportamiento de los endpoints existentes para compatibilidad hacia atrás. Selecciona una de las siguientes opciones:

      • Versión 1: Usa el comportamiento REST original, en el cual los eventos Insert no están precedidos por eventos New. (Predeterminado para endpoints creados con App Builder 4.50 y anterior.)

      • Versión 2: Usa un comportamiento REST mejorado, en el cual los eventos New y las reglas predeterminadas se invocan antes de los eventos Insert. (Predeterminado para endpoints creados con App Builder 4.51.)

      • Versión 3: (Desde App Builder 4.52.) Igual que la versión 2, pero las APIs devuelven el valor lógico en lugar del valor de almacenamiento. Por ejemplo, los valores booleanos se devuelven como true o false en lugar de 1 o 0. (Predeterminado para endpoints creados con App Builder 4.52 y posterior.)

    • Excluir de la documentación: (Opcional, desde App Builder 4.67.) Marca esta opción para omitir este recurso del documento OpenAPI publicado de la aplicación, incluso cuando la publicación de documentación está habilitada para la REST API en general.

    • Descripción: (Opcional.) Una descripción del recurso, incluida en el documento OpenAPI publicado de la aplicación.

  5. Haz clic en Guardar.

  6. La pestaña Nodes del diálogo lista el nodo raíz implícito de este recurso, junto con cualquier nodo secundario que agregues. Haz clic en el icono de detalles de un nodo para abrir su diálogo Node: consulta Node parameters y Node fields para controlar qué campos se incluyen en la respuesta de forma predeterminada, o Add a child node para anidar datos adicionales bajo este recurso.

  7. (Desde App Builder 4.67.) En las propiedades del Service, expande el menú More, luego haz clic en el botón Configure Authentication. Esto abre el mismo diálogo Authentication Providers que Step 2, mostrando los proveedores ya asociados con este endpoint y permitiéndote agregar otros si lo deseas:

    More menu, Configure Authentication button

    Authentication Providers dialog

Nota

Los eventos personalizados ya no se exponen automáticamente. Usa la pestaña Events del diálogo Resource para seleccionar qué eventos están disponibles a través de la API. Consulta Invoke custom events para obtener detalles.

Step 4: Configure API keys for users

Finalmente, genera una clave API vinculada a un usuario específico, para que la identidad y los permisos de ese usuario se apliquen a cada solicitud realizada con esa clave:

  1. Selecciona IDE > User Management.

  2. Selecciona un usuario existente o crea un nuevo usuario para usar en la llamada de API.

    • El usuario debe estar configurado con el tipo de inicio de sesión Interactive.

    • El usuario no necesita tener Local Authentication.

  3. En el registro del usuario seleccionado o creado, haz clic en el icono Keys.

  4. Haz clic en Create. Se abre el diálogo Generate Key:

    Generate Key dialog

  5. Selecciona el proveedor de clave API que creaste en Step 1 como el Provider, luego haz clic en Save. App Builder genera un valor de clave.

    Importante

    Copia la clave generada ahora. No se puede mostrar de nuevo una vez que dejes esta pantalla.

Consejo

Opcionalmente, puedes configurar roles o grupos de seguridad para los objetos a los que se accede como endpoints.

Para probar o configurar el uso de tus nuevos endpoints de API, usa la API Key del paso anterior, la información de Base URL y Endpoint del documento de API, y el Name de los detalles del recurso.

Nota

También puedes publish an OpenAPI (Swagger) document que describa este endpoint, para que otras aplicaciones de la plataforma Harmony (como API Manager) así como herramientas externas de terceros puedan descubrirlo automáticamente.