|
<< Clic para mostrar Tabla de Contenidos >> Ejecutar solicitudes SAP con Bizagi Dispatcher en SAP BTP |
Este artículo explica cómo usted puede interactuar con servicios SAP OData a través del Bizagi Dispatcher desplegado en SAP BTP utilizando cualquier cliente HTTP o herramienta de prueba de API. Cada sección le guía a través de los pasos necesarios, de modo que usted pueda solicitar un token de autenticación desde XSUAA y luego usar ese token para ejecutar operaciones de lectura (GET) y escritura (POST, PATCH, DELETE) en los servicios SAP que están expuestos para usted.
Antes de comenzar a trabajar con Bizagi Dispatcher, es importante que usted entienda cómo interactúa con SAP BTP y por qué requiere tokens de autenticación. El Dispatcher es un servicio desplegado en SAP BTP que recibe sus solicitudes y las reenvía de manera segura al destino SAP que ha sido configurado para usted. Cuando usted usa el Dispatcher, no necesita administrar la conectividad con SAP ni manejar configuraciones de seguridad específicas de SAP; el Dispatcher se encarga de validar sus credenciales, gestionar comunicaciones seguras y enrutar sus solicitudes al servicio SAP OData correspondiente.
Todas las solicitudes enviadas a través del Dispatcher deben estar autorizadas, y esa autorización es manejada mediante XSUAA, el servicio de Autorización y Gestión de Confianza de SAP. XSUAA es responsable de emitir tokens OAuth2 que confirman su identidad y permisos. Cuando usted solicita un token, se autentica usando un Client ID y un Client Secret, y XSUAA responde con un access token que usted adjunta a todas sus solicitudes. Este token permite que el Dispatcher valide quién es usted y determine si tiene permitido acceder al sistema SAP.
Antes de enviar su primera solicitud utilizando su cliente HTTP o herramienta de prueba de API, confirme que usted tiene toda la información necesaria para completar el proceso correctamente. Cada uno de los siguientes elementos desempeña un papel clave en la autenticación o el enrutamiento de solicitudes:
•La URL del servicio de autenticación XSUAA, que usted usará cuando solicite su token.
•El Client ID y el Client Secret asignados a la aplicación técnica que autentica sus solicitudes.
•La URL del Bizagi Dispatcher, que recibe y enruta sus solicitudes.
•El nombre del destino configurado en SAP BTP que apunta a su sistema SAP.
•La ruta del servicio SAP OData que usted desea consumir.
•Un cliente HTTP o herramienta de prueba de API instalada en su equipo (por ejemplo, Bruno, Postman, etc.).
Dónde encontrar sus credenciales de autenticación
Si usted aún no conoce sus credenciales de autenticación, obténgalas directamente desde SAP BTP siguiendo estos pasos:
1.Abra SAP BTP Cockpit y navegue a la Subcuenta donde el Bizagi Dispatcher está desplegado.
2.Vaya a la sección Espacios y seleccione el espacio que contiene el Dispatcher.
3.Abra Servicios > Instancias para ver la lista de instancias de servicio disponibles.
4.Localice la instancia XSUAA asociada con el Dispatcher, ya que esta instancia contiene las credenciales de autenticación necesarias para este proceso.
5.Seleccione Ver Credenciales o Llave de Servicio. El sistema mostrará los valores llamados clientid, clientsecret y url, que corresponden a su Client ID, Client Secret y URL de Autenticación. Copie estos valores cuidadosamente y guárdelos de forma segura, porque los necesitará cuando solicite su token.
Para comenzar a interactuar con SAP a través del Dispatcher, solicite un token OAuth2 desde XSUAA.
1.Abra su cliente HTTP y cree una nueva solicitud.
2.Establezca el método HTTP en GET.
3.Ingrese la URL de autenticación proporcionada en sus credenciales XSUAA. La URL debe seguir esta estructura:
https://{subaccount}.authentication.{region}.hana.ondemand.com/oauth/token?grant_type=client_credentials
4.Abra la pestaña Authorization y seleccione Basic Auth como Auth Type.
5.Ingrese su Client ID en el campo Username.
6.Ingrese su Client Secret en el campo Password.

7.Abra la pestaña Params y verifique que el parámetro grant_type esté configurado como client_credentials.

