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/clientsKunden 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}/changesAnuto melden, dass sich der Bestand eines Kunden geändert hat
GET/provider/meSchlü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_INVALID401Schlüssel fehlt, ist fehlerhaft oder unbekannt.
PROVIDER_REVOKED403Ihr Anbieterzugang wurde von Anuto entzogen.
PROVIDER_FORMAT_REQUIRED400Ihre Software hat mehrere Formate, daher braucht der Aufruf format.
PROVIDER_FORMAT_NOT_ALLOWED400Das Format gehört nicht zu Ihren freigegebenen Formaten.
PROVIDER_CLIENT_NOT_FOUND404Kein 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]