Lịch sử thay đổi
Mọi lần sửa trang này, mới nhất ở trên. Mở từng mục để xem đã đổi gì.
- 01/10/2026 · +10 −7 dòng
Xem thay đổi
⋯ | Trường | Kiểu | Mô tả | |---|---|---| - | `id` | string (UUID) | Film ID. Dùng làm `film_ref` khi xin playback. | + | `id` | string (UUID) | Film ID. Không bao giờ đổi: dùng làm khoá chính bên bạn, và làm `film_ref` khi xin playback. | | `title` | string | Tên phim. | - | `slug` | string | Định danh phim an toàn cho URL. Cũng được chấp nhận làm `film_ref` khi xin playback. | + | `slug` | string | Định danh phim an toàn cho URL, không trùng giữa các phim. Wandura không đổi nó sau khi tạo phim. Cũng được chấp nhận làm `film_ref` khi xin playback. | | `synopsis_short` | string hoặc null | Mô tả ngắn cho thẻ. Độ dài không cố định. | | `synopsis_full` | string hoặc null | Mô tả đầy đủ cho trang chi tiết. | | `genres` | mảng string | Nhãn thể loại. Có thể rỗng. | - | `language` | string hoặc null | Ngôn ngữ của phim. | + | `language` | string hoặc null | Ngôn ngữ của phim, là chữ tự do do đội nội dung Wandura ghi (ví dụ `en` hoặc `English`). Không phải danh sách mã cố định: hiển thị nguyên, đừng phân tích. | | `poster_url` | string hoặc null | URL poster phim. | | `status` | string | Luôn là `published`. | | `display_order` | integer | Vị trí hiển thị, nhỏ nhất trước. Mảng đã được sắp theo trường này. | - | `planned_episodes` | integer hoặc null | Tổng số tập dự kiến. | - | `free_until_episode` | integer hoặc null | Các tập có `episode_no` nhỏ hơn hoặc bằng số này là miễn phí. | + | `planned_episodes` | integer hoặc null | Tổng số tập dự kiến. `null` khi chưa đặt: khi đó phim không có dòng placeholder nào, và `episodes` chỉ liệt kê các tập đã phát hành. | + | `free_until_episode` | integer hoặc null | Các tập có `episode_no` nhỏ hơn hoặc bằng số này là miễn phí. `0` nghĩa là không có tập miễn phí. `null` nghĩa là phim chưa được đặt số này: coi mọi tập là trả phí, và hỏi Wandura nếu bạn nghĩ phim có tập miễn phí. | | `audience` | string hoặc null | `women`, `men`, `lgbtq`, hoặc `null` nếu chưa phân loại. | | `form` | string hoặc null | `live_action`, `anime`, hoặc `null` nếu chưa phân loại. | ⋯ | `stream_ready` | boolean | `true` khi có thể cấp vé cho tập. Luôn là `false` ở dòng placeholder. | - Các tập được nhóm theo film ID và sắp theo `episode_no` trong mỗi phim. Hãy lấy thứ tự phim từ `films`. + Trong một phim, mỗi `episode_no` chỉ xuất hiện một lần, nên `film_id` + `episode_no` xác định một tập. Các tập được nhóm theo film ID và sắp theo `episode_no` trong mỗi phim. Hãy lấy thứ tự phim từ `films`. Nếu tổ chức của bạn hiện không có giấy phép nào, cả hai mảng đều rỗng. ⋯ ``` - ## Lỗi + ## Lỗi {#errors} | Status | `error_code` | Khi nào | ⋯ | 403 | không có (`error` là `org_suspended`) | Quyền truy cập của tổ chức bạn đang bị tạm ngưng. | | 429 | `rate_limited` | Đã chạm rate limit của endpoint catalog và creatives. | + | 503 | `service_unavailable` | Wandura chưa kiểm được API key kịp thời. Key không sai: thử lại sau số giây trong `Retry-After`, có backoff. | + Hai response `403` không có `error_code`. Phân biệt bằng `error`: đúng bằng `org_suspended` khi tổ chức bạn bị tạm ngưng, còn chữ khác nghĩa là key thiếu `metadata:read`. Đây là trường hợp duy nhất bạn so `error`; hãy so nguyên chuỗi. + Xem [Lỗi](../concepts/errors.md#catalog-errors) để biết cách xử lý từng trường hợp.
- 29/09/2026 · Tạo trang