# Changelog (/changelog)

Integrasi yang sudah jalan tidak akan rusak karena perubahan di sini:

- API ada di path berversi (`/v1`). Perubahan yang merusak hanya dirilis lewat path atau field baru, dan yang lama tetap jalan.
- Field baru di respons dan field opsional baru di request bisa muncul kapan saja. Pastikan kode kamu mengabaikan field yang tidak dikenal.
- Kalau ada yang perlu kamu ubah di integrasi, entrinya diberi label **Perlu tindakan**.

Fitur baru di dashboard dan platform baru diumumkan di [tebar.app/changelog](https://tebar.app/changelog).

## 29 Oktober 2026 [#29-oktober-2026]

### Like komentar Facebook Page dan TikTok [#like-komentar-facebook-page-dan-tiktok]

<Change kind="feature" label="Fitur baru" tags={['Komentar', 'Facebook', 'TikTok', 'MCP']} />

`POST /v1/comments/{id}/like` me-like komentar atas nama akun. Kirim `{ "liked": false }` untuk membatalkan. Di MCP, tool-nya `like_comment`.

Komentar sekarang punya dua field baru:

- `can_like`: `true` untuk Facebook Page dan TikTok. Platform lain menjawab `422 comment_like_unsupported`.
- `is_liked`: like yang dibuat lewat Tebar. Like dari aplikasi platform tidak terbaca.

```bash
curl -X POST https://api.tebar.app/v1/comments/$COMMENT_ID/like \
  -H "Authorization: Bearer $TEBAR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "liked": true }'
```

### Tombol dan quick reply di DM Instagram [#tombol-dan-quick-reply-di-dm-instagram]

<Change kind="feature" label="Fitur baru" tags={['Inbox', 'Instagram', 'Webhook', 'MCP']} />

`POST /v1/inbox/conversations/{id}/messages` menerima dua field opsional baru, dan hanya boleh salah satu dalam satu pesan:

- `buttons`: 1–3 tombol, `web_url` (membuka link) atau `postback` (mengirim `payload` balik). Teks maksimal 640 karakter.
- `quick_replies`: 1–13 pilihan `{ title, payload }`. Hanya tampil di aplikasi Instagram di HP.

Saat pelanggan mengetuk tombol `postback` atau quick reply, pesan masuk dengan `kind` `postback` atau `quick_reply` dan field `postback: { title, payload }`. Field yang sama ikut di webhook `message.received`. `send_dm` di MCP menerima field yang sama.

```bash
curl -X POST https://api.tebar.app/v1/inbox/conversations/$CONVERSATION_ID/messages \
  -H "Authorization: Bearer $TEBAR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Mau ukuran apa kak?",
    "quick_replies": [
      { "title": "S", "payload": "SIZE_S" },
      { "title": "M", "payload": "SIZE_M" }
    ]
  }'
```

Panduan lengkapnya ada di [Inbox DM & otomasi](/api/inbox).

### Inbox dan Automations masuk API Reference [#inbox-dan-automations-masuk-api-reference]

<Change kind="improvement" label="Dokumentasi" tags={['Inbox', 'Automations']} />

Semua endpoint `/v1/inbox/*` dan `/v1/automations` sekarang ada di [API Reference](/reference), lengkap dengan skema request dan respons. Perilakunya tidak berubah.

### Spesifikasi OpenAPI [#spesifikasi-openapi]

<Change kind="feature" label="Fitur baru" tags={['Umum']} />

`GET /v1/openapi.json` menyajikan spesifikasi OpenAPI 3.1, tanpa API key. Spesifikasi ini dibuat dari skema yang sama yang dipakai API untuk validasi. Pakai untuk membuat client, mengimpor ke Postman, atau memberikannya ke agent AI.

### `media_urls` saat membuat post [#media_urls-saat-membuat-post]

<Change kind="feature" label="Fitur baru" tags={['Post', 'Media']} />

`POST /v1/posts` menerima `media_urls`: link publik foto atau video yang diunduh Tebar ke pustaka media, lalu dilampirkan. Bisa digabung dengan `media_ids`, maksimal 20 media sekaligus. Sebelumnya ini hanya ada di MCP.

### Facebook Page untuk semua akun [#facebook-page-untuk-semua-akun]

<Change kind="feature" label="Fitur baru" tags={['Facebook']} />

Platform `facebook` sekarang terbuka untuk semua pengguna: posting, komentar, dan statistik Page.

### Body yang terlalu besar dijawab 413 [#body-yang-terlalu-besar-dijawab-413]

<Change kind="improvement" label="Perbaikan" tags={['Umum']} />

Request dengan body melebihi batas ukuran sekarang dijawab `413 payload_too_large`, bukan `500`.

### Jeda posting Threads [#jeda-posting-threads]

<Change kind="improvement" label="Perbaikan" tags={['Post', 'Threads']} />

Tebar memulai paling banyak 5 post Threads per menit per akun. Post berikutnya menunggu dengan `error_code` `publish_paced` lalu terbit sendiri. Utas dihitung satu post. Ini mencegah Meta menganggap rentetan post dari agent AI sebagai spam.

## 28 Oktober 2026 [#28-oktober-2026]

### Balasan publik otomatis untuk komentar Threads [#balasan-publik-otomatis-untuk-komentar-threads]

<Change kind="feature" label="Fitur baru" tags={['Automations', 'Threads', 'MCP']} />

`POST /v1/automations` sekarang bisa dipakai untuk akun Threads lewat `kind: "comment_reply"`. Isi `actions.public_replies` dengan 3–5 teks, dan Tebar memilih salah satunya secara acak dengan jeda minimal 30 detik.

### YouTube untuk semua akun [#youtube-untuk-semua-akun]

<Change kind="feature" label="Fitur baru" tags={['YouTube']} />

Platform `youtube` terbuka untuk semua pengguna. Thumbnail video bisa diatur lewat `options.youtube.cover_media_id`. `GET /v1/accounts/youtube/upload-quota` menunjukkan sisa upload hari ini.

## 27 Oktober 2026 [#27-oktober-2026]

### Pinterest [#pinterest]

<Change kind="feature" label="Fitur baru" tags={['Pinterest']} />

Pin foto ke board dengan `options.pinterest.board_id`. `GET` dan `POST /v1/accounts/{id}/pinterest/boards` membaca dan membuat board.

### Cover gambar untuk video TikTok [#cover-gambar-untuk-video-tiktok]

<Change kind="feature" label="Fitur baru" tags={['Post', 'TikTok']} />

`options.tiktok.cover_media_id` memakai gambar dari pustaka media sebagai cover. `video_cover_timestamp_ms` tetap bisa dipakai untuk memilih frame.

### Frame rate video TikTok dicek sebelum posting [#frame-rate-video-tiktok-dicek-sebelum-posting]

<Change kind="improvement" label="Perbaikan" tags={['Post', 'TikTok']} />

Video di luar 23–60 FPS ditolak lebih awal dengan `video_frame_rate_unsupported`, bukan gagal di TikTok.

## 26 Oktober 2026 [#26-oktober-2026]

### Automations DM Instagram [#automations-dm-instagram]

<Change kind="feature" label="Fitur baru" tags={['Automations', 'Instagram', 'MCP']} />

`/v1/automations` untuk membuat dan mengatur DM otomatis: `comment_to_dm`, `dm_keyword`, `story_reply`, `story_mention`, `default_reply`, dan `ice_breaker`. Pesan bisa membawa tombol link dan `follow_gate`. Riwayatnya ada di `GET /v1/automations/{id}/runs`. Di MCP: `list_automations`, `create_automation`, dan `update_automation`.

### Webhook `message.received` dan `automation.run` [#webhook-messagereceived-dan-automationrun]

<Change kind="feature" label="Fitur baru" tags={['Webhook', 'Inbox']} />

Dua event baru untuk [webhook](/api/webhook): DM baru dari pelanggan, dan hasil automation yang menanggapi komentar.

## 25 Oktober 2026 [#25-oktober-2026]

### Inbox DM Instagram lewat API [#inbox-dm-instagram-lewat-api]

<Change kind="feature" label="Fitur baru" tags={['Inbox', 'Instagram', 'MCP']} />

`/v1/inbox/conversations` untuk membaca percakapan dan pesan, mengirim teks, foto, dan video, lalu menandai percakapan selesai. Di MCP: `list_conversations`, `get_conversation`, `send_dm`, dan `set_conversation_status`. Hanya untuk paket berbayar.

## 24 Oktober 2026 [#24-oktober-2026]

### Izin baru untuk balasan dan utas Threads [#izin-baru-untuk-balasan-dan-utas-threads]

<Change kind="action" label="Perlu tindakan" tags={['Threads', 'Komentar']} />

Membalas dan menyembunyikan komentar Threads, utas, serta `reply_control` sekarang butuh izin `threads_manage_replies`. Akun Threads yang terhubung sebelum 24 Oktober 2026 perlu dihubungkan ulang. Sampai saat itu, request tersebut dijawab `422 permission_missing` atau `422 option_permission_missing`. Lihat [Batasan](/batasan).

## 23 Oktober 2026 [#23-oktober-2026]

### Discord [#discord]

<Change kind="feature" label="Fitur baru" tags={['Discord']} />

Platform `discord`: posting ke channel server, maksimal 2.000 karakter dan 10 file.

## 21 Oktober 2026 [#21-oktober-2026]

### Papan ide [#papan-ide]

<Change kind="feature" label="Fitur baru" tags={['Ide', 'MCP']} />

`/v1/ideas`, `/v1/idea-columns`, dan `GET /v1/ideas/board` untuk mengelola ide konten. Kirim `idea_id` di `POST /v1/posts` untuk menandai post yang dibuat dari ide itu.

### Semua post di sebuah akun [#semua-post-di-sebuah-akun]

<Change kind="feature" label="Fitur baru" tags={['Post', 'Statistik', 'MCP']} />

`GET /v1/accounts/{id}/posts` mendaftar post di akun beserta teks lengkap dan angkanya. Untuk Threads, Instagram, dan TikTok, daftarnya juga mencakup post yang dibuat langsung di aplikasi. Di MCP: `list_posts` dan `get_post`.

### Telegram [#telegram]

<Change kind="feature" label="Fitur baru" tags={['Telegram']} />

Platform `telegram`: posting ke channel dan grup lewat bot Tebar.

## 20 Oktober 2026 [#20-oktober-2026]

### Profile, connect link, dan webhook [#profile-connect-link-dan-webhook]

<Change kind="feature" label="Fitur baru" tags={['Profile', 'Webhook']} />

- **Profile**: `/v1/profiles` memisahkan akun, post, dan media per brand atau klien. Header `Tebar-Profile` membatasi request ke satu profile, dan API key bisa dikunci ke satu profile. Di dashboard, profile disebut workspace.
- **Connect link**: `POST /v1/profiles/{id}/connect-links` membuat link agar klien menghubungkan akunnya sendiri.
- **Webhook**: `/v1/webhooks` mengirim event `post.published`, `post.failed`, `comment.created`, dan perubahan akun, ditandatangani dengan header `Tebar-Signature`.

### X [#x]

<Change kind="feature" label="Fitur baru" tags={['X']} />

Platform `x`. Setiap post dibayar dari saldo Tebar. Saldo yang kurang dijawab `wallet_insufficient`.

## 11 Oktober 2026 [#11-oktober-2026]

### Rilis pertama [#rilis-pertama]

<Change kind="feature" label="Fitur baru" tags={['Umum']} />

REST API `/v1` dengan API key, dan server MCP di `https://api.tebar.app/mcp` dengan OAuth 2.1. Posting dan penjadwalan ke Threads dan Instagram, serta komentar.
