SiPagoDocs
Docs para IA

Autenticación

Se usa el flujo OAuth 2.0 client_credentials contra el Identity Provider.

Request

POST https://idp.prd.geopagos.io/auth/realms/{TENANT_IDENTIFIER}/protocol/openid-connect/token

Content-Type: application/x-www-form-urlencoded

curl --location 'https://idp.prd.geopagos.io/auth/realms/{TENANT_IDENTIFIER}/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id={CLIENT_ID}' \
--data-urlencode 'client_secret={CLIENT_SECRET}' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=openid'

Response — 200 OK

{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "expires_in": 900,
  "refresh_expires_in": 0,
  "token_type": "Bearer",
  "id_token": "eyJhbGciOiJSUzI1NiIs...",
  "not-before-policy": 0,
  "scope": "openid platform merchant",
  "tid": "{TENANT_IDENTIFIER}"
}

Consideraciones

  • El token expira a los 900 segundos (15 minutos). No hay refresh token (refresh_expires_in: 0): al expirar, pedí un token nuevo repitiendo este request.
  • El token se envía en las siguientes llamadas con el header Authorization: Bearer {access_token}.
Consejo: Renová el token antes de que venza

Cacheá el token y renovalo antes de su expiración (por ejemplo, a los ~13 minutos) para evitar errores 401 en llamadas concurrentes.

Siguiente paso: crear un point of sale.