8.Envíe la solicitud. Si sus credenciales son correctas, su herramienta mostrará una respuesta exitosa con Status: 200 OK.
9.El cuerpo de la respuesta contiene un objeto JSON donde usted encontrará el campo access_token, que contiene el token requerido para todas las solicitudes posteriores, así que copie este valor y guárdelo de manera segura porque lo usará en cada solicitud que envíe al Dispatcher.
Ejemplo de una respuesta JSON común:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJqaWQiOiJOcDBta...",
"token_type": "bearer",
"expires_in": 43199,
"scope": "uaa.resource",
"jti": "730f0fd73cac4872b18ccc5f6927c209"
}
|
El token incluye un tiempo de expiración en el campo expires_in, expresado en segundos; en el ejemplo anterior, el token expira en 43.199 segundos (aproximadamente 12 horas), por lo que usted debe solicitar un nuevo token cuando expire. |
Con su access token listo, usted puede comenzar a obtener datos desde SAP.
Ejecutar una solicitud GET All
1.Cree una nueva solicitud en su cliente HTTP y abra la pestaña Authorization.
2.Seleccione Bearer Token y pegue su token de acceso en el campo Token.
3.Ingrese la URL del Dispatcher usando el siguiente formato:
https://{dispatcher-url}/dispatcher?destination={destination-name}&path={odata-service-path}
4.Abra la pestaña Params y verifique que los parámetros destination y path contengan los valores correctos.
Parámetro |
Valor |
Descripción |
|---|---|---|
destination |
YourSAPDestination |
Nombre exacto del destino SAP definido en SAP BTP. |
path |
/.../YourEntitySet |
Ruta del Entity Set OData que desea consultar (sin ID). |
|
El Dispatcher valida estrictamente el parámetro path. Asegúrese de que la ruta no incluya caracteres inseguros ni barras diagonales consecutivas (//). Si el Dispatcher detecta un formato inseguro, rechazará su solicitud. |
5.Abra la pestaña Headers y agregue un encabezado llamado odataVersion con el valor 2 o 4, dependiendo de la versión OData usada por el servicio SAP.
|
Si el servicio SAP que usted consume soporta OData V4, utilice la versión 4 porque ofrece mejor rendimiento y capacidades mejoradas en comparación con V2. |
6.Si usted necesita filtrar los resultados, agregue un encabezado llamado filters e ingrese una expresión OData válida. Los filtros le permiten limitar los datos devueltos solo a los registros que cumplen sus criterios. Por ejemplo:
•CompanyCode eq '1000': filtra los resultados por código de empresa.
•Amount gt 500: filtra los resultados por un valor numérico mayor a 500.
|
Si su filtro contiene espacios, signos de puntuación u otros caracteres especiales, codifique la expresión completa utilizando codificación URL. Esto es necesario para que el Dispatcher interprete su filtro correctamente. |

7.Envíe la solicitud y revise la respuesta. El campo data en la respuesta contiene la carga útil (payload) de SAP como un string JSON, que usted podría necesitar analizar según su caso de uso.
Ejecutar una solicitud GET por llave
Si usted necesita recuperar un registro específico, incluya la estructura de la llave en el parámetro path.
•Para servicios OData V2, use el formato:
YourEntitySet('KEY')
•Para servicios OData V4, use el formato:
YourEntitySet(FieldA='1000',FieldB='ABC')
|
Consulte el documento $metadata del servicio SAP si no está seguro sobre la estructura de la llave. |
Usted también puede ejecutar operaciones de escritura a través del Dispatcher. Estas operaciones utilizan la misma URL y parámetros del Dispatcher que las solicitudes GET, pero requieren métodos HTTP específicos y cuerpos JSON adecuados.
Crear un registro (POST)
1.Establezca el método HTTP en POST.
2.Mantenga la misma URL y parámetros que en la solicitud GET.
3.Abra la pestaña Headers y agregue los encabezados Content-Type: application/json y odataVersion.
4.Abra la pestaña Body, seleccione raw, elija JSON, e ingrese el nuevo registro usando el contenedor "d". Ejemplo:
{
"d": {
"CompanyCode": "1000",
"Description": "New Item",
"Amount": 500.00
}
}
5.Envíe la solicitud.
Actualizar un registro (PATCH)
1.Establezca el método HTTP en PATCH.
2.Incluya la llave de la entidad en el parámetro path.
3.Ingrese solamente los campos que desea actualizar, envueltos dentro de "d".
4.Envíe la solicitud.
Eliminar un registro (DELETE)
1.Establezca el método HTTP en DELETE.
2.Incluya la llave de la entidad en el parámetro path.
3.No incluya un cuerpo en la solicitud.
4.Envíe la solicitud.
Algunos servicios SAP OData exponen operaciones especiales llamadas Function Imports o Action Imports. Cuando llame una de estas operaciones, indíqueselo al Dispatcher:
1.Agregue un encabezado llamado isFunctionImport con el valor true.
2.Si la operación requiere parámetros, ingréselos dentro del contenedor "d".
3.Use el método HTTP definido por el servicio OData y envíe la solicitud.
Si algo sale mal, aquí están los problemas más comunes y cómo solucionarlos:
Error |
Causa probable |
Solución |
|---|---|---|
401 Unauthorized |
Su token no es válido o ha expirado. |
Solicite un token nuevo e inténtelo de nuevo. |
403 Forbidden |
Puede que le falten permisos (scopes). |
Contacte a su administrador para confirmar sus derechos de acceso. |
404 Not Found |
El destination o la path pueden ser incorrectos. |
Verifique que ambos valores estén escritos correctamente. |
502 Bad Gateway |
Puede haber un problema de conectividad entre SAP BTP y el sistema SAP. |
Pida a su administrador que revise la conexión. |
OData Syntax Error |
Su filter o path pueden contener un error. |
Revise la sintaxis y aplique codificación URL si es necesario. |
Last Updated 2/3/2026 8:49:43 PM