# מדריך למתחילים

> קונים מסלול, יוצרים מפתח בחשבון ושולחים אותו עם הבקשה הראשונה ל-https://api.amodb.dev/3/movie/550. התגובה היא ה-JSON של TMDB v3 שאתם כבר מכירים. אחר כך בונים כתובת פוסטר ב-img.amodb.dev מתוך poster_path. אם אתם כבר משתמשים ב-TMDB או ב-OMDb, מחליפים רק את כתובת הבסיס ואת המפתח.

## 1. קבלת מפתח

בחרו מסלול ב[עמוד התמחור](https://amodb.dev/he/pricing/) ושלמו עבור תקופה. אחר כך פתחו **חשבון**, ואז **מפתחות API**, וצרו מפתח. מפתח הוא 32 תווים הקסדצימליים באותיות קטנות, באותה צורה כמו מפתח TMDB v3.

המפתח המלא מוצג פעם אחת. שמרו אותו כמשתנה סביבה בשם `AMODB_KEY` כדי שהדוגמאות בעמוד הזה יעבדו כפי שהן.

```bash
export AMODB_KEY="0123456789abcdef0123456789abcdef"
```

## 2. בקשת פרטי סרט

קראו ל-`GET /3/movie/{movie_id}`. שלחו את המפתח כאסימון Bearer או כ-`api_key` בשאילתה. שתי הדרכים מתקבלות בכל נקודת קצה.

```bash
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
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);
```

```python
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
<?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"];
```

```go
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. חלק קצר ממנה:

```json
{
  "id": 550,
  "imdb_id": "tt0137523",
  "title": "Fight Club",
  "release_date": "1999-10-15",
  "runtime": 139,
  "poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}
```

## 3. טעינת הפוסטר

חברו את כתובת הבסיס של התמונות, גודל ו-`poster_path`. תמונות לא צריכות מפתח ונשארות במטמון 30 יום.

```bash
curl -o poster.jpg "https://img.amodb.dev/t/p/w500/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
```

```js
const poster = `https://img.amodb.dev/t/p/w500${movie.poster_path}`;
```

```python
poster = f"https://img.amodb.dev/t/p/w500{movie['poster_path']}"
```

ראו [תמונות](https://amodb.dev/he/images/) לכל הגדלים ולבניית כתובות מ-`/3/configuration`.

## 4. העברת לקוח קיים

בלקוח TMDB v3 החליפו את כתובת הבסיס מ-`https://api.themoviedb.org/3` ל-`https://api.amodb.dev/3` והשתמשו במפתח amodb. בלקוח OMDb החליפו אותה ל-`https://api.amodb.dev/omdb/` והעבירו את אותו מפתח כ-`apikey`.

שיטות הכתיבה של TMDB לחשבון, להתחברות, לדירוג ולרשימות אינן מוצעות. הן מחזירות HTTP 405 עם `status_code` 37, ולכן לקוח לקריאה בלבד לא צריך שום שינוי נוסף.

## 5. טיפול במגבלות ובשגיאות

לכל מפתח יש קצב לדקה שנקבע לפי המסלול. קראו את `X-RateLimit-Remaining` והמתינו `Retry-After` שניות אחרי 429. שגיאות משתמשות בגוף של TMDB עם `success`, `status_code` ו-`status_message`.

קראו את [מגבלות קצב](https://amodb.dev/he/rate-limits/) ואת [שגיאות](https://amodb.dev/he/errors/) לפני שעוברים לייצור.

## שאלות ותשובות

### איפה אני מוצא את המפתח שלי?

התחברו ל-amodb.dev, פתחו את חשבון ואז מפתחות API, וצרו מפתח. המפתח המלא מוצג פעם אחת, ולכן העתיקו אותו מיד למאגר הסודות שלכם.

### אפשר להשתמש במפתח באפליקציית דפדפן?

רק מאחורי השרת שלכם. מפתח בקוד שרץ בצד הלקוח הוא ציבורי, וכל מי שמעתיק אותו משתמש בקצב הבקשות שלכם.

## עמודים קשורים

- [אימות](https://amodb.dev/he/authentication/): איך שולחים את מפתח amodb: api_key בשאילתה, כותרת Authorization Bearer או apikey בקריאות OMDb. פורמט המפתח, שמירה, החלפה ושגיאות 401 שכדאי להכיר.
- [תמונות](https://amodb.dev/he/images/): טענו פוסטרים, תמונות רקע ותמונות פרופיל מ-img.amodb.dev עם נתיבים וגדלים של TMDB מ-w92 ועד original. בלי מפתח, מטמון ל-30 יום ותבנית כתובת אחת לכולן.
- [שגיאות](https://amodb.dev/he/errors/): כל שגיאה של amodb עם סטטוס HTTP, status_code והודעה של TMDB, וגם מבנה השגיאה של OMDb. מה כל אחת מהן אומרת ומה הלקוח שלכם צריך לעשות כשהיא מופיעה.
- [מגבלות קצב](https://amodb.dev/he/rate-limits/): amodb מגביל כל מפתח לפי בקשות לדקה בחלון נע של 60 שניות: 20, 40 או 120 בהתאם למסלול שלכם. קראו את כותרות מגבלת הקצב וטפלו ב-429 עם Retry-After.

עודכן: 2026-10-18. Source: https://amodb.dev/he/quickstart/
