Méthode GET/partner-portal /me
Lire votre profil de partenaire et la liste des marques qui vous ont accrédité. Session de compte partenaire, aucun droit de clef d'API.
Sur cette page
Vous lisez votre profil de partenaire et la liste des marques qui vous ont accrédité, avec le métier reconnu pour chacune. En quittant cette page, vous saurez comment présenter votre session, ce que contient la réponse, et pourquoi une même marque peut y figurer deux fois.
L'adresse complète est https://api.sealtrust.io/v1/partner-portal/me. La même
route existe sans le préfixe /v1, et c'est la forme /v1 qui est recommandée
pour une nouvelle intégration.
C'est l'appel à faire au démarrage de votre intégration. Il vous dit sur quelles marques vous avez le droit d'agir. Les autres points d'entrée du portail partenaire refusent tout produit qui appartient à une marque absente de cette liste.
#Autorisation
Session d'un compte partenaire. Aucun droit de clef d'API n'intervient ici.
Le compte doit avoir le rôle repairer (réparateur) ou recycler (recycleur).
Un compte client ou un compte d'équipe de marque reçoit un 403, avec le message
Partner account required (repairer or recycler). Une clef d'API
st_live_... placée dans Authorization: Bearer reçoit elle aussi un 403, avec
un autre message, Token invalide : le portail ne la lit jamais comme un jeton
de session.
Deux façons de présenter la session, au choix.
| Façon | Quand l'utiliser |
|---|---|
En-tête Authorization: Bearer <jeton> | Appel de serveur à serveur, script, application mobile. C'est la forme utilisée dans les exemples ci-dessous. |
Cookie de session access_token | Navigateur, une fois connecté au portail. La connexion pose ce cookie, en HttpOnly. |
Vous obtenez un jeton en appelant POST /v1/auth/login avec un corps au format
formulaire, champs username et password. La réponse contient access_token,
refresh_token, token_type et role. Le jeton d'accès vaut 60 minutes, le
jeton de renouvellement vaut 7 jours.
printf 'Mot de passe : '
stty -echo; IFS= read -r MOT_DE_PASSE; stty echo; echo
printf '%s' "$MOT_DE_PASSE" | curl -s -X POST https://api.sealtrust.io/v1/auth/login \
-d "username=reparateur@exemple-sas.test" \
--data-urlencode "password@-"Le mot de passe est lu en clavier masqué et transmis à curl par l'entrée
standard. Ne l'écrivez pas directement sur la ligne de commande : il resterait
dans l'historique de votre terminal et serait lisible dans la liste des
processus de la machine pendant l'appel.
Un appel fait depuis un navigateur avec le cookie de session doit venir d'une
origine que nous autorisons, celle de la console. Un appel de serveur à serveur
qui porte le jeton dans Authorization est accepté sans condition d'origine.
#Plafond d'appels
Un plafond d'appels s'applique à ce point d'entrée. Il est réglé pour l'usage normal du portail, où vous cherchez un produit puis enregistrez une intervention.
Au-delà, l'API répond 429. Le refus porte un en-tête Retry-After qui donne le
nombre de secondes à attendre. Attendez ce délai, puis rappelez.
Le plafond couvre l'ensemble du portail partenaire. Alterner entre les points d'entrée ne vous redonne donc pas de marge. Espacez vos appels au lieu de les envoyer en rafale.
La valeur du plafond n'est pas un engagement et peut changer sans préavis.
N'inscrivez aucun seuil en dur dans votre code, appuyez-vous sur Retry-After.
Ce point d'entrée ne consomme aucun quota de produits et aucun quota journalier de clef d'API.
#Paramètres de chemin et de requête
Ce point d'entrée n'accepte aucun paramètre de chemin ni de requête.
#Corps de la requête
Aucun. C'est une requête GET et elle ne lit aucun corps.
#Requête d'exemple
Le jeton montré ici est faux et sert d'exemple. Remplacez-le par le jeton d'accès que la connexion vous a rendu.
curl -i https://api.sealtrust.io/v1/partner-portal/me \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.0000000000000000000000000000.0000000000000000000000000000"const response = await fetch(
"https://api.sealtrust.io/v1/partner-portal/me",
{
method: "GET",
headers: {
Authorization:
"Bearer eyJhbGciOiJIUzI1NiJ9.0000000000000000000000000000.0000000000000000000000000000",
},
},
);
console.log(response.status);
console.log(await response.json());import requests
response = requests.get(
"https://api.sealtrust.io/v1/partner-portal/me",
headers={
"Authorization": (
"Bearer eyJhbGciOiJIUzI1NiJ9"
".0000000000000000000000000000"
".0000000000000000000000000000"
),
},
timeout=30,
)
print(response.status_code)
print(response.json())#Réponse d'exemple
Code HTTP 200OK
Code HTTP 200. Un compte de réparateur accrédité par deux marques, dont l'une lui reconnaît aussi le métier de recycleur.
{
"id": 128,
"email": "reparateur@exemple-sas.test",
"name": "Camille Exemple",
"partner_type": "repairer",
"brands": [
{
"brand_id": 42,
"brand_name": "Exemple SAS",
"partner_type": "repairer",
"status": "active"
},
{
"brand_id": 42,
"brand_name": "Exemple SAS",
"partner_type": "recycler",
"status": "active"
},
{
"brand_id": 57,
"brand_name": "Atelier Exemple",
"partner_type": "repairer",
"status": "active"
}
]
}Code HTTP 200 également pour un compte partenaire qu'aucune marque n'a encore accrédité, ou dont les marques ont toutes retiré leur accréditation. La liste est vide, et l'appel ne renvoie pas d'erreur.
{
"id": 128,
"email": "reparateur@exemple-sas.test",
"name": "Camille Exemple",
"partner_type": "repairer",
"brands": []
}#Les champs de la réponse
| Champ | Type | Description |
|---|---|---|
id | integer | Identifiant de votre compte partenaire. |
email | string | Adresse électronique de votre compte. |
name | string ou null | Prénom et nom réunis, séparés par une espace. Vaut null quand les deux sont vides. |
partner_type | string | Le rôle de votre compte : repairer ou recycler. |
brands | array | Une entrée par accréditation active. Vide si vous n'en avez aucune. |
Chaque entrée de brands.
| Champ | Type | Description |
|---|---|---|
brand_id | integer | Identifiant de la marque. C'est cette valeur que vous retrouvez dans les interventions que vous enregistrez. |
brand_name | string ou null | Nom de la marque. Le modèle de réponse déclare ce champ nullable : prévoyez la valeur null dans votre code et repliez sur brand_id pour l'affichage. |
partner_type | string | Le métier que cette marque vous reconnaît : repairer ou recycler. |
status | string | Toujours active. Une accréditation retirée disparaît de la liste. |
#Deux points de lecture qui trompent souvent
Une marque peut apparaître deux fois. Une accréditation porte sur un couple
marque et métier. Une marque qui vous reconnaît à la fois réparateur et
recycleur produit deux entrées avec le même brand_id.
Le partner_type de la racine et celui d'une entrée de brands ne disent pas
la même chose. Celui de la racine est le rôle de votre compte. Celui d'une
entrée est le métier reconnu par cette marque précise. Fiez-vous à celui de
l'entrée pour savoir ce que vous pouvez enregistrer chez une marque donnée.
#Ce que ce point d'entrée ne dit pas
La liste des types d'intervention que vous avez le droit d'enregistrer n'est pas
ici. Elle dépend du produit et de sa marque. Vous la lisez dans le champ
allowed_event_types de GET /v1/partner-portal/products/{identifier}.
#Erreurs
| Code | Condition | Que faire |
|---|---|---|
| 401 | Vous ne présentez aucun jeton : ni en-tête Authorization, ni cookie de session. Message Not authenticated, en-tête WWW-Authenticate: Bearer. | Connectez-vous, puis rappelez avec Authorization: Bearer <jeton>. |
| 401 | Vous présentez un jeton qui n'est pas un jeton de session, par exemple un jeton de confirmation d'adresse ou de réinitialisation de mot de passe. Message Invalid token. | Utilisez le champ access_token rendu par la connexion, et lui seul. |
| 401 | Votre connexion s'est arrêtée à l'étape de double authentification. Message MFA verification required. | Terminez la double authentification, puis rappelez avec le jeton obtenu à la fin. |
| 401 | Une déconnexion ou un changement de mot de passe a révoqué le jeton. Message Token has been revoked. | Reconnectez-vous. Le jeton précédent ne redeviendra pas valable. |
| 401 | Le jeton ne porte aucune adresse électronique. Message Invalid token: missing email. | Reconnectez-vous pour obtenir un jeton complet. |
| 401 | Votre compte n'est plus actif. Message Account disabled. | Le jeton reste refusé tant que le compte n'a pas été réactivé. Demandez sa réactivation à votre contact chez la marque. |
| 401 | Une panne imprévue interrompt la lecture du jeton. Message Invalid JWT token. | Réessayez. Si le refus dure, reconnectez-vous. |
| 403 | Votre jeton est illisible, expiré, ou signé par autre chose. Message Token invalide. | Renouvelez la session. Un jeton d'accès vaut 60 minutes. |
| 403 | Vous présentez une clef d'API st_live_... à la place d'un jeton de session. Message Token invalide. | Le portail partenaire n'accepte que la session d'un compte. Gardez vos clefs d'API pour les chemins /v1/partner/.... |
| 403 | Votre compte n'est pas un compte partenaire : compte client, compte d'équipe de marque. Message Partner account required (repairer or recycler). | Demandez un compte de réparateur ou de recycleur à la marque qui vous accrédite. |
| 403 | Votre requête porte un Origin ou un Referer absent de la liste des origines autorisées, et elle n'a pas d'en-tête Authorization: Bearer. Message Forbidden origin. | Appelez depuis la console, ou faites l'appel de serveur à serveur en mettant le jeton dans Authorization: Bearer. |
| 403 | Votre requête porte le cookie de session access_token sans aucun Origin ni Referer. Message Origin or Referer header required. | Laissez le navigateur poser l'en-tête Origin, ou faites l'appel de serveur à serveur en mettant le jeton dans Authorization: Bearer. |
| 404 | Le compte désigné par le jeton n'existe plus. Message User not found. | Le compte a été supprimé. Contactez la marque qui vous avait accrédité. |
| 429 | Vous avez dépassé le plafond d'appels. La réponse porte un en-tête Retry-After. | Attendez le nombre de secondes indiqué par Retry-After, puis rappelez. Le plafond couvre tout le portail partenaire, espacez donc l'ensemble de vos appels. |
Deux refus visent le jeton et se distinguent par le code HTTP et par le
message. Le 403 Token invalide vise le jeton lui-même, illisible ou expiré.
Le 401 Invalid token vise un jeton lisible dont le type n'est pas celui d'une
session. Déclenchez votre renouvellement de session sur les deux.
Un compte partenaire sans aucune accréditation active reçoit un 200 avec une
liste vide. Le 403 Aucune accréditation active que rendent
GET /v1/partner-portal/products/{identifier} et
POST /v1/partner-portal/interventions n'existe pas ici.
#Voir aussi
GET /partner-portal/products/{identifier}, retrouver un produit d'une marque qui vous a accrédité.POST /partner-portal/interventions, enregistrer une intervention sur un produit.GET /partner-portal/interventions, lister les interventions que votre compte a enregistrées.
Cette page vous a-t-elle été utile ?
Votre réponse ouvre un courriel pré-rempli dans votre messagerie, à destination de contact@sealtrust.io. Vous le relisez avant de l'envoyer.