Provider API: Dokumentation
Alle Endpunkte, Felder, Antworten und Fehler auf einer Seite. Beispiele mit curl und JSON.
Erste Schritte
JSON über HTTPS. Senden Sie bei jeder Schalteränderung eines Kunden einen Aufruf. Jeder Aufruf kann gefahrlos wiederholt werden.
Basis-URLhttps://api.anuto.app/v1
Endpunkte
| Endpunkt | Bedeutung |
|---|---|
POST/provider/clients | Kunden aktivieren oder aktualisieren |
GET/provider/clients/{externalId} | Status eines Kunden |
DELETE/provider/clients/{externalId} | Kunden deaktivieren und seine Inserate zurückziehen |
POST/provider/clients/{externalId}/changes | Anuto melden, dass sich der Bestand eines Kunden geändert hat |
GET/provider/me | Schlüssel prüfen: Anbietername, Formate und Status |
Wiederholen ist sicher
Aufrufe mit derselben externalId aktualisieren diesen Kunden. Es entstehen nie Duplikate, daher können Sie nach einem Timeout erneut senden.
Authentifizierung
Senden Sie Ihren Schlüssel bei jeder Anfrage im Header Authorization. Schlüssel beginnen mit anp_, werden nur einmal angezeigt und lassen sich auf der Seite „API-Schlüssel“ erneuern.
Authorization: Bearer anp_…Kunden aktivieren oder aktualisieren
POST/provider/clients
Senden Sie die Daten des Kunden, wenn sein Schalter eingeschaltet wird. Ein erneuter Aufruf mit derselben externalId aktualisiert diesen Kunden.
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
}'| Feld | Pflicht | Bedeutung |
|---|---|---|
externalId | Pflicht | Ihre ID für diesen Kunden (zum Beispiel seine Konto- oder Firmen-ID in Ihrer Software). 1 bis 100 Zeichen. |
name | Pflicht | Firmenname (bis zu 120 Zeichen). |
email | Pflicht | Kontakt-E-Mail des Kunden. Wird genutzt, um sein Anuto-Konto anzulegen, wenn er neu bei Anuto ist. |
country | Pflicht | Zweistelliger ISO-Ländercode, z. B. ES. |
phone | Optional | Kontakttelefon (bis zu 40 Zeichen). |
website | Optional | Website des Kunden, http oder https. |
format | Optional | Nur nötig, wenn Ihr Zugang mehrere Integrationen abdeckt. |
connection | Optional | Verbindungsfelder für Ihre Integration, falls nötig. Welche das sind, teilen wir Ihnen bei der Freigabe Ihres Zugangs mit. |
listingsCount | Optional | Anzahl der Inserate des Kunden, zur Planung. |
test | Optional | Prüft nur Daten und Verbindung. Es wird nichts angelegt. |
Antwort
Jeder Aufruf liefert Status, Inseratzahlen und Tarif des Kunden.
{
"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"
}Status eines Kunden abrufen
GET/provider/clients/{externalId}
Gibt den aktuellen Status des Kunden, die Anzahl der Anzeigen und den Tarif zurück, im gleichen Format wie die Antwort bei der Aktivierung.
curl https://api.anuto.app/v1/provider/clients/12345 \
-H "Authorization: Bearer $ANUTO_KEY"Kunden deaktivieren
DELETE/provider/clients/{externalId}
Das Löschen eines Kunden schaltet ihn ab und zieht seine Inserate von Anuto zurück.
curl -X DELETE https://api.anuto.app/v1/provider/clients/12345 \
-H "Authorization: Bearer $ANUTO_KEY"Änderungen melden
POST/provider/clients/{externalId}/changes
Rufen Sie sie auf, wenn sich der Bestand eines Kunden ändert: Eine Anzeige wird erstellt, geändert, verkauft oder gelöscht. Wir synchronisieren diesen Kunden innerhalb von Minuten, statt auf die regelmäßige Synchronisierung alle paar Stunden zu warten. Aufrufe innerhalb von 5 Minuten werden zusammengeführt, deshalb ist ein Aufruf bei jeder Änderung in Ordnung.
- Der Body ist optional. Mit itemIds nennen Sie bis zu 100 Ihrer IDs von Objekten oder Produkten, die sich geändert haben.
- Ein erfolgreicher Aufruf liefert 202. nextSyncAt ist der Zeitpunkt (UTC), zu dem die erneute Synchronisierung geplant ist.
- Bei einem inaktiven Kunden enthält die Antwort queued: false und eine Meldung. Es wird nichts eingereiht.
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"
}Schlüssel prüfen
GET/provider/me
Gibt Ihren Anbieternamen, die Formate, die Ihr Zugang abdeckt, und den Status des Schlüssels zurück. Rufen Sie es zuerst auf, um zu prüfen, ob ein neuer Schlüssel funktioniert.
curl https://api.anuto.app/v1/provider/me \
-H "Authorization: Bearer $ANUTO_KEY"{
"providerId": "Xw3kQ9mZr2LpT7vNa4Bc",
"name": "Your software company",
"formats": ["…"],
"status": "approved"
}Testmodus
Setzen Sie test auf true, um Daten und Verbindung zu prüfen. Es wird nichts angelegt; Sie erhalten den Status, der sich ergeben würde, und die Prüfergebnisse.
{
"externalId": "12345",
"name": "Casa Sol Real Estate",
"email": "[email protected]",
"country": "ES",
"test": true
}
{
"ok": true,
"wouldBe": "active",
"checks": { "connection": "ok", "owner": "new_account" }
}Kundenstatus
- activeOnline und synchronisiert.
- pendingDie Verbindung funktioniert noch nicht, daher wird nichts veröffentlicht.
- reviewAnuto prüft es, weil die E-Mail dieses neuen Kunden bereits zu einem anderen Anuto-Konto gehört.
- inactiveVon Ihnen ausgeschaltet oder von Anuto entfernt.
Fehler
Fehlgeschlagene Aufrufe liefern JSON mit statusCode, code und message. Reagieren Sie auf code; message ist für Menschen gedacht.
{
"statusCode": 404,
"code": "PROVIDER_CLIENT_NOT_FOUND",
"message": "No client with externalId 12345"
}| Code | HTTP | Bedeutung |
|---|---|---|
PROVIDER_KEY_INVALID | 401 | Schlüssel fehlt, ist fehlerhaft oder unbekannt. |
PROVIDER_REVOKED | 403 | Ihr Anbieterzugang wurde von Anuto entzogen. |
PROVIDER_FORMAT_REQUIRED | 400 | Ihre Software hat mehrere Formate, daher braucht der Aufruf format. |
PROVIDER_FORMAT_NOT_ALLOWED | 400 | Das Format gehört nicht zu Ihren freigegebenen Formaten. |
PROVIDER_CLIENT_NOT_FOUND | 404 | Kein Kunde mit dieser externalId bei Ihrem Anbieter. |
Ratenlimits
Bei Überschreitung erhalten Sie 429 mit einem Retry-After-Header. Warten Sie so viele Sekunden und versuchen Sie es dann erneut.
Fragen zur API oder zu Ihrem Zugang? [email protected]