Skip to main content
Guía paso a paso para que los administradores de Oracle Fusion Cloud ERP configuren y obtengan todas las credenciales y permisos necesarios para la integración con Payana.La integración usa las REST APIs de Fusion (fscmRestApi) autenticadas con OAuth 2.0 contra el identity domain de OCI IAM asociado a tu instancia.
Oracle Fusion no expone una API única e idéntica para todos los clientes: las unidades de negocio, los libros contables, los roles y los campos de localización dependen de cómo esté implementada tu instancia. Por eso esta guía incluye un paso de descubrimiento (sección 1) antes de la configuración técnica.

1. Obtener los datos del entorno

  1. Identifica la URL de tu instancia (pod). Tiene la forma https://<pod>.fa.<región>.oraclecloud.com.
  2. Anota si es producción o test/sandbox. Si tienes ambos, comparte los dos: la integración se configura y valida primero en test.
  3. Identifica el release en el que está la instancia (26A, 26B, 26C…). Lo encuentras en Ayuda > Acerca de esta aplicación.
  4. Identifica la URL del identity domain de OCI IAM asociado a la instancia. Tiene la forma https://<idcs-id>.identity.oraclecloud.com.
Puedes confirmar los endpoints exactos del identity domain consultando https://idcs-<idcs-id>.identity.oraclecloud.com/.well-known/idcs-configuration desde el navegador.

1.1 Alcance funcional

Además de los datos técnicos, define con tu equipo de finanzas:

2. Crear el usuario de integración

  1. Ve a Herramientas > Security Console > Usuarios > Agregar usuario.
  2. Crea un usuario dedicado, por ejemplo PAYANA_INTEGRATION.
  3. Asocia una dirección de correo controlada por tu equipo de TI.
  4. Haz clic en Guardar.
Usa siempre un usuario dedicado y no la cuenta personal de un empleado: si esa persona deja la empresa o cambia de rol, la integración se cae. Verifica también que la política de expiración de contraseña no aplique a esta cuenta, o programa su rotación.

3. Crear el rol de integración

3.1 Crear el rol

  1. Ve a Herramientas > Security Console > Roles > Crear rol.
  2. Configura:
    • Nombre del rol: Conexión Payana.
    • Código del rol: PAYANA_INTEGRATION_JOB.
    • Categoría del rol: Common — Job Roles.
  3. Avanza por el asistente y guarda.
¿Por qué un rol propio y no uno predefinido?
Los roles predefinidos de Oracle (por ejemplo Accounts Payable Manager) traen cientos de privilegios que la integración no necesita, y suelen ser lo primero que una auditoría interna retira. Un rol propio, construido a partir de los roles de referencia de la sección 3.2, sobrevive a la auditoría y deja explícito qué hace la integración.

3.2 Roles de referencia por área funcional

En la pestaña Jerarquía de roles del rol Conexión Payana, agrega los roles de referencia correspondientes al alcance acordado. Cada uno aporta los privilegios de su área.
Los nombres de los roles predefinidos son los de la Security Reference for Financials y for Procurement de Oracle, pero el conjunto exacto de privilegios que necesita tu instancia debe validarlo tu equipo de seguridad. La recomendación práctica es partir de estos roles, probar la integración en el entorno de test, y retirar después lo que no se use.

3.3 Recursos REST que usa la integración

Esta es la lista de recursos REST a los que accede la integración. Sirve para que tu equipo de seguridad verifique que el rol los cubre.
Los recursos para impuestos, retenciones, centros de costo, bodegas y proyectos dependen de cómo esté configurada la contabilidad analítica en tu instancia: en Fusion esos conceptos suelen vivir como segmentos del plan de cuentas o como flexfields, no como recursos REST independientes. Se confirman en la sesión de descubrimiento (sección 1.1).

3.4 Acceso a datos (data security)

Este paso es tan importante como los permisos funcionales y es el que más se olvida.
  1. Ve a Herramientas > Security Console o al área de configuración Gestionar acceso a datos para usuarios.
  2. Busca el usuario PAYANA_INTEGRATION.
  3. Asigna el acceso a datos para el rol Conexión Payana:
    • Business Unit: las BU acordadas en la sección 1.1.
    • Ledger / Data Access Set: los libros correspondientes.
  4. Guarda.
El error más difícil de diagnosticar. Si faltan las políticas de acceso a datos, la API no devuelve 403: devuelve 200 OK con count: 0. Una integración que “conecta bien” pero no trae ningún registro casi siempre es esto, no un problema de filtros ni de credenciales.

3.5 Asignar el rol al usuario

  1. Ve a Herramientas > Security Console > Usuarios.
  2. Busca PAYANA_INTEGRATION y edítalo.
  3. En Roles, agrega Conexión Payana.
  4. Guarda.

