Guides
Authentification
Authentification

Pré-requis

Avant de continuer, assurez-vous d'avoir :

  • une clé d'API PRISMO valide.

  • un compte "Partenaire PRISMO".

  1. Demande de clé d'API PRISMO La demande de clé d'API PRISMO s'effectue en prennant contact avec la direction technique de PRISMO. Vous pouvez rentrer en contact avec l'équipe via le formulaire de contact (opens in a new tab).
  2. Création d'un compte "Partenaire PRISMO". Afin de créer votre compte "Partenaire PRISMO", il vous sera demandé de fournir :
  • le nom d'affichage souhaité.
  • le nom de domaine de votre site.
  • l'image de votre logo au format SVG ou PNG.
  • l'URL vers laquelle vos utilisateurs seront redirigés après acceptation de l'autorisation.
  • l'URL vers laquelle vos utilisateurs seront redirigés après refus de l'autorisation.

Communiquer avec l’API

L'API PRISMO est accessible via le point d’entrée : https://public-api.prismo.io/graphql (opens in a new tab).

Afin de communiquer avec notre API, il faut mettre en place votre clé d'API PRISMO dans la propriété Authorization du header des requêtes effectuées. La clé d'API doit être préfixée par "_Bearer _" afin d'être valide.

⚠️

Toutes les requêtes effectuées à l'API PRISMO doivent être effectuées côté serveur. Dans les cas contraire, l'API vous retourne une erreur Not Allowed by CORS.

Exemple avec cURL

curl --request POST \
--url https://public-api.prismo.io/graphql \
--header 'Authorization: Bearer <API_KEY_PRISMO>' \
--header 'content-type: application/json' \
--data '{"query": <QUERY> ,"operationName": <OPERATION_NAME>, "variables": <VARIABLES> }'

Exemple Javascript avec graphql-request

import { GraphQLClient, gql } from 'graphql-request'
 
const endpoint = 'https://public-api.prismo.io/graphql';
 
const headers = {
    Authorization: 'Bearer <API_KEY_PRISMO>'
};
 
const client = new GraphQLClient(endpoint, { headers });
 
const query = gql`
    query MyQuery($id: ID!) {
        ...
    }
`;
 
const variables = {
    id: 'myId',
};
 
client.request(query, variables)
    .then((data) => console.log(data))
    .catch((err) => console.err(err));

Erreurs possibles

🚫

Cas sans header Authorization envoyé

{
  "error": {
    "errors": [
      {
        "message": "No Authorization Header.",
        "extensions": {
          "code": "FORBIDDEN"
        }
      }
    ]
  }
}
🚫

Cas où le header Authorization envoyé n'est pas conforme

{
  "error": {
    "errors": [
      {
        "message": "Authorization Header malformed.",
        "extensions": {
          "code": "FORBIDDEN"
        }
      }
    ]
  }
}
🚫

Cas où la clé d'API n'est pas valide

{
  "error": {
    "errors": [
      {
        "message": "API Key not valid.",
        "extensions": {
          "code": "FORBIDDEN"
        }
      }
    ]
  }
}

L’utilisation de l’API est aussi liée à un utilisateur connecté. Il faut donc pour chaque utilisateur créer un compte PRISMO. L’inscription ou la connexion permet de générer un token qu’il faut renseigner dans l’en-tête de la requête (voir Communiquer avec l’API. -->