API Mentions
Ambil konten media sosial yang telah dikumpulkan untuk satu kata kunci proyek.
Endpoint: GET /api/mentions
Autentikasi: Bearer token
Authorization: Bearer <access_token>
Ambil Mentions
GET /api/mentions
Mengembalikan daftar mentions dengan pagination serta filter sumber dan sentimen opsional.
Parameter kueri
| Parameter | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
keywordId | string | Ya | — | ID kata kunci; alur aplikasi saat ini menggunakan data.id proyek, tetapi Swagger tidak mendefinisikan pemetaan tersebut secara formal |
page | integer | Tidak | 1 | Nomor halaman |
limit | integer | Tidak | 10 | Jumlah item per halaman; nilai maksimum 100 |
sentimen | integer | Tidak | — | Filter sentimen 1, 0, -1 |
sosmedId | string | Tidak | — | Filter ID sumber media sosial |
Nilai sosmedId yang didukung:
twitterfacebookyoutubetiktokinstagramnews
Respons berhasil
200 OK:
{
"data": [
{
"id": "mention_id",
"targeted_account_id": "account_id",
"content": "A post that matched the monitored keyword.",
"keywordid": "project_or_keyword_id",
"url": "https://social.example/posts/123",
"sentimen": 1,
"socialmediaid": "social_media_id",
"createdat": "2026-07-20T08:30:00Z",
"updated_at": "2026-07-20T08:35:00Z",
"targeted_account": {
"username": "account_username",
"display_name": "Account Name"
},
"SnaKeyword": {
"group": "Acme July Monitoring",
"keyword": "acme"
}
}
],
"total": 43,
"page": 1,
"limit": 10,
"totalPages": 5
}
Field respons
| Field | Deskripsi |
|---|---|
data | Objek mentions untuk halaman yang diminta |
total | Jumlah seluruh mentions yang cocok |
page | Nomor halaman saat ini |
limit | Ukuran halaman yang diminta |
totalPages | Jumlah seluruh halaman |
data[].keywordid | Pengenal kata kunci yang terkait dengan mentions |
data[].sentimen | Nilai numerik sentimen; 1, 0, -1 |
data[].socialmediaid | Pengenal media sosial sumber |
data[].targeted_account | Informasi akun penulis |
data[].SnaKeyword | Grup proyek dan kata kunci yang cocok |
Huruf kapital pada key respons SnaKeyword memang disengaja dan sesuai dengan skema yang dipublikasikan.
Respons yang dideklarasikan
| Status | Arti |
|---|---|
200 | Mentions berhasil diambil |
400 | keywordId tidak disertakan |
500 | Error internal server |
Endpoint ini memerlukan autentikasi bearer, meskipun Swagger tidak menyertakan 401 secara eksplisit dalam tabel respons operasi ini.
cURL
curl \
"$SOCIOVITE_API_URL/api/mentions?keywordId=project_or_keyword_id&page=1&limit=10" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'
Tambahkan filter hanya saat diperlukan:
curl \
"$SOCIOVITE_API_URL/api/mentions?keywordId=project_or_keyword_id&page=1&limit=10&sentimen=1&sosmedId=social_media_id" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'
Mengambil Mentions dengan Model R10
GET /api/mentions/r10
Ambil mentions dengan pagination menggunakan engine Model R10. Endpoint ini mendukung filter sentimen dan satu atau beberapa sumber media sosial.
/api/mentions/r10 merupakan endpoint yang terpisah dari /api/mentions. Pada endpoint R10, sosmedId menerima daftar yang dipisahkan koma, misalnya twitter,news; jangan mengirimkannya sebagai array JSON.
Kontrak R10 yang diberikan mereferensikan web.TargetedAccountContentsModelR10Response untuk respons berhasil, tetapi tidak menyertakan definisi model tersebut. Oleh karena itu, field respons yang tepat tidak diasumsikan di sini.
Parameter kueri
| Parameter | Tipe | Wajib | Default | Batasan dan deskripsi |
|---|---|---|---|---|
keywordId | string | Ya | — | ID kata kunci dalam format UUID atau CUID |
page | integer | Tidak | 1 | Nomor halaman; minimal 1 |
limit | integer | Tidak | 10 | Jumlah item per halaman; minimal 1, maksimal 100 |
sentimen | integer | Tidak | — | Filter sentimen: -1 negatif, 0 netral, 1 positif |
sosmedId | string | Tidak | — | Sumber yang dipisahkan koma: twitter, tiktok, facebook, youtube, instagram, news |
Respons yang dideklarasikan
| Status | Arti |
|---|---|
200 | Mentions berhasil diambil |
400 | Parameter permintaan tidak valid |
401 | Tidak terautentikasi |
403 | Akses ditolak |
406 | Header Accept tidak didukung |
500 | Error internal server |
cURL
Ambil halaman pertama tanpa filter opsional:
curl \
"$SOCIOVITE_API_URL/api/mentions/r10?keywordId=keyword_id&page=1&limit=10" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'
Filter mentions positif dari Twitter dan berita:
curl \
"$SOCIOVITE_API_URL/api/mentions/r10?keywordId=keyword_id&page=1&limit=10&sentimen=1&sosmedId=twitter,news" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'
Bentuk error
{
"success": false,
"error": "Invalid request",
"message": "keywordId is required"
}