Démarrage rapide
Ce guide vous accompagne dans votre premier appel authentifié à l'API de la plateforme
Inklura. L'API repose sur tRPC : vous appelez une procédure par son nom
router.procedure et vous lui passez une entrée JSON.
1. Obtenir une session
Une session est créée lorsque vous vous connectez à
manage.inklura.fr. Pour un accès programmatique, vous envoyez
cette session sous forme de JWT Bearer, signé par la plateforme, dans l'en-tête
Authorization. La page Authentification présente toutes
les manières d'en obtenir un. Pour un premier test, le plus rapide est de copier la valeur du
cookie __Secure-authjs.session-token depuis un navigateur connecté à la console.
export INKLURA_TOKEN="<your session JWT>"
export INKLURA_BASE="https://manage.inklura.fr"
2. Vérifier votre identité
auth.getSession renvoie la session attachée à votre token : votre utilisateur, avec son
locataire et son site. C'est un bon premier appel pour confirmer que l'authentification
fonctionne.
curl -s "$INKLURA_BASE/api/trpc/auth.getSession" \
-H "Authorization: Bearer $INKLURA_TOKEN" | jq
Une requête tRPC sans entrée est un simple GET. La réponse est une enveloppe superjson :
{
"result": {
"data": {
"json": {
"user": { "id": "…", "email": "…", "tenantId": "…", "siteId": "…" },
"expires": "…"
}
}
}
}
La valeur utile se trouve sous result.data.json. Sans token valide, l'appel échoue avec
UNAUTHORIZED (HTTP 401). auth.getSession demande aussi la permission auth:read : si votre
compte ne l'a pas, l'appel échoue avec FORBIDDEN (HTTP 403) alors que le token est valide.
3. Lire des données
La plupart des lectures prennent un objet en entrée. Pour une query, passez-le encodé dans
l'URL sous la forme ?input={"json":<value>}. products.list prend une page numérotée à
partir de 0 et une limit :
curl -s -G "$INKLURA_BASE/api/trpc/products.list" \
-H "Authorization: Bearer $INKLURA_TOKEN" \
--data-urlencode 'input={"json":{"page":0,"limit":20}}' | jq '.result.data.json'
Sans valeur, page vaut 0 (la première page) et limit vaut 10. Parmi les filtres
facultatifs : search (cherche dans le nom, la description, la référence ou le SKU),
active et vendorId. Le résultat contient items, total, page, limit et pages.
4. Écrire des données
Les mutations sont des POST, avec l'entrée dans le corps JSON (encapsulée dans
{"json": …}). clients.create exige un name ; email est facultatif :
curl -s -X POST "$INKLURA_BASE/api/trpc/clients.create" \
-H "Authorization: Bearer $INKLURA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"json":{"name":"Acme SARL","email":"contact@acme.fr"}}' | jq '.result.data.json'
La création de clients demande la permission clients:write sur votre compte.
Pour un client TypeScript, pointez le client tRPC officiel (@trpc/client avec
httpBatchLink et le transformer superjson) vers https://manage.inklura.fr/api/trpc et
définissez l'en-tête Authorization. Un exemple complet figure dans
Procédures tRPC.
Étapes suivantes
- Authentification : toutes les manières d'obtenir un token, ainsi qu'OIDC et les liens d'invitation.
- API de la plateforme → Aperçu : format des requêtes et des réponses, portée locataire, batching.
- Erreurs et limites de débit : l'enveloppe d'erreur et la correspondance des statuts.
- Créez votre première application : allez au-delà des appels à l'API et déployez une application sur la plateforme.