# חברות ורשתות שידור

> נקודות הקצה של חברות ורשתות מחזירות את השם, מדינת המקור ונתיב הלוגו של אולפן או רשת טלוויזיה לפי מזהה, ב-GET /3/company/{company_id} וב-GET /3/network/{network_id}. הנתיבים וה-JSON זהים ל-TMDB v3. העבירו את המזהים אל with_companies ו-with_networks ב-discover כדי להציג את הכותרים שלהן.

## נקודת קצה

`GET /3/company/{company_id}`

```bash
curl "https://api.amodb.dev/3/company/25" \
  -H "Authorization: Bearer $AMODB_KEY"
```

תגובה:

```json
{
  "description": "",
  "headquarters": "",
  "homepage": "",
  "id": 25,
  "logo_path": "/nM2MfoMqzJQRiSynsDabOtFKetD.png",
  "name": "20th Century Fox",
  "origin_country": "US",
  "parent_company": null
}
```

## קבלת פרטי חברה

`GET /3/company/{company_id}` מחזיר חברת הפקה אחת: שם, מדינת מקור ונתיב לוגו. הוא נושא גם `description`, `headquarters`, `homepage` ו-`parent_company`, אבל amodb משאיר אותם ריקים. המזהה הוא מזהה החברה של TMDB, ולכן מזהים ששמרתם קודם ממשיכים לעבוד.

הדוגמה שלמטה קוראת את חברת ההפקה הראשונה של סרט 550 ואז טוענת את החברה הזו.

```bash
COMPANY_ID=$(curl -sf "https://api.amodb.dev/3/movie/550" \
  -H "Authorization: Bearer $AMODB_KEY" | jq '.production_companies[0].id')
curl -sf "https://api.amodb.dev/3/company/$COMPANY_ID" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const base = 'https://api.amodb.dev/3';
const headers = { Authorization: `Bearer ${process.env.AMODB_KEY}` };

async function get(path) {
  const res = await fetch(base + path, { headers });
  if (!res.ok) throw new Error(`amodb returned ${res.status} for ${path}`);
  return res.json();
}

const movie = await get('/movie/550');
const company = await get(`/company/${movie.production_companies[0].id}`);
console.log(company.name, company.origin_country, company.logo_path);
```

```python
import os
import requests

BASE = "https://api.amodb.dev/3"
HEADERS = {"Authorization": f"Bearer {os.environ['AMODB_KEY']}"}


def get(path):
    r = requests.get(BASE + path, headers=HEADERS, timeout=10)
    r.raise_for_status()
    return r.json()


movie = get("/movie/550")
company = get(f"/company/{movie['production_companies'][0]['id']}")
print(company["name"], company["origin_country"], company["logo_path"])
```

```php
<?php
function amodb_get(string $path): array {
    $ch = curl_init('https://api.amodb.dev/3' . $path);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($status !== 200) {
        throw new RuntimeException("amodb returned $status for $path");
    }
    return json_decode($body, true);
}

$movie = amodb_get('/movie/550');
$company = amodb_get('/company/' . $movie['production_companies'][0]['id']);
echo $company['name'], ' ', $company['origin_country'], PHP_EOL;
```

```go
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
	"os"
	"time"
)

var client = &http.Client{Timeout: 10 * time.Second}

func get(path string, out any) error {
	req, err := http.NewRequest("GET", "https://api.amodb.dev/3"+path, nil)
	if err != nil {
		return err
	}
	req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
	res, err := client.Do(req)
	if err != nil {
		return err
	}
	defer res.Body.Close()
	if res.StatusCode != http.StatusOK {
		return fmt.Errorf("amodb returned %s for %s", res.Status, path)
	}
	return json.NewDecoder(res.Body).Decode(out)
}

func main() {
	var movie struct {
		Companies []struct {
			ID int `json:"id"`
		} `json:"production_companies"`
	}
	if err := get("/movie/550", &movie); err != nil || len(movie.Companies) == 0 {
		panic("movie has no production companies")
	}
	var company struct {
		Name          string `json:"name"`
		OriginCountry string `json:"origin_country"`
	}
	if err := get(fmt.Sprintf("/company/%d", movie.Companies[0].ID), &company); err != nil {
		panic(err)
	}
	fmt.Println(company.Name, company.OriginCountry)
}
```

### פרמטרים

| פרמטר        | מיקום  | חובה       | תיאור                                                    |
| ------------ | ------ | ---------- | -------------------------------------------------------- |
| `company_id` | נתיב   | כן         | מזהה חברה מספרי, למשל `25`.                              |
| `api_key`    | שאילתה | אחד משניים | המפתח שלכם. השתמשו בו או בכותרת `Authorization: Bearer`. |

### שדות התגובה

| שדה              | סוג            | הערות                                        |
| ---------------- | -------------- | -------------------------------------------- |
| `description`    | string         | תמיד מחרוזת ריקה.                            |
| `headquarters`   | string         | עיר או אזור. ריק ברוב החברות.                |
| `homepage`       | string         | כתובת אתר. ריק ברוב החברות.                  |
| `id`             | integer        | מזהה החברה.                                  |
| `logo_path`      | string או null | מצרפים ל-`https://img.amodb.dev/t/p/{size}`. |
| `name`           | string         | שם החברה.                                    |
| `origin_country` | string         | קוד ISO 3166-1 כמו `US`. יכול להיות ריק.     |
| `parent_company` | null           | תמיד `null`. amodb לא ממלא את חברת האם.      |

