Saltar al contenido

Publicar una app de Jitterbit App Builder como endpoint de REST API

Descripción general

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

Nota

Al empaquetar esta app en un LP e implementarla en otro entorno, la configuración del endpoint en IDE > REST APIs persiste automáticamente. Todas las otras configuraciones en esta guía deben recrearse manualmente en cada entorno adicional.

Los pasos son:

Paso 1: Configurar un proveedor de seguridad de clave API

Para proteger tu REST API, primero necesitas un proveedor de seguridad de clave API, que App Builder usa para validar la clave que presenta cada llamador:

  1. Selecciona IDE > Security Providers.

  2. Haz clic en + Security Provider. Se abre la página Provider:

    Página Provider

  3. Asigna al proveedor un Name. Por ejemplo: API Key.

  4. Selecciona API Key como valor Type.

  5. Marca la casilla Enabled.

  6. Haz clic en Save.

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

diálogo de propiedades

  • Para permitir escribir la clave API en la barra de direcciones del navegador con fines de prueba (no recomendado más allá de las pruebas, ya que no es muy seguro), selecciona AllowApiKeyInQueryString como Parameter e ingresa True como Value, luego haz clic en el símbolo de marca para guardar el registro.

  • Para permitir que la clave API se pase sobre una conexión HTTP insegura (no recomendado), selecciona AllowInsecureHttp como Parameter e ingresa True como Value, luego haz clic en el símbolo de 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 Manage Endpoints del panel Services. Se abre el diálogo Applications:

    Diálogo Applications

  3. Haz clic en el ícono 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 Proceed o en el ícono de marca; ambos guardan el valor del endpoint. La fila de la aplicación ahora muestra sus columnas Logging, Publish API Doc y Authentication.

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

    1. Haz clic en el ícono Authentication para la aplicación. Se abre el diálogo Authentication Providers:

Diálogo de Proveedores de autenticación

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

    ![Diálogo de Proveedor](/_download/images/app-builder/ide/authentication-provider-dialog.png){style="width: 320px"}

3.  Selecciona uno de los proveedores de clave de API, HTTP o Servidor de autorización que has configurado. El campo **Esquema** se completa automáticamente con el esquema de ese proveedor, un nombre único que identifica el 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.

4.  Cierra el diálogo.

!!! note "Nota"
    Esta opción no está disponible en una [aplicación sellada](/es/app-builder/deploy/sealed-apps/). Para una aplicación sellada, haz clic en el icono <span class="fas fa-xs fa-user-lock"></span> en su columna **Servicio Web** en [Aplicaciones](/es/app-builder/user-management/providers-and-identities/#sealed-application-web-services) en su lugar, lo que abre este mismo diálogo de **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 puedan llamar, controlando cuántos datos devuelve, su versión de esquema y qué eventos se exponen. Sigue estos pasos:

  1. Selecciona IDE > API REST.

  2. En el panel Servicios, localiza la aplicación y haz clic en el icono de chevron en su tarjeta. Se abre la página API REST 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 de Recurso

  4. Establece los siguientes valores:

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

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

    • Límite predeterminado de GET y/o Límite máximo de GET: 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 en diferentes versiones mientras preserva el comportamiento de los endpoints existentes para compatibilidad hacia atrás. Selecciona una de las siguientes opciones:

      • Versión 1: Utiliza el comportamiento REST original, en el que los eventos de Inserción no están precedidos por eventos de Nuevo. (Por defecto para endpoints creados con App Builder 4.50 y anteriores.)

      • Versión 2: Utiliza un comportamiento REST mejorado, en el que los eventos de Nuevo y cualquier regla predeterminada se invocan antes que los eventos de Inserción. (Por defecto 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. (Por defecto para endpoints creados con App Builder 4.52 y posteriores.)

    • Excluir de la documentación: (Opcional, desde App Builder 4.67.) Marca para omitir este recurso del documento OpenAPI publicado de la aplicación, incluso cuando la publicación de documentación esté habilitada para la API REST 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 Agregar un nodo secundario para anidar datos adicionales bajo este recurso.

  7. (Desde App Builder 4.67.) En las propiedades Service, expande el menú More, luego haz clic en el botón Configure Authentication. Esto abre el mismo diálogo Authentication Providers que en 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. Utiliza 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 más detalles.

Paso 4: Configurar claves API para usuarios

Finalmente, genera una clave API vinculada a un usuario específico, de modo 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 uno nuevo para usar en la llamada de API.

    • El usuario debe configurarse 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 podrá mostrarse nuevamente una vez que abandones 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, utiliza 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 publicar un documento OpenAPI (Swagger) 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.