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.
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:
| Parameter | Tipe | Kegunaan |
|---|---|---|
sentimen | integer | Filter berdasarkan kode sentimen |
sosmedId | string | Filter 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
| Gejala | Hal yang perlu diperiksa |
|---|---|
400 Bad Request | keywordId wajib disertakan dan penggunaan huruf besar/kecil harus tepat. |
data kosong | Kontrak tidak mendefinisikan kesiapan; verifikasi proses scraping dan pemetaan identifier. |
500 Internal Server Error | Catat parameter permintaan dan periksa log backend. |
Lihat referensi lengkap Layanan AI dan Mention.