Authentification à l'API
#
Pré-requisAvant de continuer, assurez-vous d'avoir :
- une clé d'API PRISMO valide.
- un compte "Partenaire PRISMO".
- 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.
- 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’APIL'API PRISMO est accessible via le point d’entrée : https://public-api.prismo.io/graphql.
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.
Attention
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 cURLcurl --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-requestimport { 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 possiblesCas 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" } } ] }}