Lewati ke konten utama

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

ParameterTipeWajibDefaultDeskripsi
keywordIdstringYaID kata kunci; alur aplikasi saat ini menggunakan data.id proyek, tetapi Swagger tidak mendefinisikan pemetaan tersebut secara formal
pageintegerTidak1Nomor halaman
limitintegerTidak10Jumlah item per halaman; nilai maksimum 100
sentimenintegerTidakFilter sentimen 1, 0, -1
sosmedIdstringTidakFilter ID sumber media sosial

Nilai sosmedId yang didukung:

  • twitter
  • facebook
  • youtube
  • tiktok
  • instagram
  • news

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

FieldDeskripsi
dataObjek mentions untuk halaman yang diminta
totalJumlah seluruh mentions yang cocok
pageNomor halaman saat ini
limitUkuran halaman yang diminta
totalPagesJumlah seluruh halaman
data[].keywordidPengenal kata kunci yang terkait dengan mentions
data[].sentimenNilai numerik sentimen; 1, 0, -1
data[].socialmediaidPengenal media sosial sumber
data[].targeted_accountInformasi akun penulis
data[].SnaKeywordGrup proyek dan kata kunci yang cocok

Huruf kapital pada key respons SnaKeyword memang disengaja dan sesuai dengan skema yang dipublikasikan.

Respons yang dideklarasikan

StatusArti
200Mentions berhasil diambil
400keywordId tidak disertakan
500Error 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.

Endpoint Model R10

/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

ParameterTipeWajibDefaultBatasan dan deskripsi
keywordIdstringYaID kata kunci dalam format UUID atau CUID
pageintegerTidak1Nomor halaman; minimal 1
limitintegerTidak10Jumlah item per halaman; minimal 1, maksimal 100
sentimenintegerTidakFilter sentimen: -1 negatif, 0 netral, 1 positif
sosmedIdstringTidakSumber yang dipisahkan koma: twitter, tiktok, facebook, youtube, instagram, news

Respons yang dideklarasikan

StatusArti
200Mentions berhasil diambil
400Parameter permintaan tidak valid
401Tidak terautentikasi
403Akses ditolak
406Header Accept tidak didukung
500Error 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"
}