WEDOS REST API est encore en développement. L’accès et les fonctionnalités peuvent changer sans préavis.
Cet article décrit partiellement l’endpoint WEDOS.protection de WEDOS REST API. Les domaines WEDOS.protection et les membres ont leurs propres articles. Pour WEDOS API (WAPI), voir WAPI – WEDOS Protection.
Vous trouverez les informations de base sur WEDOS REST API dans l’article Manuel WEDOS REST API.
Dans cet article, vous trouverez les informations suivantes :
- Accès à l’endpoint DNS
- Détails de l’endpoint DNS :
- Remarques
Accès à l’endpoint WGP
WGP HTTP REST API v2 sert à gérer les domaines, les services et les invitations à la cogestion dans WEDOS.protection (WGP).
URL de base et authentification
L’URL de base des endpoints WGP est : https://api.wedos.com/v2
L’authentification repose uniquement sur OAuth2 : indiquez un token d’accès valide dans l’en-tête de la requête (Authorization: Bearer <TOKEN>) avec le scope wgp . Sans token valide, l’API renvoie l’erreur 2000.
Vous pouvez ajouter le paramètre example=1 à n’importe quel endpoint comme paramètre GET (?example=1 pour les endpoints sans paramètres GET propres, sinon &example=1). L’API renvoie alors un exemple de commande curl pour cet appel, sans qu’il soit nécessaire de fournir de vrais paramètres. Une authentification valide est requise même dans ce mode.
Aperçu des endpoints
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /services | Liste de vos services WGP autonomes |
| POST | /services/{service_id}/cache/purge | Purge du cache CDN |
| POST | /services/{service_id}/renew | Renouvellement d’un service |
| POST | /services/{service_id}/template-replicate | Réplication des réglages d’un domaine modèle |
| PATCH | /services/{service_id} | Changement de variante ou de période d’abonnement du service |
| DELETE | /services/{service_id} | Suppression ou résiliation d’un service |
Format de la réponse
La réponse de l’API est toujours un objet JSON avec les clés code (code de retour), msg (description textuelle), request_id (identifiant de la requête) et, le cas échéant, data (données renvoyées en cas de succès).
Codes de retour généraux valables pour tous les endpoints (couche REST, indépendamment de l’opération concernée) :
1000– succès (OK)2000– authentification (token OAuth2 Bearer) manquante ou invalide2004– taille maximale de la requête dépassée (URL ou corps de la requête)4000– méthode API inconnue ou non prise en charge (la combinaison appelée de méthode HTTP et de chemin n’existe pas)4001– la validation des données d’entrée a échoué4005– aucun exemple n’est disponible pour cet endpoint avec le modeexample=1activé6000– erreur interne lors de l’initialisation de la commande WAPI sous-jacente
Chaque endpoint renvoie en outre ses propres codes métier liés à l’opération (correspondant à la commande WAPI sous-jacente). Ils sont indiqués sous Codes de retour pour chaque endpoint.
GET /services
Renvoie la liste des services WEDOS Global Protection autonomes appartenant à l’utilisateur OAuth2 connecté (créés directement comme service WGP, table hosting_wedos_protection).
Paramètres :
status– facultatif, query – filtre selon un état de service précis (la valeur n’est pas vérifiée par rapport à la liste de codes d’état)
Codes de retour :
1000– OK
Données de la réponse : Un tableau de services ; chaque élément contient ID, name, status, expiration.
Exemple :
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/services?status=active'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": [
{
"ID": 435,
"name": "domain1.tld",
"status": "active",
"expiration": "2027-10-01 00:00:00"
}
]
}
POST /services/{service_id}/cache/purge
Purge le cache CDN d’un domaine connecté à WGP. L’opération peut viser soit un service WGP autonome, soit un domaine dont WGP est un module complémentaire (hosting_domain) ; le type de service est défini par le paramètre service_type .
Paramètres :
service_id– requis, path – ID local du serviceservice_type– facultatif – type de service,hosting_wedos_protection(par défaut) ouhosting_domainlimiter_decay– facultatif, nombre – durée en secondes pendant laquelle une purge répétée est limitée ; 5 par défautlimiter_reset– facultatif, booléen – annule la limite en cours ; par défautfalse
Codes de retour :
1000– OK2100– paramètre requis manquant2101– valeur de paramètre invalide2406– domaine ou service introuvable2415– le limiteur est toujours actif – la purge ne peut pas être répétée pour l’instant3223– le service appartient à un autre compte client2400– erreur interne – code de retour non enregistré
Données de la réponse :
domain– nom de domainedomain_id– ID du domaine dans WGPdomain_tld– TLD du domaineservice_id– ID du servicewedos_client_id– ID du client dans WGPlimiter_available_in– dans combien de secondes la fonction pourra être réutilisée (documenté uniquement pour l’erreur2415; l’implémentation actuelle ne renvoie toutefois pas la partie data en cas d’erreur, voir les Remarques)
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/services/435/cache/purge' \
--data '{"limiter_decay":5,"limiter_reset":0}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"domain_tld": "tld",
"service_id": 435,
"wedos_client_id": 10234
}
}
POST /services/{service_id}/renew
Renouvelle le service WGP pour une nouvelle période de facturation.
Paramètres :
service_id– requis, path – ID du service
Codes de retour :
1000– OK2100– paramètre requis manquant2101– valeur de paramètre invalide2152– le renouvellement n’est pas autorisé dans l’état actuel du service2279– le compte prépayé est bloqué2281– le compte prépayé n’est pas actif2282– impossible de payer depuis le compte prépayé dans la devise indiquée2283– solde insuffisant sur le compte prépayé2284– erreur dans les coordonnées du compte prépayé2293– impossible d’obtenir le solde du compte prépayé2297– impossible de déterminer si le compte prépayé inclut la TVA2406– service introuvable2409– le renouvellement du service a échoué
Données de la réponse :
service_id– ID du servicename– nom de domainedate_from,date_to– dates de validité de la nouvelle périodefakt_order_num– numéro de commande du renouvellementcurrency– devise du compte prépayéprice– montant du renouvellementcredit– solde du compte prépayé après l’opération (nullpour les services FREE/TRIAL)
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/services/435/renew'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"service_id": 435,
"name": "domain1.tld",
"date_from": "2027-10-01",
"date_to": "2028-10-01",
"fakt_order_num": "2026123457",
"currency": "CZK",
"price": 499,
"credit": 502
}
}
POST /services/{service_id}/template-replicate
Réplique (applique) les réglages d’un domaine modèle sur un domaine ou service WGP existant.
Paramètres :
service_id– requis, path – ID du service vers lequel les réglages sont répliquéstemplate_domain_id– requis – ID du domaine modèle (voir GET /domains/templates)service_type– facultatif – type de service,hosting_wedos_protection(par défaut) ouhosting_domain
Codes de retour :
1000– OK2100– paramètre requis manquant2101– valeur de paramètre invalide2401– domaine invalide pour la réplication2402– domaine modèle invalide2403– l’utilisateur du domaine et celui du domaine modèle ne concordent pas2404– la formule d’abonnement du domaine et celle du domaine modèle ne concordent pas2405– limite quotidienne de réplications atteinte2406– domaine ou service introuvable2407– domaine modèle introuvable2400– erreur interne – code de retour non enregistré
Données de la réponse :
domain– nom de domainedomain_id– ID du domaineservice_id– ID du serviceservice_type– type de servicetemplate_domain_id– ID du domaine modèle utiliséreplications_count– nombre de réplications déjà effectuéesreplications_limit– nombre maximal de réplications autorisées
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/services/435/template-replicate' \
--data '{"template_domain_id":123}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"service_id": 435,
"service_type": "hosting_wedos_protection",
"template_domain_id": 123,
"replications_count": 2,
"replications_limit": 5
}
}
PATCH /services/{service_id}
Modifie la variante et/ou la période d’abonnement d’un service WGP existant.
Paramètres :
service_id– requis, path – ID du servicenew_variant_id– facultatif, nombre – nouvelle variante de servicenew_period_id– facultatif, nombre – nouvelle période d’abonnement
Au moins l’un des paramètres new_variant_id/new_period_id doit être indiqué.
Codes de retour :
1000– OK2100– paramètre requis manquant2101– valeur de paramètre invalide2203– valeur invalide denew_period_id2273– valeur invalide denew_variant_id2279– le compte prépayé est bloqué2281– le compte prépayé n’est pas actif2282– impossible de payer depuis le compte prépayé dans la devise indiquée2283– solde insuffisant sur le compte prépayé2284– erreur dans les coordonnées du compte prépayé2293– impossible d’obtenir le solde du compte prépayé2294– impossible d’obtenir le prix du service2406– domaine ou service introuvable2408– le paramètrenew_variant_idounew_period_idest manquant (aucun des deux n’a été indiqué)2400– erreur interne – code de retour non enregistré
Données de la réponse :
domain– nom de domainedomain_id– ID du domainewedos_client_id– ID du client dans WGPservice_id– ID du serviceservice_type– type de servicevariant_id– ID de la variante de service en vigueur après la modificationperiod_id– ID de la période d’abonnement en vigueur après la modificationdirty– indicateur signalant si une modification a réellement eu lieu (0= inchangé,1= modifié)
Exemple :
curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/services/435' \
--data '{"new_variant_id":2,"new_period_id":1}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234,
"service_id": 435,
"service_type": "hosting_wedos_protection",
"variant_id": 2,
"period_id": 1,
"dirty": 1
}
}
DELETE /services/{service_id}
Supprime ou résilie un service WGP à la demande du client.
Paramètres :
service_id– requis, path – ID du serviceforce– facultatif, query, 0/1 – force la suppression même si WGP ne dispose d’aucun token pour réécrire le DNS (rétablissement des enregistrements A/AAAA à leurs valeurs d’origine)
Codes de retour :
1000– OK2100– paramètre requis manquant2292– le domaine est introuvable dans WGP pour ce compte client2400– erreur interne2410– service introuvable2411– aucun token disponible pour réécrire le DNS2412– la requête API de réécriture du DNS a échoué2413– la commande ne peut pas être exécutée, WGP n’a pas le droit de manipuler le DNS du domaine (force=1requis)2414– aucun token n’existe pour WGP et le paramètreforcen’a pas été indiqué3223– le service appartient à un autre compte client
Données de la réponse :
domain– nom de domainedomain_id– ID du domainewedos_client_id– ID du client dans WGPservice_id– ID du serviceservice_type– type de servicewdns_data– tableau des modifications d’enregistrements DNS effectuées (adresses IP qui cessent d’être résolues via WGP après sa résiliation)
Exemple :
curl -X DELETE -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/services/435?force=1'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234,
"service_id": 435,
"service_type": "hosting_wedos_protection",
"wdns_data": []
}
}
Remarques
- GET /services ne renvoie que les services WGP autonomes. Les domaines pour lesquels WGP est connecté en tant qu’add-on à un autre service ne figurent pas dans cette liste et aucun endpoint de liste similaire n’existe pour eux.
- POST /services/{service_id}/cache/purge et POST /services/{service_id}/template-replicate sont adressés directement par service_id (et non par domaine) et prennent en charge le paramètre service_type pour distinguer un service WGP autonome d’un domaine avec WGP en add-on. La commande WAPI correspondante recherche elle-même la propriété par user_id.
- Pour POST /services/{service_id}/cache/purge, le commentaire de documentation de cmd_purge_cache() mentionne aussi le champ limiter_available_in dans les données de réponse pour l’erreur 2415, mais l’implémentation actuelle ne renvoie dans ce cas que le code d’erreur nu, sans partie data – le champ n’apparaît donc pas réellement dans la réponse.
