Documentația Provider API
Toate endpoint-urile, câmpurile, răspunsurile și erorile pe o singură pagină. Exemplele folosesc curl și JSON.
Primii pași
JSON prin HTTPS. Trimite un apel per client de fiecare dată când comutatorul lui se schimbă. Fiecare apel poate fi repetat în siguranță.
URL de bazăhttps://api.anuto.app/v1
Endpoint-uri
| Endpoint | Înțeles |
|---|---|
POST/provider/clients | Activează sau actualizează un client |
GET/provider/clients/{externalId} | Starea unui client |
DELETE/provider/clients/{externalId} | Dezactivează un client și retrage anunțurile |
POST/provider/clients/{externalId}/changes | Anunță Anuto că stocul unui client s-a schimbat |
GET/provider/me | Verifică cheia: numele furnizorului, formatele și starea |
Reîncercarea este sigură
Apelurile cu același externalId actualizează acel client. Nu creează niciodată duplicate, așa că poți reîncerca după un timeout.
Autentificare
Trimite cheia în antetul Authorization la fiecare cerere. Cheile încep cu anp_, sunt afișate o singură dată și pot fi reînnoite pe pagina cheilor API.
Authorization: Bearer anp_…Activează sau actualizează un client
POST/provider/clients
Trimite datele clientului când comutatorul lui se pornește. Repetarea apelului cu același externalId actualizează acel client.
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
}'| Câmp | Obligatoriu | Înțeles |
|---|---|---|
externalId | Obligatoriu | ID-ul dumneavoastră pentru acest client (de exemplu, ID-ul contului sau al companiei din software-ul dumneavoastră). De la 1 la 100 de caractere. |
name | Obligatoriu | Denumirea companiei (până la 120 de caractere). |
email | Obligatoriu | E-mailul de contact al clientului. Se folosește pentru a crea contul Anuto al acestuia, dacă este nou pe Anuto. |
country | Obligatoriu | Cod de țară ISO din două litere, de exemplu ES. |
phone | Opțional | Telefon de contact (până la 40 de caractere). |
website | Opțional | Site-ul clientului, http sau https. |
format | Opțional | Necesar doar dacă accesul dumneavoastră acoperă mai multe integrări. |
connection | Opțional | Câmpurile de conectare pentru integrarea dumneavoastră, dacă există. Vă spunem care sunt la aprobarea accesului. |
listingsCount | Opțional | Numărul de anunțuri al clientului, pentru planificare. |
test | Opțional | Doar validează și verifică conexiunea. Nu se creează nimic. |
Răspuns
Fiecare apel returnează starea clientului, numărul de anunțuri și planul.
{
"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"
}Consultarea stării unui client
GET/provider/clients/{externalId}
Returnează starea actuală a clientului, numărul de anunțuri și planul, în aceeași formă ca răspunsul de la activare.
curl https://api.anuto.app/v1/provider/clients/12345 \
-H "Authorization: Bearer $ANUTO_KEY"Dezactivează un client
DELETE/provider/clients/{externalId}
Ștergerea unui client îl dezactivează și retrage anunțurile lui de pe Anuto.
curl -X DELETE https://api.anuto.app/v1/provider/clients/12345 \
-H "Authorization: Bearer $ANUTO_KEY"Notificarea modificărilor
POST/provider/clients/{externalId}/changes
Apelați-l ori de câte ori se schimbă stocul unui client: un anunț este creat, modificat, vândut sau șters. Resincronizăm clientul în câteva minute, în loc să așteptăm sincronizarea periodică din câteva ore. Apelurile făcute în 5 minute sunt unite, așa că îl puteți apela la fiecare modificare.
- Corpul cererii este opțional. Adăugați itemIds pentru a indica până la 100 de ID-uri ale proprietăților sau produselor modificate.
- Un apel reușit returnează 202. nextSyncAt este ora (UTC) la care este programată resincronizarea.
- Pentru un client inactiv, răspunsul conține queued: false și un mesaj. Nimic nu intră în coadă.
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"
}Verificarea cheii
GET/provider/me
Returnează numele furnizorului dumneavoastră, formatele acoperite de accesul dumneavoastră și starea cheii. Apelați-l primul pentru a verifica dacă o cheie nouă funcționează.
curl https://api.anuto.app/v1/provider/me \
-H "Authorization: Bearer $ANUTO_KEY"{
"providerId": "Xw3kQ9mZr2LpT7vNa4Bc",
"name": "Your software company",
"formats": ["…"],
"status": "approved"
}Mod test
Setează test pe true pentru a valida datele și a verifica conexiunea. Nu se creează nimic: primești starea care ar fi rezultat și rezultatele verificărilor.
{
"externalId": "12345",
"name": "Casa Sol Real Estate",
"email": "[email protected]",
"country": "ES",
"test": true
}
{
"ok": true,
"wouldBe": "active",
"checks": { "connection": "ok", "owner": "new_account" }
}Stările clientului
- activeLive și sincronizat.
- pendingConexiunea nu funcționează încă, deci nimic nu este publicat.
- reviewAnuto îl verifică, pentru că e-mailul acestui client nou aparține deja unui alt cont Anuto.
- inactiveDezactivat de tine sau eliminat de Anuto.
Erori
Apelurile eșuate returnează JSON cu statusCode, code și message. Decide după code; message este pentru oameni.
{
"statusCode": 404,
"code": "PROVIDER_CLIENT_NOT_FOUND",
"message": "No client with externalId 12345"
}| Cod | HTTP | Înțeles |
|---|---|---|
PROVIDER_KEY_INVALID | 401 | Cheie lipsă, malformată sau necunoscută. |
PROVIDER_REVOKED | 403 | Accesul furnizorului tău a fost revocat de Anuto. |
PROVIDER_FORMAT_REQUIRED | 400 | Software-ul tău are mai multe formate, deci corpul cererii trebuie să conțină format. |
PROVIDER_FORMAT_NOT_ALLOWED | 400 | Formatul nu se află printre formatele aprobate pentru tine. |
PROVIDER_CLIENT_NOT_FOUND | 404 | Nu există un client cu acest externalId la furnizorul tău. |
Limite de cereri
Dacă depășești limita, primești 429 cu antetul Retry-After. Așteaptă atâtea secunde și reîncearcă.
Întrebări despre API sau despre accesul tău? [email protected]