4. Registrar la aplicación OAuth en OCI IAM

  1. Ingresa a la consola del identity domain de OCI IAM asociado a la instancia, como administrador.
  2. Ve a Integrated applications > Add application.
  3. Selecciona Confidential Application y haz clic en Launch workflow.
  4. Nombra la aplicación, por ejemplo Payana Integration.
  5. En la sección de configuración, marca Configure this application as a client now.
  6. En Authorization, marca el grant type Client credentials.
  7. En Token issuance policy, establece Authorized resources en Specific, y agrega el recurso de Fusion con su scope.
  8. Haz clic en Finish y luego en Activate.
  9. Copia y guarda el Client ID y el Client Secret.
El Client Secret solo se muestra una vez. Si se pierde, debes generar uno nuevo desde la aplicación.

4.1 Obtener el scope

El scope de OAuth no es genérico: es propio de tu instancia. Tiene la forma:
Para obtenerlo, en la consola de IAM abre el servicio Oracle Applications Cloud (Fusion) y localiza la propiedad IDCS_CONNECTOR_CLIENT_SCOPE. Copia el valor completo.

5. Vincular el Client ID con Fusion

Este paso es obligatorio y es la causa más común de que la primera prueba falle.
  1. Copia el Client ID generado en el paso 4.
  2. Ve a Herramientas > Security Console > Usuarios.
  3. Crea un usuario cuyo nombre de usuario sea exactamente el Client ID.
  4. Asígnale el rol Conexión Payana y el mismo acceso a datos configurado en la sección 3.4.
  5. Guarda.
Con el grant client_credentials, Fusion resuelve la identidad de la llamada a partir del Client ID. Si ese Client ID no existe como usuario dentro de Fusion, el identity domain emite el token correctamente pero la API responde 401 o devuelve count: 0. Es un fallo silencioso: el token es válido, el usuario no existe.

6. Resumen de valores para compartir con Payana

Comparte estos valores por un canal seguro. El Client Secret nunca debe enviarse por correo ni por chat sin cifrar.

7. Lista de verificación

  • Tienes la URL del pod de test y, si aplica, la de producción.
  • Tienes la URL del identity domain de OCI IAM.
  • Existe el usuario de integración dedicado (PAYANA_INTEGRATION).
  • Existe el rol Conexión Payana con categoría Common — Job Roles.
  • El rol incluye los roles de referencia del alcance acordado (sección 3.2).
  • El usuario tiene configurado el acceso a datos por Business Unit y Ledger (sección 3.4).
  • El rol Conexión Payana está asignado al usuario de integración.
  • La aplicación confidencial en OCI IAM está creada y activada.
  • El grant Client credentials está habilitado y los Authorized resources están en Specific.
  • Tienes el Client ID, el Client Secret y el scope completo.
  • Existe un usuario en Fusion cuyo nombre es exactamente el Client ID, con el rol y el acceso a datos asignados (sección 5).
  • Las Business Units, los ledgers y el Invoice Source están definidos y comunicados.
  • Los valores se compartieron con Payana de forma segura.
  • Se verificó el acceso con una solicitud de prueba (sección 8).

8. Validar la conexión (Opcional)

Una vez configuradas las credenciales, verifica que la integración tiene acceso correcto a Fusion. Son dos llamadas: obtener el token y usarlo.
1

Obtener un access token

Reemplaza los valores y ejecuta en una terminal:
La respuesta contiene el access_token, con una validez de 3600 segundos.
2

Consultar proveedores

Usa el token obtenido:
3

Consultar facturas

Confirma también el acceso a Payables:

Respuesta esperada

Una respuesta 200 OK con count mayor que cero confirma que las credenciales, los permisos y el acceso a datos están correctos:

Errores comunes

Este es el caso más frecuente y no es un error de credenciales. Si el token se emite y la API responde 200 con "count": 0, casi siempre falta el acceso a datos del usuario de integración.Revisa, en este orden:
  1. Que el usuario tenga asignado el acceso a datos por Business Unit (sección 3.4).
  2. Que tenga asignado el Data Access Set del ledger correspondiente.
  3. Que el usuario creado con el nombre del Client ID tenga el mismo rol y el mismo acceso a datos (sección 5). Es habitual configurarlos solo en PAYANA_INTEGRATION y olvidarlos en el usuario del Client ID.
  4. Que realmente existan registros en esa BU.
Una vez que la consulta básica funcione, verifica el acceso a los demás recursos que usa la integración:
Si todas responden 200 (aunque items venga vacío por no haber registros en esa BU), las credenciales y permisos están correctamente configurados.
La integración lee de forma incremental usando LastUpdateDate. Puedes probar el mismo filtro:

9. Consideraciones de mantenimiento