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

Les sessions de navigateur sont générées en se connectant à manage.inklura.fr. Pour un accès programmatique, vous envoyez cette session sous forme de JWT Bearer (signé avec le AUTH_SECRET de la plateforme, en HS256) dans un en-tête Authorization. Consultez Authentification pour toutes les manières d'en obtenir un ; la plus rapide pour tester consiste à copier la valeur du cookie __Secure-authjs.session-token depuis une session de navigateur connectée.

export INKLURA_TOKEN="<your session JWT>"
export INKLURA_BASE="https://manage.inklura.fr"

2. Vérifier votre identité

auth.getSession renvoie l'identité et la portée locataire/site de votre token — l'appel idéal en premier 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": "…" } } } }

La valeur qui vous intéresse est imbriquée sous result.data.json.

3. Lire des données

La plupart des lectures prennent un objet en entrée. Pour une requête, passez-le encodé dans l'URL sous la forme ?input={"json":<value>} :

curl -s -G "$INKLURA_BASE/api/trpc/products.list" \
  -H "Authorization: Bearer $INKLURA_TOKEN" \
  --data-urlencode 'input={"json":{"page":1,"pageSize":20}}' | jq '.result.data.json'

4. Écrire des données

Les mutations sont des POST, avec l'entrée dans le corps JSON (encapsulée dans {"json": …}) :

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'
Astuce

Vous préférez un client typé ? 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. Consultez Procédures tRPC pour un exemple complet.

Étapes suivantes