Authentification

Chaque requête amodb porte une clé : 32 caractères hexadécimaux en minuscules. Envoyez-la dans api_key ou dans un en-tête Authorization: Bearer pour les appels de style TMDB, et dans apikey pour ceux de style OMDb. Les images n'exigent aucune clé. Une mauvaise clé renvoie 401 avec status_code 7, une clé suspendue 401 avec status_code 10.

Mis à jour le Voir en Markdown

Format de la clé

Une clé fait 32 caractères hexadécimaux en minuscules, par exemple 0123456789abcdef0123456789abcdef. Elle a la même forme qu'une clé TMDB v3 : les champs et les validateurs conçus pour les clés TMDB l'acceptent.

amodb ne stocke qu'un hachage SHA-256 de chaque clé. La clé complète n'est affichée qu'une fois, à sa création. Si vous la perdez, supprimez-la et créez-en une nouvelle.

Appels de style TMDB

Envoyez la clé de l'une des deux façons. Les deux fonctionnent sur tous les points de terminaison sous https://api.amodb.dev/3.

MéthodeExemple
Paramètre de requête?api_key=YOUR_KEY
En-têteAuthorization: Bearer YOUR_KEY
bashjspyphpgo
curl "https://api.amodb.dev/3/configuration" \
  -H "Authorization: Bearer $AMODB_KEY"
const res = await fetch("https://api.amodb.dev/3/configuration", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/configuration",
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/configuration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)

Appels de style OMDb

Le point de terminaison compatible OMDb prend la clé sous le nom apikey, comme OMDb. C'est la même clé que pour les appels de style TMDB.

curl
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"

Les images n'exigent aucune clé

Les URL d'images sur img.amodb.dev sont publiques. N'y ajoutez pas votre clé : une balise <img> l'exposerait à chaque visiteur.

Gardez les clés côté serveur

Une clé placée dans un bundle de navigateur, une application mobile ou un dépôt public est publique. Quiconque la copie dépense votre débit. Appelez amodb depuis votre serveur, une fonction serverless ou une étape de build, et ne transmettez que les données aux clients.

  • Stockez la clé dans une variable d'environnement ou un gestionnaire de secrets.
  • Utilisez une clé par application ou par environnement, avec un libellé comme production ou staging.
  • Supprimez une clé dès qu'elle fuite. Les appels qui l'utilisent échouent aussitôt.

Erreurs

HTTPstatus_codeSignification
4017La clé est absente, mal formée ou inconnue.
40110La clé est suspendue. Écrivez à support@amodb.dev.
40236Votre offre a expiré. Payez une nouvelle période sur la page des tarifs.

Voir les erreurs pour tous les codes.

Questions et réponses

Un en-tête Bearer est-il plus sûr que api_key dans la requête ?

Oui, un peu. Les chaînes de requête se retrouvent plus souvent que les en-têtes dans les journaux de serveur et l'historique du navigateur. Les deux passent par la même vérification : utilisez donc l'en-tête quand votre client le permet.

Combien de clés puis-je créer ?

Jusqu'à 10 clés actives par compte. Toutes partagent le débit de votre offre : une deuxième clé n'ajoute donc pas de capacité.

Que deviennent mes clés quand je change d'offre ?

Vous n'avez rien à faire. Chaque clé active prend le nouveau débit dans la minute qui suit le paiement.