Autenticação
Toda requisição ao amodb leva uma chave: 32 caracteres hexadecimais minúsculos. Envie-a como api_key na consulta ou em um cabeçalho Authorization: Bearer nas chamadas no estilo TMDB, e como apikey nas chamadas no estilo OMDb. As imagens não precisam de chave. Uma chave errada retorna 401 com status_code 7, e uma chave suspensa retorna 401 com status_code 10.
Formato da chave
Uma chave tem 32 caracteres hexadecimais minúsculos, por exemplo 0123456789abcdef0123456789abcdef. Ela tem o mesmo formato de uma chave do TMDB v3, então campos e validadores feitos para chaves do TMDB a aceitam.
O amodb guarda apenas um hash SHA-256 de cada chave. A chave completa é exibida uma só vez, quando você a cria. Se a perder, exclua-a e crie uma nova.
Chamadas no estilo TMDB
Envie a chave de uma de duas formas. Ambas funcionam em todos os endpoints de https:/.
| Método | Exemplo |
|---|---|
| Parâmetro de consulta | ?api_key=YOUR_KEY |
| Cabeçalho | Authorization: Bearer YOUR_ |
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)Chamadas no estilo OMDb
O endpoint compatível com OMDb recebe a chave como apikey, assim como o OMDb. É a mesma chave que você usa nas chamadas no estilo TMDB.
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"Imagens não precisam de chave
As URLs de imagem em img.amodb.dev são públicas. Não coloque sua chave nelas: uma tag <img> a exporia a todos os visitantes.
Mantenha as chaves no servidor
Uma chave em um bundle de navegador, em um app móvel ou em um repositório público é uma chave pública. Quem a copiar gasta a sua taxa de requisições. Chame o amodb a partir do seu servidor, de uma função serverless ou de uma etapa de build, e repasse aos clientes apenas os dados.
- Guarde a chave em uma variável de ambiente ou em um gerenciador de segredos.
- Use uma chave por app ou ambiente, com um rótulo como
productionoustaging. - Exclua uma chave no momento em que ela vazar. As chamadas com ela falham na hora.
Erros
| HTTP | status_code | Significado |
|---|---|---|
| 401 | 7 | A chave está ausente, malformada ou é desconhecida. |
| 401 | 10 | A chave está suspensa. Escreva para support@amodb.dev. |
| 402 | 36 | Seu plano expirou. Pague um novo período na página de preços. |
Veja erros para todos os códigos.