Dokumentasi Provider API
Setiap endpoint, kolom, respons, dan error dalam satu halaman. Contoh memakai curl dan JSON.
Memulai
JSON melalui HTTPS. Kirim satu panggilan per klien setiap kali sakelarnya berubah. Setiap panggilan aman untuk diulang.
URL dasarhttps://api.anuto.app/v1
Endpoint
| Endpoint | Arti |
|---|---|
POST/provider/clients | Aktifkan atau perbarui klien |
GET/provider/clients/{externalId} | Status satu klien |
DELETE/provider/clients/{externalId} | Nonaktifkan klien dan tarik iklannya |
POST/provider/clients/{externalId}/changes | Beri tahu Anuto bahwa stok klien berubah |
GET/provider/me | Periksa kunci: nama penyedia, format, dan status |
Mengulang itu aman
Panggilan dengan externalId yang sama memperbarui klien tersebut. Tidak pernah membuat duplikat, jadi Anda bisa mencoba lagi setelah timeout.
Autentikasi
Kirim kunci Anda di header Authorization pada setiap permintaan. Kunci diawali anp_, hanya ditampilkan sekali, dan dapat diganti di halaman kunci API.
Authorization: Bearer anp_…Aktifkan atau perbarui klien
POST/provider/clients
Kirim data klien saat sakelarnya dinyalakan. Mengulang panggilan dengan externalId yang sama akan memperbarui klien tersebut.
curl -X POST https://api.anuto.app/v1/provider/clients \
-H "Authorization: Bearer $ANUTO_KEY" \
-H "Content-Type: application/json" \
-d '{
"externalId": "12345",
"name": "Casa Sol Real Estate",
"email": "[email protected]",
"phone": "+34 600 000 000",
"website": "https://casasol.es",
"country": "ES",
"listingsCount": 85
}'| Field | Wajib | Arti |
|---|---|---|
externalId | Wajib | ID Anda untuk klien ini (misalnya ID akun atau perusahaannya di perangkat lunak Anda). 1 sampai 100 karakter. |
name | Wajib | Nama usaha (hingga 120 karakter). |
email | Wajib | Email kontak klien. Digunakan untuk membuat akun Anuto klien jika mereka baru di Anuto. |
country | Wajib | Kode negara ISO dua huruf, misalnya ES. |
phone | Opsional | Telepon kontak (hingga 40 karakter). |
website | Opsional | Situs web klien, http atau https. |
format | Opsional | Hanya diperlukan jika akses Anda mencakup beberapa integrasi. |
connection | Opsional | Kolom koneksi untuk integrasi Anda, jika ada. Kami memberi tahu Anda yang mana saat akses Anda disetujui. |
listingsCount | Opsional | Jumlah iklan klien, untuk perencanaan. |
test | Opsional | Hanya memvalidasi dan memeriksa koneksi. Tidak ada yang dibuat. |
Respons
Setiap panggilan mengembalikan status klien, jumlah iklan, dan paketnya.
{
"externalId": "12345",
"clientId": "Xw3kQ9mZr2LpT7vNa4Bc",
"status": "active",
"shopUrl": "https://es.anuto.app/@casa-sol",
"listings": { "active": 10, "waiting": 0, "planWaiting": 75 },
"plan": { "tier": "free", "maxActive": 10, "freeMaxActive": 10 },
"upgradeUrl": "https://es.anuto.app/user/manage/plan",
"lastSyncAt": "2026-10-08T09:30:00.000Z"
}Lihat status klien
GET/provider/clients/{externalId}
Mengembalikan status klien saat ini, jumlah listing, dan paket, dalam bentuk yang sama seperti respons aktivasi.
curl https://api.anuto.app/v1/provider/clients/12345 \
-H "Authorization: Bearer $ANUTO_KEY"Nonaktifkan klien
DELETE/provider/clients/{externalId}
Menghapus klien akan menonaktifkannya dan menarik iklannya dari Anuto.
curl -X DELETE https://api.anuto.app/v1/provider/clients/12345 \
-H "Authorization: Bearer $ANUTO_KEY"Beri tahu perubahan
POST/provider/clients/{externalId}/changes
Panggil setiap kali stok klien berubah: listing dibuat, diperbarui, terjual, atau dihapus. Kami menyinkronkan ulang klien itu dalam hitungan menit, alih-alih menunggu sinkronisasi rutin beberapa jam sekali. Panggilan dalam 5 menit digabung, jadi memanggilnya pada setiap perubahan tidak masalah.
- Body bersifat opsional. Tambahkan itemIds untuk menyebutkan hingga 100 ID properti atau produk Anda yang berubah.
- Panggilan yang berhasil mengembalikan 202. nextSyncAt adalah waktu (UTC) saat sinkronisasi ulang dijadwalkan.
- Untuk klien nonaktif, respons berisi queued: false dan sebuah pesan. Tidak ada yang masuk antrean.
curl -X POST https://api.anuto.app/v1/provider/clients/12345/changes \
-H "Authorization: Bearer $ANUTO_KEY" \
-H "Content-Type: application/json" \
-d '{ "itemIds": ["123", "456"] }'{
"queued": true,
"nextSyncAt": "2026-10-08T12:00:00Z"
}Periksa kunci Anda
GET/provider/me
Mengembalikan nama penyedia Anda, format yang tercakup dalam akses Anda, dan status kunci. Panggil dulu untuk memastikan kunci baru berfungsi.
curl https://api.anuto.app/v1/provider/me \
-H "Authorization: Bearer $ANUTO_KEY"{
"providerId": "Xw3kQ9mZr2LpT7vNa4Bc",
"name": "Your software company",
"formats": ["…"],
"status": "approved"
}Mode uji
Atur test ke true untuk memvalidasi data dan memeriksa koneksi. Tidak ada yang dibuat; Anda mendapat status yang akan terjadi dan hasil pemeriksaannya.
{
"externalId": "12345",
"name": "Casa Sol Real Estate",
"email": "[email protected]",
"country": "ES",
"test": true
}
{
"ok": true,
"wouldBe": "active",
"checks": { "connection": "ok", "owner": "new_account" }
}Status klien
- activeAktif dan tersinkron.
- pendingKoneksi belum berfungsi, jadi belum ada yang dipublikasikan.
- reviewAnuto sedang meninjaunya, karena email klien baru ini sudah milik akun Anuto lain.
- inactiveDimatikan oleh Anda atau dihapus oleh Anuto.
Galat
Panggilan yang gagal mengembalikan JSON dengan statusCode, code, dan message. Gunakan code untuk menentukan langkah; message ditujukan untuk manusia.
{
"statusCode": 404,
"code": "PROVIDER_CLIENT_NOT_FOUND",
"message": "No client with externalId 12345"
}| Kode | HTTP | Arti |
|---|---|---|
PROVIDER_KEY_INVALID | 401 | Kunci hilang, salah format, atau tidak dikenal. |
PROVIDER_REVOKED | 403 | Akses penyedia Anda telah dicabut oleh Anuto. |
PROVIDER_FORMAT_REQUIRED | 400 | Perangkat lunak Anda punya beberapa format, jadi body harus berisi format. |
PROVIDER_FORMAT_NOT_ALLOWED | 400 | Format tidak termasuk dalam format yang disetujui untuk Anda. |
PROVIDER_CLIENT_NOT_FOUND | 404 | Tidak ada klien dengan externalId tersebut untuk penyedia Anda. |
Batas permintaan
Jika melewati batas, Anda menerima 429 dengan header Retry-After. Tunggu sejumlah detik itu, lalu coba lagi.
Ada pertanyaan tentang API atau akses Anda? [email protected]