Documentation de l'API fournisseur

Tous les points de terminaison, champs, réponses et erreurs sur une seule page. Les exemples utilisent curl et JSON.

Premiers pas

JSON sur HTTPS. Envoyez un appel par client à chaque changement de son interrupteur. Chaque appel peut être répété sans risque.

URL de basehttps://api.anuto.app/v1

Points de terminaison

Point de terminaison Signification
POST/provider/clientsActiver ou mettre à jour un client
GET/provider/clients/{externalId}Statut d'un client
DELETE/provider/clients/{externalId}Désactiver un client et retirer ses annonces
POST/provider/clients/{externalId}/changesSignaler à Anuto que le stock d'un client a changé
GET/provider/meVérifier la clé : nom du fournisseur, formats et statut

Les nouvelles tentatives sont sûres

Les appels avec le même externalId mettent à jour ce client. Ils ne créent jamais de doublons, vous pouvez donc réessayer après un délai dépassé.

Authentification

Envoyez votre clé dans l'en-tête Authorization de chaque requête. Les clés commencent par anp_, ne s'affichent qu'une fois et peuvent être renouvelées sur la page des clés API.

Authorization: Bearer anp_…

Activer ou mettre à jour un client

POST/provider/clients

Envoyez les données du client quand son interrupteur s'active. Répéter l'appel avec le même externalId met à jour ce 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
  }'
Champ Obligatoire Signification
externalId Obligatoire Votre ID pour ce client (par exemple son identifiant de compte ou d'entreprise dans votre logiciel). De 1 à 100 caractères.
name Obligatoire Raison sociale (jusqu'à 120 caractères).
email Obligatoire E-mail de contact du client. Sert à créer son compte Anuto s'il est nouveau sur Anuto.
country Obligatoire Code pays ISO à deux lettres, par exemple ES.
phone Facultatif Téléphone de contact (jusqu'à 40 caractères).
website Facultatif Site web du client, http ou https.
format Facultatif Nécessaire uniquement si votre accès couvre plusieurs intégrations.
connection Facultatif Champs de connexion pour votre intégration, le cas échéant. Nous vous indiquons lesquels lors de l'approbation de votre accès.
listingsCount Facultatif Nombre d'annonces du client, pour la planification.
test Facultatif Valide seulement les données et la connexion. Rien n'est créé.

Réponse

Chaque appel renvoie le statut du client, ses compteurs d'annonces et son offre.

{
  "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"
}

Consulter le statut d'un client

GET/provider/clients/{externalId}

Renvoie le statut actuel du client, le nombre d'annonces et le forfait, dans le même format que la réponse d'activation.

curl https://api.anuto.app/v1/provider/clients/12345 \
  -H "Authorization: Bearer $ANUTO_KEY"

Désactiver un client

DELETE/provider/clients/{externalId}

Supprimer un client le désactive et retire ses annonces d'Anuto.

curl -X DELETE https://api.anuto.app/v1/provider/clients/12345 \
  -H "Authorization: Bearer $ANUTO_KEY"

Signaler les changements

POST/provider/clients/{externalId}/changes

Appelez-le à chaque modification du stock d'un client : une annonce est créée, modifiée, vendue ou supprimée. Nous resynchronisons ce client en quelques minutes, au lieu d'attendre la synchronisation régulière toutes les quelques heures. Les appels effectués dans un délai de 5 minutes sont regroupés, donc vous pouvez l'appeler à chaque changement.

  • Le corps de la requête est facultatif. Ajoutez itemIds pour citer jusqu'à 100 de vos identifiants de biens ou de produits modifiés.
  • Un appel réussi renvoie 202. nextSyncAt est l'heure (UTC) à laquelle la nouvelle synchronisation est programmée.
  • Pour un client inactif, la réponse contient queued: false et un message. Rien n'est mis en file d'attente.
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"
}

Vérifier votre clé

GET/provider/me

Renvoie le nom de votre fournisseur, les formats couverts par votre accès et le statut de la clé. Appelez-le d'abord pour vérifier qu'une nouvelle clé fonctionne.

curl https://api.anuto.app/v1/provider/me \
  -H "Authorization: Bearer $ANUTO_KEY"
{
  "providerId": "Xw3kQ9mZr2LpT7vNa4Bc",
  "name": "Your software company",
  "formats": ["…"],
  "status": "approved"
}

Mode test

Passez test à true pour valider les données et vérifier la connexion. Rien n'est créé : vous recevez le statut qui aurait été appliqué et le résultat des contrôles.

{
  "externalId": "12345",
  "name": "Casa Sol Real Estate",
  "email": "[email protected]",
  "country": "ES",
  "test": true
}

{
  "ok": true,
  "wouldBe": "active",
  "checks": { "connection": "ok", "owner": "new_account" }
}

Statuts du client

  • activeActif et synchronisé.
  • pendingLa connexion ne fonctionne pas encore, donc rien n'est publié.
  • reviewAnuto l'examine, car l'e-mail de ce nouveau client appartient déjà à un autre compte Anuto.
  • inactiveDésactivé par vous ou retiré par Anuto.

Erreurs

Les appels en échec renvoient du JSON avec statusCode, code et message. Décidez selon code ; message est destiné aux personnes.

{
  "statusCode": 404,
  "code": "PROVIDER_CLIENT_NOT_FOUND",
  "message": "No client with externalId 12345"
}
Code HTTP Signification
PROVIDER_KEY_INVALID401Clé absente, mal formée ou inconnue.
PROVIDER_REVOKED403L'accès de votre fournisseur a été révoqué par Anuto.
PROVIDER_FORMAT_REQUIRED400Votre logiciel a plusieurs formats, le corps doit donc contenir format.
PROVIDER_FORMAT_NOT_ALLOWED400Ce format ne fait pas partie de vos formats approuvés.
PROVIDER_CLIENT_NOT_FOUND404Aucun client avec cet externalId pour votre fournisseur.

Limites de débit

Au-delà de la limite, vous recevez un 429 avec l'en-tête Retry-After. Attendez ce nombre de secondes, puis réessayez.

Des questions sur l'API ou sur votre accès ? [email protected]