Etape 1 - Générer un access token

Description de la requête

Point d'accès :

POST https://entreprise.pole-emploi.fr/connexion/oauth2/access_token

 

Détail des paramètres à valoriser :

Paramètre(s) Valeur
realm /partenaire
En-tête(s) Valeur
Content-Type application/x-www-form-urlencoded
Corps de la requête Valeur
grant_type client_credentials
client_id Votre identifiant client
client_secret Votre clé secrète
scope Liste des scopes techniques et applicatifs correspondant aux API que vous souhaitez manipuler (séparés par des espaces)

 

Exemple d'appel :

POST /connexion/oauth2/access_token?realm=%2Fpartenaire
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=[identifiant client]
&client_secret=[clé secrète]
&scope=application_[identifiant client]%20api_labonneboitev1

 

Description de la réponse

En-tête(s) Valeur
Content-Type application/json;charset=UTF-8
Cache-Control no-store
Pragma no-cache
Corps de la réponse Valeur
expires_in Durée de vie de l'access token en secondes
token_type Bearer
access_token Valeur de l'access token généré
scope Liste des scopes techniques et applicatifs demandés

 

Exemple de retour :

HTTP 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
  "scope": "api_labonneboitev1 application_[Identifiant client]",
  "expires_in": 1500,
  "token_type": "Bearer",
  "access_token": "[Valeur du jeton généré]"
}

 

Cas d'erreurs possibles

Identifiant client et/ou clé secrète erroné ou absent :

HTTP 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "error": "invalid_client",
  "error_description": "Client authentication failed"
}

 

Scope inconnu ou scope pour lequel vous ne disposez pas des droits (utilisation d'une API sans souscription) :

HTTP 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "error": "invalid_scope",
  "error_description": "Unknown/invalid scope(s): [api_labonneboitev0]"
}

 

Mauvaise cinématique OAuth :

HTTP 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "error": "unsupported_grant_type",
  "error_description": "Grant type is not supported: authorization_code_flow"
}