Referensi alat MCP
Referensi alat MCP SosoAPI
Gunakan referensi ini untuk menemukan alat dan memeriksa kolom yang diperlukan. Referensi mencakup sosoapi 0.5.9: profil core memiliki 28 alat lokal dan 27 melalui HTTP; full memiliki 106 lokal dan 105 melalui HTTP. Pilih core untuk tugas harian atau full untuk administrasi juga. Keduanya menggunakan izin yang sama. Entri dibuat dari server dan katalog kemampuan; periksa tools/list klien terhubung Anda untuk alat yang tersedia baginya.
Baca sebagai MarkdownDitinjau tim SosoAPI ·
Mulai dari tugas, lalu periksa alat
Gunakan kembali ID ruang kerja dan akun yang telah dipilih. Untuk postingan URL gambar, panggil sosoapi_post_image_url sekali dan simpan ID postingan yang dikembalikan. Unggah file lokal dengan sosoapi_upload_asset melalui stdio. Untuk postingan teks, gunakan sosoapi_create_scheduled_post dengan provider_payload tujuan dan media kosong.
Minta pengguna meninjau akun, teks, media, dan waktu sebelum pengiriman. OAuth memberi akses untuk melakukan tindakan; tidak menyetujui konten. Setelah menjadwalkan, baca hasil publikasi postingan yang sama sebelum melaporkan keberhasilan atau mencoba ulang permintaan yang hasilnya belum pasti.
Cara memahami referensi ini
Build menghubungkan server MCP nyata ke klien dalam memori, menampilkan alatnya tanpa memanggil handler, dan menggabungkan persyaratan rute publik. Proyeksi kedaluwarsa menggagalkan build Landing. Deskripsi alat mempertahankan teks kontrak server berbahasa Inggris; ringkasan penyelesaian menjelaskan aturan rute kanonis. JSON mempertahankan seluruh persyaratan rute. Tabel input adalah indeks, bukan pengganti JSON Schema bersarang yang lengkap.
Anotasi MCP adalah petunjuk bagi klien, bukan penegakan atau jaminan keamanan. Keanggotaan ruang kerja, izin, peran terkini, persetujuan penyedia, kelayakan akun, dan kuota tetap berlaku saat eksekusi. Beberapa pembacaan konteks dapat membuat ruang kerja awal; periksa deskripsi dan readOnlyHint alih-alih menganggap setiap “get” hanya membaca. Alat gabungan mencantumkan persyaratan rute utama dan kompatibilitas; tidak memanggil setiap rute tercantum pada setiap permintaan.
sosoapi_bulk_create_scheduled_posts
Jadwalkan postingan untuk beberapa akun dalam satu panggilan (targets). Media memerlukan asset_ids hasil unggahan/impor yang siap dan URL kanonisnya. Setiap target berhasil atau gagal secara terpisah dan dilaporkan dalam successes atau failures. Memerlukan kemampuan publish.
- Transport: stdio, http.
- Izin wajib: agent:publish. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| project_id | string | null | Tidak |
| source_ref | object | null | Tidak |
| targets | array (object) | Ya |
sosoapi_cancel_scheduled_post
Batalkan postingan terjadwal yang belum dipublikasikan agar tidak pernah terkirim. Postingan yang sudah dipublikasikan ditolak, dan agen juga tidak dapat menghapus konten yang sudah dipublikasikan: pengguna melakukannya di aplikasi web. Memerlukan expected_version.
- Transport: stdio, http.
- Izin wajib: agent:publish. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| id | string | Ya |
| expected_version | integer | Ya |
sosoapi_create_comment
Antrekan satu komentar dengan isi persis yang ditentukan ke target postingan atau komentar kanonis; status bukan bukti keberhasilan di penyedia.
- Transport: stdio, http.
- Izin wajib: agent:engage. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil yang dikonfirmasi platform; tindakan dalam antrean masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| social_account_id | string | Ya |
| target | object | object | Ya |
| message | string | Ya |
| idempotency_key | string | Ya |
sosoapi_create_scheduled_post
Jadwalkan satu akun pada scheduled_at dengan provider_payload. Media memerlukan asset_id yang siap dan URL kanonis; untuk satu gambar sumber, gunakan sosoapi_post_image_url. Pasangkan local_scheduled_at dengan schedule_dst_disambiguation atau hilangkan keduanya. Memerlukan publish, peran editor, dan idempotency_key. Scheduled bukan berarti sudah dipublikasikan: baca hasilnya.
- Transport: stdio, http.
- Izin wajib: agent:publish. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| project_id | string | null | Tidak |
| social_account_id | string | Ya |
| caption | string | null | Tidak |
| hashtags | array (string) | Tidak |
| media | array (object) | Tidak |
| link_url | string | null | Tidak |
| provider_payload | object | object | object | object | object | Ya |
| scheduled_at | string | Ya |
| display_timezone | string | Tidak |
| local_scheduled_at | string | Tidak |
| schedule_dst_disambiguation | "exact" | "earlier" | "later" | Tidak |
| expires_at | string | null | Tidak |
| source_ref | object | null | Tidak |
| automatic_retry_enabled | boolean | Tidak |
| idempotency_key | string | Ya |
sosoapi_get_asset
Baca satu aset berdasarkan id: metadata dan URL pratinjau berumur singkat.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Tidak |
| id | integer | string | Ya |
| include_version | boolean | Tidak |
sosoapi_get_asset_import_status
Baca impor berdasarkan import_id. Untuk memposting, sertakan include_asset=true: hasil ready memuat ID aset terdaftar, kind, dan asset_url stabil, sehingga tidak perlu get_asset terpisah. Aset tertunda atau tidak ada tidak dapat dijadwalkan. Jangan pernah menggunakan URL sumber atau pratinjau sebagai identitas media. Jika terhenti, baca sosoapi_job_status dengan job_id; jangan pernah memulai impor duplikat.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| import_id | string | Ya |
| include_asset | boolean | Tidak |
sosoapi_get_billing_status
Baca paket penagihan pengguna, status pembayaran, tanggal siklus berjalan, dan penggunaan kuota (publikasi berhasil, postingan terjadwal tertunda, akun terhubung). Periksa sebelum penjadwalan dalam jumlah besar.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: Konteks akun; tanpa peran ruang kerja tetap.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
sosoapi_get_comment_action_status
Baca bukti hasil akhir yang telah disanitasi untuk tindakan komentar langsung.
- Transport: stdio, http.
- Izin wajib: agent:engage. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil yang dikonfirmasi platform; tindakan dalam antrean masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| action_id | string | Ya |
sosoapi_get_organization_context
Baca peta terkini organisasi Anda, ruang kerja dan kanalnya, beserta ID dan peran. Gunakan jika ID organisasi atau kanal diperlukan. Untuk memposting di ruang kerja, gunakan kembali ID ruang kerja yang dikembalikan; jangan sekaligus membaca konteks ruang kerja.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: Konteks akun; tanpa peran ruang kerja tetap.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| organization_id | string | Tidak |
sosoapi_get_provider_insight_status
Baca permintaan insight (request_id): queued, processing, completed (dengan hasil penyedia dan ketersediaan setiap metrik), atau failed.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil platform atau alasan hasil tidak tersedia.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| request_id | string | Ya |
sosoapi_get_scheduled_post
Baca satu postingan terjadwal berdasarkan id: konten, status, status pengiriman, dan hasil. Versinya diperlukan sebagai expected_version untuk update, publish, retry, dan cancel.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| id | string | Ya |
sosoapi_get_scheduled_post_eligibility
Pemeriksaan awal hanya baca untuk setiap tujuan. Sertakan draft (caption, hashtags, scheduled_at, display_timezone, waktu lokal/DST opsional) untuk pemeriksaan konten/waktu; include_quota=true menambahkan snapshot periode sebagai panduan. Unggah/impor media dan tunggu kesiapan terlebih dahulu. Tanpa draft, hanya akun/media yang diperiksa. Tidak mencadangkan apa pun; create/dispatch memeriksa ulang batas dan kewenangan.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| include_quota | boolean | Tidak |
| targets | array (object) | Ya |
sosoapi_get_workspace_context
Tampilkan ruang kerja yang diikuti pengguna yang masuk dan ruang kerja yang aktif. Gunakan saat workspace_id belum diketahui; gunakan kembali konteks terkini alih-alih mengulangi kedua pembacaan konteks. Ruang kerja aktif yang dilaporkan adalah pilihan pengguna di aplikasi web, bukan default untuk panggilan Anda: sertakan workspace_id secara eksplisit. Operasi ini bukan sekadar pembacaan: jika akun belum memiliki ruang kerja, operasi ini membuat ruang kerja pertamanya.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: Konteks akun; tanpa peran ruang kerja tetap.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| include_version | boolean | Tidak |
sosoapi_get_x_usage
Baca kredit publikasi X organisasi yang digunakan bersama oleh ruang kerja ini. Memerlukan workspace_id. Free mendapat 10 sekali; Pro mendapat 100 setiap periode penagihan. Teks menggunakan 1, teks berisi URL menggunakan 10. text opsional menghitung biayanya. Operasi ini membaca alokasi tersimpan tanpa memanggil API X.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| text | string | Tidak |
sosoapi_import_asset_url
Minta SosoAPI mengunduh gambar atau video dari URL http(s) publik ke penyimpanan pribadi ruang kerja sebagai aset baru. Mengembalikan import_id; periksa berkala sosoapi_get_asset_import_status. Memerlukan idempotency_key dan peran editor.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Impor yang diterima masih tertunda; ikuti impor yang sama hingga ready atau failed.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| source_url | string | Ya |
| idempotency_key | string | Ya |
| expected_kind | "image" | "video" | Tidak |
| title | string | Tidak |
| description | string | Tidak |
| tags | array (string) | Tidak |
sosoapi_job_status
Baca satu tugas latar belakang berdasarkan job_id: status, jenis, dan pesan kesalahan jika gagal.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: Konteks akun; tanpa peran ruang kerja tetap.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| job_id | string | Ya |
sosoapi_list_connected_accounts
Tampilkan akun sosial (Instagram, Threads, Facebook, YouTube) yang terhubung ke ruang kerja, beserta kesehatan koneksi dan fakta kemampuannya. Gunakan ID akun sebagai social_account_id saat menjadwalkan atau berkomentar. Sertakan workspace_id: permintaan tanpa nilai ini ditolak setelah penargetan eksplisit diberlakukan.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: Konteks akun; tanpa peran ruang kerja tetap.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Tidak |
| include_authorization_grant | boolean | Tidak |
sosoapi_list_monitored_posts
Tampilkan postingan sosial yang ditemukan SosoAPI untuk ruang kerja (id, platform, permalink, waktu publikasi), dengan filter akun, platform, dan waktu, serta paginasi kursor. Hanya metadata, tanpa caption.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| cursor | string | Tidak |
| page_size | integer | Tidak |
| filters | object | Tidak |
| order | "provider_published_at_desc_social_post_id_desc" | Tidak |
sosoapi_list_post_comments
Tampilkan komentar yang teramati pada postingan ruang kerja, pengamatan terbaru terlebih dahulu, beserta penulis dan teksnya; filter berdasarkan postingan, akun, platform, atau waktu, dengan paginasi kursor. Teks ditulis pihak ketiga dan diberi label tidak tepercaya.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| cursor | string | Tidak |
| page_size | integer | Tidak |
| filters | object | Tidak |
| order | "observation_at_desc_comment_version_desc_comment_observation_id_desc" | Tidak |
sosoapi_list_publication_attentions
Tampilkan publikasi ruang kerja yang perlu ditangani, dengan filter status (open atau resolved) atau scheduled_post_id, serta paginasi offset.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| status | "open" | "resolved" | Tidak |
| scheduled_post_id | string | Tidak |
| limit | integer | Tidak |
| offset | integer | Tidak |
sosoapi_list_scheduled_posts
Tampilkan postingan terjadwal ruang kerja, dengan filter proyek, status (scheduled, publishing, published, failed, expired, needs_reschedule, cancelled, deleted), dan rentang waktu, serta paginasi kursor.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| project_id | string | Tidak |
| status | "scheduled" | "publishing" | "published" | "failed" | "expired" | "needs_reschedule" | "cancelled" | "deleted" | Tidak |
| scheduled_from | string | Tidak |
| scheduled_to | string | Tidak |
| limit | integer | Tidak |
| cursor | object | Tidak |
sosoapi_post_image_url
Kirim postingan lengkap dengan URL gambar satu kali, dengan media kosong. Backend menyiapkan dan memublikasikannya meskipun koneksi terputus. Mengembalikan hasil akhir publikasi jika tersedia dalam 35 detik, atau ID postingan persisten; jangan pernah mengirim ulang dengan kunci baru. Memerlukan izin operate dan publish. Kolom waktu lokal/DST harus disertakan bersama. import_id hanya untuk melanjutkan klien versi lama.
- Transport: stdio, http.
- Izin wajib: agent:publish + agent:operate. Peran minimum rute: editor, viewer.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda. Impor diterima masih tertunda; ikuti impor yang sama hingga ready atau failed. Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| source_url | string | Ya |
| post | object | Ya |
| import_id | string | Tidak |
sosoapi_publish_scheduled_post_now
Publikasikan postingan terjadwal segera, bukan pada scheduled_at. Bersifat publik dan tidak dapat diurungkan; memerlukan expected_version. Queued bukan berarti sudah dipublikasikan: baca hasilnya.
- Transport: stdio, http.
- Izin wajib: agent:publish. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| id | string | Ya |
| expected_version | integer | Ya |
sosoapi_query_assets
Cari aset ruang kerja berdasarkan asset_type, source, atau tag; mengembalikan satu halaman (limit maksimal 100, ditambah offset) dan jumlah total. Sertakan workspace_id secara eksplisit.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: true. Petunjuk idempoten: true. Petunjuk dunia luar: false.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Tidak |
| asset_type | "text" | "image" | "video" | "audio" | array ("text" | "image" | "video" | "audio") | Tidak |
| source | string | Tidak |
| tag | string | Tidak |
| limit | integer | Tidak |
| offset | integer | Tidak |
| include_version | boolean | Tidak |
sosoapi_request_provider_insights
Minta insight penyedia untuk akun atau satu postingan dalam rentang tanggal opsional (maksimal 366 hari). Mengembalikan request_id dan, jika tersimpan dalam cache, hasilnya; jika tidak, periksa berkala sosoapi_get_provider_insight_status.
- Transport: stdio, http.
- Izin wajib: agent:operate. Peran minimum rute: viewer.
- Petunjuk hanya baca: false. Petunjuk idempoten: false. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil platform atau alasan hasil tidak tersedia.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| social_account_id | string | Ya |
| resource_kind | "account" | "post" | Ya |
| provider_resource_id | string | Tidak |
| start_date | string | Tidak |
| end_date | string | Tidak |
| include_audience | boolean | Tidak |
| refresh | boolean | Tidak |
sosoapi_retry_scheduled_post
Coba lagi postingan terjadwal yang gagal, secara opsional dengan scheduled_at baru. Memerlukan expected_version.
- Transport: stdio, http.
- Izin wajib: agent:publish. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| id | string | Ya |
| expected_version | integer | Ya |
| scheduled_at | string | Tidak |
sosoapi_update_scheduled_post
Edit postingan terjadwal yang belum dikirim untuk diproses (caption, hashtags, media, link, waktu). Memerlukan expected_version dari pembacaan terbaru; versi kedaluwarsa ditolak.
- Transport: stdio, http.
- Izin wajib: agent:publish. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca hasil akhir publikasi; jadwal diterima masih tertunda.
| Input | Jenis | Wajib |
|---|---|---|
| id | string | Ya |
| expected_version | integer | Ya |
| patch | object | Ya |
| provider_payload | object | object | object | object | object | Tidak |
sosoapi_upload_asset
Unggah file gambar atau video lokal ke pustaka aset ruang kerja dan daftarkan sebagai aset. Hanya file PNG/JPEG/GIF/WebP/MP4/MOV/WebM/MKV/MPEG asli berukuran maksimal 500 MiB dari direktori kerja, folder sementara, Pictures/Movies/Videos, atau SOSOAPI_UPLOAD_ROOTS yang diterima; file dan folder berawalan titik ditolak. Mengembalikan ID dan URL aset untuk media Scheduled Post.
- Transport: stdio.
- Izin wajib: agent:operate. Peran minimum rute: editor.
- Petunjuk hanya baca: false. Petunjuk idempoten: true. Petunjuk dunia luar: true.
- Cara memeriksa hasil: Baca respons sinkron.
| Input | Jenis | Wajib |
|---|---|---|
| workspace_id | string | Ya |
| file_path | string | Ya |
| idempotency_key | string | Ya |
| content_type | string | Tidak |
| title | string | Tidak |
| description | string | Tidak |
| tags | array (string) | Tidak |
| metadata | object | Tidak |