Lewati ke konten utama

Kumpulkan dan baca mention

Panduan ini memulai scraping untuk kata kunci proyek dan mengambil mention yang dihasilkan.

Prasyarat

  • Access token bearer
  • Proyek yang dibuat dengan POST /api/project
  • Identifier yang digunakan backend terkait sebagai ID kata kunci

Alur aplikasi saat ini menggunakan data.id proyek sebagai ID kata kunci tersebut, tetapi terminologi Swagger tidak mendefinisikan pemetaan ini secara formal.

1. Mulai scraping

Kirim ID kata kunci sebagai keyword_id:

curl -X POST \
"$SOCIOVITE_API_URL/api/ai-service/scrap-project-keywords" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>' \
-H 'Content-Type: application/json' \
-d '{
"keyword_id": "keyword_id"
}'

Swagger hanya menjamin bentuk respons berikut:

{
"success": true,
"result": {}
}

Tipe result tidak ditentukan dalam kontrak.

Kesiapan pengumpulan

Swagger yang diberikan tidak menyediakan ID tugas scraping, endpoint status tugas, atau callback penyelesaian. Karena itu, kontraknya tidak menentukan kapan mention tersedia setelah panggilan ini.

2. Opsional: periksa jumlah konten

curl \
"$SOCIOVITE_API_URL/api/project/content-count?id=project_id" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'

Contoh respons:

{
"data": 43
}

Endpoint jumlah menggunakan id yang dideskripsikan Swagger sebagai ID proyek. Jangan menganggapnya sebagai sinyal formal status scraping.

3. Ambil halaman pertama

Endpoint mention mewajibkan keywordId:

curl \
"$SOCIOVITE_API_URL/api/mentions?keywordId=keyword_id&page=1&limit=10" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'

Contoh respons 200 OK:

{
"data": [
{
"id": "mention_id",
"targeted_account_id": "account_id",
"content": "A post that matched the monitored keyword.",
"keywordid": "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
}

4. Baca semua halaman

Mulai dari page=1, lalu tambah nilai page sampai mencapai totalPages. Nilai default limit adalah 10; deskripsi parameter Swagger menetapkan nilai maksimum 100.

Filter opsional:

ParameterTipeKegunaan
sentimenintegerFilter berdasarkan kode sentimen
sosmedIdstringFilter berdasarkan ID sumber media sosial

Swagger tidak mendefinisikan ID sumber yang diizinkan atau arti setiap kode sentimen. Dapatkan pemetaan tersebut dari backend sebelum menampilkan label yang mudah dibaca.

Pemecahan masalah

GejalaHal yang perlu diperiksa
400 Bad RequestkeywordId wajib disertakan dan penggunaan huruf besar/kecil harus tepat.
data kosongKontrak tidak mendefinisikan kesiapan; verifikasi proses scraping dan pemetaan identifier.
500 Internal Server ErrorCatat parameter permintaan dan periksa log backend.

Lihat referensi lengkap Layanan AI dan Mention.