La biblioteca no es más que una envoltura fina sobre un único punto de entrada. Llámalo directamente si trabajas fuera de PHP, pero entonces tendrás que implementar tú mismo las reglas de caché anteriores y verificar la firma.
POST https://addonsmarket.com/api/license
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"
}
| cle | string | La clave del comprador. Solo letras y dígitos; quitamos lo demás, así que los espacios y guiones pegados no molestan. |
| url | string | El host en el que funciona tu producto. Una URL completa también sirve: solo nos quedamos con el host. Quita tú mismo el puerto y el www. inicial si quieres que la respuesta coincida con lo que enviaste. |
{
"donnees": {
"ok": true,
"motif": "",
"domaine": "exemple.fr",
"essai": false,
"quand": "",
"emis": 1790687453,
"revalider": 1790773853,
"sursis": 2592000,
"hote": "boutique.exemple.fr"
},
"signature": "4p9JXJRfcB5R/LNEQwr/cwnVv1M5R1OdCNcU…"
}
| ok | bool | Si el producto puede funcionar aquí. |
| motif | string | Por qué no, cuando ok es falso. Mira la tabla de abajo. |
| domaine | string | El dominio al que está vinculada la licencia. |
| essai | bool | Clave de desarrollo o dominio de pruebas. |
| quand | string | Cuándo se reemplazó o se revocó la clave. |
| emis | int | Cuándo respondimos. El comienzo de la prórroga de 30 días. |
| revalider | int | Marca de tiempo antes de la cual no debes volver a preguntar. |
| sursis | int | Segundos durante los que puedes conservar este veredicto si dejamos de responder. |
| hote | string | El host sobre el que hemos respondido. Rechaza la respuesta si no es el tuyo. |
| 200 | Un veredicto firmado. Ojo: un rechazo también es un 200; lee ok, no el código de estado. |
| 400 | Falta la clave o el host. |
| 405 | Cualquier cosa que no sea POST u OPTIONS. |
| 429 | Límite de llamadas alcanzado. Conserva tu veredicto en caché y reinténtalo más tarde; nunca lo trates como un rechazo. |
Treinta llamadas por minuto y por dirección IP. Si se respetan las reglas de caché, una tienda hace una llamada al día, así que solo alcanzarás este límite desde una prueba de carga o un bucle que olvidó su caché.
Envía un User-Agent que nombre tu producto. Algunos agentes por defecto de bibliotecas HTTP, como el de urllib en Python, se filtran antes de llegarnos y reciben un 403. Cualquier cadena personalizada lo evita.
Escríbenos desde tu área de autor. Una pregunta que hubo que hacer suele significar que a esta página le falta un párrafo.