### תגובה לדוגמה

```json
{
  "description": "",
  "headquarters": "",
  "homepage": "",
  "id": 25,
  "logo_path": "/nM2MfoMqzJQRiSynsDabOtFKetD.png",
  "name": "20th Century Fox",
  "origin_country": "US",
  "parent_company": null
}
```

אותו מבנה חוזר לכל מזהה חברה, למשל `/3/company/1` עבור Lucasfilm.

## קבלת פרטי רשת

`GET /3/network/{network_id}` מחזיר רשת טלוויזיה: שם, מדינת מקור, נתיב לוגו, `headquarters` ו-`homepage`. אין לו `description` ואין `parent_company`. קראו מזהה רשת מהמערך `networks` של סדרה. הסדרה `/3/tv/1399` מציגה את HBO עם מזהה 49.

```json
{
  "headquarters": "",
  "homepage": "",
  "id": 49,
  "logo_path": "/tuomPhY2UtuPTqqFnKMVHvSb724.png",
  "name": "HBO",
  "origin_country": "US"
}
```

| שדה              | סוג            | הערות                                                              |
| ---------------- | -------------- | ------------------------------------------------------------------ |
| `headquarters`   | string         | ריק ברוב הרשתות.                                                   |
| `homepage`       | string         | ריק ברוב הרשתות.                                                   |
| `id`             | integer        | מזהה הרשת.                                                         |
| `logo_path`      | string או null | נתיב קובץ הלוגו.                                                   |
| `name`           | string         | שם הרשת.                                                           |
| `origin_country` | string         | קוד ISO 3166-1. מחרוזת ריקה בשירותי סטרימינג גלובליים כמו Netflix. |

## נקודות הקצה בקבוצה הזו

כל הנתיבים חולקים את הבסיס `https://api.amodb.dev/3` ואת אותו אימות כמו נקודות קצה אחרות.

| שיטה ונתיב                  | מה מוחזר                                                             | פרמטרים         |
| --------------------------- | -------------------------------------------------------------------- | --------------- |
| `GET /company/{company_id}` | רשומת חברה                                                           | `company_id`    |
| `GET /network/{network_id}` | רשומת רשת                                                            | `network_id`    |
| `GET /search/company`       | רשימה מדורגת של חברות עם `id`, `name`, `logo_path`, `origin_country` | `query`, `page` |

amodb לא מציע נתיבי `alternative_names` או `images` לחברות ולרשתות. הלוגו הוא ה-`logo_path` ברשומה עצמה.

### לוגואים

