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/clientsAktifkan atau perbarui klien
GET/provider/clients/{externalId}Status satu klien
DELETE/provider/clients/{externalId}Nonaktifkan klien dan tarik iklannya
POST/provider/clients/{externalId}/changesBeri tahu Anuto bahwa stok klien berubah
GET/provider/mePeriksa 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_INVALID401Kunci hilang, salah format, atau tidak dikenal.
PROVIDER_REVOKED403Akses penyedia Anda telah dicabut oleh Anuto.
PROVIDER_FORMAT_REQUIRED400Perangkat lunak Anda punya beberapa format, jadi body harus berisi format.
PROVIDER_FORMAT_NOT_ALLOWED400Format tidak termasuk dalam format yang disetujui untuk Anda.
PROVIDER_CLIENT_NOT_FOUND404Tidak 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]