מדריך למתחילים
קונים מסלול, יוצרים מפתח בחשבון ושולחים אותו עם הבקשה הראשונה ל-https://api.amodb.dev/3/movie/550. התגובה היא ה-JSON של TMDB v3 שאתם כבר מכירים. אחר כך בונים כתובת פוסטר ב-img.amodb.dev מתוך poster_path. אם אתם כבר משתמשים ב-TMDB או ב-OMDb, מחליפים רק את כתובת הבסיס ואת המפתח.
1. קבלת מפתח
בחרו מסלול בעמוד התמחור ושלמו עבור תקופה. אחר כך פתחו חשבון, ואז מפתחות API, וצרו מפתח. מפתח הוא 32 תווים הקסדצימליים באותיות קטנות, באותה צורה כמו מפתח TMDB v3.
המפתח המלא מוצג פעם אחת. שמרו אותו כמשתנה סביבה בשם AMODB_KEY כדי שהדוגמאות בעמוד הזה יעבדו כפי שהן.
export AMODB_KEY="0123456789abcdef0123456789abcdef"2. בקשת פרטי סרט
קראו ל-GET /. שלחו את המפתח כאסימון Bearer או כ-api_key בשאילתה. שתי הדרכים מתקבלות בכל נקודת קצה.
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
-H "Authorization: Bearer $AMODB_KEY"const res = await fetch("https://api.amodb.dev/3/movie/550?language=en-US", {
headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) throw new Error(`amodb ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.runtime);import os
import requests
res = requests.get(
"https://api.amodb.dev/3/movie/550",
params={"language": "en-US"},
headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
timeout=10,
)
res.raise_for_status()
movie = res.json()
print(movie["title"], movie["runtime"])<?php
$ch = curl_init("https://api.amodb.dev/3/movie/550?language=en-US");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("AMODB_KEY")],
]);
$movie = json_decode(curl_exec($ch), true);
echo $movie["title"] . " " . $movie["runtime"];package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/movie/550?language=en-US", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
var movie struct {
Title string `json:"title"`
Runtime int `json:"runtime"`
}
json.NewDecoder(res.Body).Decode(&movie)
fmt.Println(movie.Title, movie.Runtime)
}תגובת 200 כוללת את השדות של TMDB v3. חלק קצר ממנה:
{
"id": 550,
"imdb_id": "tt0137523",
"title": "Fight Club",
"release_date": "1999-10-15",
"runtime": 139,
"poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}3. טעינת הפוסטר
חברו את כתובת הבסיס של התמונות, גודל ו-poster_path. תמונות לא צריכות מפתח ונשארות במטמון 30 יום.
ראו תמונות לכל הגדלים ולבניית כתובות מ-/3/configuration.
curl -o poster.jpg "https://img.amodb.dev/t/p/w500/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"const poster = `https://img.amodb.dev/t/p/w500${movie.poster_path}`;poster = f"https://img.amodb.dev/t/p/w500{movie['poster_path']}"4. העברת לקוח קיים
בלקוח TMDB v3 החליפו את כתובת הבסיס מ-https:/ ל-https:/ והשתמשו במפתח amodb. בלקוח OMDb החליפו אותה ל-https:/ והעבירו את אותו מפתח כ-apikey.
שיטות הכתיבה של TMDB לחשבון, להתחברות, לדירוג ולרשימות אינן מוצעות. הן מחזירות HTTP 405 עם status_code 37, ולכן לקוח לקריאה בלבד לא צריך שום שינוי נוסף.
5. טיפול במגבלות ובשגיאות
לכל מפתח יש קצב לדקה שנקבע לפי המסלול. קראו את X-RateLimit-Remaining והמתינו Retry-After שניות אחרי 429. שגיאות משתמשות בגוף של TMDB עם success, status_code ו-status_message.
קראו את מגבלות קצב ואת שגיאות לפני שעוברים לייצור.