Ouverture prochaine — les auteurs gardent 100 % de leur prix Devenir auteur Se connecter Créer un compte
Bonjour, identifiez-vous Compte et listes EspaceAuteur

L’API, si vous préférez l’appeler vous-même

1.L’API, si vous préférez l’appeler vous-même

La bibliothèque n’est qu’une enveloppe autour d’un seul point d’entrée. Appelez-le directement si vous travaillez hors PHP — mais vous devrez alors implémenter vous-même les règles de cache ci-dessus, et vérifier la signature.

Point d’entrée

POST https://addonsmarket.com/api/license

Requête

HTTP
POST /api/licence HTTP/1.1
Host: addonsmarket.com
Content-Type: application/json
User-Agent: MonProduit/1.0

{
  "cle": "VOTRE_CLE",
  "url": "boutique.exemple.fr"
}

Ce que vous envoyez

cle string La clé de l’acheteur. Lettres et chiffres seulement ; nous retirons le reste, donc les espaces et tirets collés sont sans effet.
url string L’hôte sur lequel tourne votre produit. Une URL complète fonctionne aussi — nous n’en gardons que l’hôte. Retirez vous-même le port et le www. si vous voulez que la réponse corresponde à ce que vous avez envoyé.

Réponse

JSON
{
  "donnees": {
    "ok": true,
    "motif": "",
    "domaine": "exemple.fr",
    "essai": false,
    "quand": "",
    "emis": 1790687453,
    "revalider": 1790773853,
    "sursis": 2592000,
    "hote": "boutique.exemple.fr"
  },
  "signature": "4p9JXJRfcB5R/LNEQwr/cwnVv1M5R1OdCNcU…"
}

Champs de la réponse

ok bool Si le produit peut fonctionner ici.
motif string Pourquoi non, quand ok vaut faux. Voir le tableau plus bas.
domaine string Le domaine auquel la licence est liée.
essai bool Clé de développement ou domaine de test.
quand string Quand la clé a été remplacée ou révoquée.
emis int Quand nous avons répondu. Le début du sursis de 30 jours.
revalider int Horodatage avant lequel vous ne devez pas redemander.
sursis int Secondes pendant lesquelles vous pouvez garder ce verdict si nous ne répondons plus.
hote string L’hôte sur lequel nous avons répondu. Rejetez la réponse si ce n’est pas le vôtre.

Codes HTTP

200 Un verdict signé. Notez qu’un refus est aussi un 200 — lisez ok, pas le code HTTP.
400 Clé ou hôte manquant.
405 Autre chose qu’un POST ou un OPTIONS.
429 Limite d’appels atteinte. Gardez votre verdict en cache et réessayez plus tard — ne traitez jamais ceci comme un refus.

Trente appels par minute et par adresse IP. Avec les règles de cache respectées, une boutique fait un appel par jour ; vous n’atteindrez donc cette limite que depuis un test de charge ou une boucle qui a oublié son cache.

Envoyez un User-Agent qui nomme votre produit. Quelques agents par défaut de bibliothèques HTTP — celui d’urllib en Python notamment — sont filtrés avant de nous parvenir et reçoivent un 403. N’importe quelle chaîne personnalisée l’évite.

Quelque chose n’est pas clair ?

Écrivez-nous depuis votre espace auteur. Une question qu’il a fallu poser signifie en général qu’il manque un paragraphe à cette page.

Auteur