בנו את כתובת הלוגו כ-`https://img.amodb.dev/t/p/w185` ועוד `logo_path`. הקריאה `GET /3/configuration` מציגה את גדלי הלוגו: `w92`, `w154`, `w185`, `w300`, `w500` ו-`original`. טבלת הגדלים המלאה נמצאת בעמוד [תמונות](https://amodb.dev/he/images-api/). קבצי לוגו הם בעיקר PNG, וקבצי תמונה לא דורשים מפתח. לחברה בלי לוגו יש `logo_path` שהוא `null`.

## סינון discover לפי חברה או רשת

מזהי חברות ורשתות שימושיים ביותר כמסננים. discover הופך מזהה לרשימה של כותרים.

| מסנן             | פועל על                            | משמעות                                                  |
| ---------------- | ---------------------------------- | ------------------------------------------------------- |
| `with_companies` | `/discover/movie` ו-`/discover/tv` | כותרים שהחברות האלה הפיקו.                              |
| `with_networks`  | `/discover/tv`                     | סדרות שהרשתות האלה שידרו. discover של סרטים מתעלם ממנו. |

הפרידו כמה מזהים בפסיק כדי לדרוש את כולם, או בתו קו אנכי (מקודד כ-`%7C`) כדי לקבל כל אחד מהם. הקריאה הראשונה שלמטה מציגה סרטים של חברה אחת, ממוינים לפי פופולריות. הקריאה השנייה מציגה את הסדרות ש-HBO שידרה.

```bash
curl -sf "https://api.amodb.dev/3/discover/movie?with_companies=$COMPANY_ID&sort_by=popularity.desc&page=1" \
  -H "Authorization: Bearer $AMODB_KEY"

curl -sf "https://api.amodb.dev/3/discover/tv?with_networks=49&sort_by=popularity.desc" \
  -H "Authorization: Bearer $AMODB_KEY"
```

תוצאות discover נשמרות בקצה במטמון 30 דקות ומגיעות 20 בעמוד. רשימת המסננים המלאה נמצאת בעמוד [גילוי](https://amodb.dev/he/discover/).

## חיפוש חברה לפי שם

`GET /3/search/company?query=lucasfilm` מחזיר רשימה מדורגת. בכל שורה יש `id`, `logo_path`, `name` ו-`origin_country`. השורות אינן מדורגות לפי התאמה מדויקת: האולפן ששמו `Lucasfilm Ltd.` הוא עם מזהה 1 והוא השורה השלישית, אחרי שני שמות דומים. השוו `name` ו-`origin_country` לפני שלוקחים מזהה. כללי השאילתה בעמוד [חיפוש](https://amodb.dev/he/search/). אין נתיב חיפוש רשתות.

## שגיאות

חברה או רשת שלא קיימות מחזירות את גוף השגיאה של TMDB עם `status_code` 34. כשלים אחרים משתמשים באותו גוף.

| HTTP | status_code | מתי                                                |
| ---- | ----------- | -------------------------------------------------- |
| 401  | 7           | המפתח חסר או שגוי.                                 |
| 402  | 36          | תקופת המסלול הסתיימה.                              |
| 404  | 34          | אין חברה או רשת עם המזהה הזה, או שהמזהה אינו מספר. |
| 405  | 37          | שלחתם שיטת כתיבה.                                  |
| 429  | 25          | מעל הבקשות שלכם לדקה. המתינו `Retry-After` שניות.  |

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

## הערות מעשיות

- שמרו את ה-`id` של החברה ליד השם. שמות משתנים, מזהים לא.
- בדקו אם `logo_path` הוא `null` לפני שמציגים אותו. אל תסתמכו על `homepage`, `headquarters` או `description`, כי הם ריקים.
- פרטי חברות ורשתות נשמרים בקצה במטמון 6 שעות. קבצי לוגו ב-`img.amodb.dev` נשמרים 30 יום.
- רשת היא מושג של טלוויזיה. כדי לקבל את הסדרות שלה, השתמשו ב-`with_networks` ב-`/discover/tv`, לא ב-discover של סרטים.
- כדי למצוא חברה לפי שם, השתמשו בחיפוש החברות שלמעלה, ואז בחרו את השורה הנכונה לפי `name` ו-`origin_country`.

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

### מאיפה משיגים מזהה חברה או מזהה רשת?

קראו אותם מכותרים שכבר שלפתם. סרט מציג production_companies, וסדרה מציגה networks ו-production_companies. כל פריט נושא את המזהה המספרי שנקודות הקצה של חברות ורשתות מקבלות.

### אפשר להציג כל סרט שחברה הפיקה?

השתמשו ב-discover עם המסנן with_companies. העבירו את מזהה החברה ודפדפו בתוצאות. הוסיפו with_networks ב-discover של סדרות כדי להציג את הסדרות שרשת שידרה.

### האם קבצי הלוגו מאחורי מפתח ה-API?

לא. ה-JSON שמחזיק את נתיב הלוגו דורש את המפתח שלכם, אבל הקבצים ב-img.amodb.dev לא דורשים מפתח ונשמרים במטמון 30 יום.

### איך מוצאים חברה לפי שם?

קראו ל-GET /3/search/company?query=lucasfilm. השורות אינן מדורגות לפי התאמה מדויקת, ולכן השוו name ו-origin_country וקחו את המזהה של השורה הנכונה. אין חיפוש רשתות, ולכן קראו מזהי רשת מסדרה.

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

- [API פרטי סרט](https://amodb.dev/he/movies/): API פרטי סרט עם אותם נתיבים ו-JSON כמו TMDB v3. קבלו סרט לפי מזהה, הוסיפו קרדיטים, דירוגים, מצבי רוח ופסקולים עם append_to_response, ב-14 שפות.
- [API סדרות טלוויזיה](https://amodb.dev/he/tv-series/): API סדרות טלוויזיה עם אותם נתיבים ו-JSON כמו TMDB v3. קבלו סדרה לפי מזהה ב-GET /3/tv/{series_id} עם עונות, רשתות והפרק הבא, וגם סיווגי גיל וספקי צפייה.
- [API גילוי](https://amodb.dev/he/discover/): Discover API עם אותם מסננים כמו TMDB v3. הציגו סרטים וסדרות לפי ז'אנר, שחקנים, חברה, מילת מפתח, שנה, דירוג, משך וספק סטרימינג, עם מיון ודפדוף בתוצאות.
- [API תמונות ושרת תמונות](https://amodb.dev/he/images-api/): API תמונות סרטים עם נתיבי TMDB v3: הציגו פוסטרים, תמונות רקע, לוגואים ותמונות סצנה לכל כותר, וטענו אותם מ-img.amodb.dev ב-10 גדלים בלי מפתח.
- [API חיפוש](https://amodb.dev/he/search/): API חיפוש עם אותם נתיבים ו-JSON כמו TMDB v3. מצאו סרטים, סדרות, אנשים, אוספים, חברות ומילות מפתח לפי טקסט, עם סינון לפי שנה ועימוד של 20 תוצאות בעמוד.
- [מדריך למתחילים](https://amodb.dev/he/quickstart/): בצעו את הקריאה הראשונה ל-amodb: קבלו מפתח, בקשו פרטי סרט ב-curl, JavaScript, Python, PHP או Go, ואז טענו את הפוסטר מ-img.amodb.dev. פחות מ-2 דקות.

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