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 services 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 :
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 | /domains/{domain} | Détail d’un domaine dans WGP |
| GET | /domains/templates | Liste des domaines modèles pour une variante de service donnée |
| POST | /domains/create | Mise en place d’un nouveau domaine dans WGP |
| POST | /domains/info | Détail d’un ou de plusieurs domaines dans WGP |
| POST | /domains/{domain}/create/retry | Nouvelle tentative de mise en place du domaine après une erreur |
| POST | /domains/{domain}/delete-order | Suppression d’une commande de domaine inachevée |
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=1mode6000– 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 /domains/{domain}
Renvoie des informations sur un domaine connecté à WGP – une combinaison de données issues de l’administration externe WEDOS Global Protection et de la base de données interne WEDOS.
Paramètres :
domain– requis, path – nom de domaine
Codes de retour :
1000– OK2100– paramètre requis manquant2101– format de paramètre invalide2202– format du nom de domaine invalide ou non pris en charge2292– le domaine n’existe pas dans WGP pour ce compte client2400– erreur interne – code de retour non enregistré de l’API WGP (voir les Remarques)2418– enregistrement TXT manquant pour un domaine à l’étatPending_TXT.
Données de la réponse :
wgp– données du domaine issues de l’administration WGP externe (par ex. état du domaine, indicateur de compte admin et autres ; les élémentswedos_client_idetcmssont retirés de la réponse)service– données du domaine issues de la base de données interne :ID,name,num,user_id,lang,currency, coordonnées de facturation (cli_*) et du titulaire (own_*),status,expiration
Exemple :
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/domain1.tld'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"wgp": {
"domain": "domain1.tld",
"state": "active",
"user_admin": false
},
"service": {
"ID": 435,
"name": "domain1.tld",
"num": "2026123456",
"user_id": 10234,
"lang": "cs",
"currency": "CZK",
"status": "active",
"expiration": "2027-10-01 00:00:00"
}
}
}
GET /domains/templates
Renvoie une liste paginée des domaines modèles disponibles pour la variante de service WGP indiquée. Utilisez-la comme source de template_domain_id lors de la mise en place d’un domaine ou de la réplication des réglages.
Paramètres :
variant_id– requis, query – ID de la variante de service WGP (voir la liste de codeshosting_wedos_protection.variants)per_page– facultatif, query – nombre d’enregistrements par page ; 15 par défaut, la valeur-1renvoie tous les enregistrementspage– facultatif, query – numéro de page ; 1 par défautlocale– facultatif, query – langue de la pagination, valeurs autoriséescs,en; par défautensearch– facultatif, query – chaîne recherchée dans les colonnescustom_name,name
Codes de retour :
1000– OK2100– paramètre requis manquant (variant_id)2400– erreur interne – code de retour non enregistré
Données de la réponse :
data– tableau de domaines modèles ; chaque élément contientid,custom_name,name,urlper_page,total,last_page,from,to– détails de la paginationfirst_page_url,prev_page_url,next_page_url,last_page_url,path– liens vers les différentes pageslinks– tableau d’éléments de pagination (url,label,active)
Exemple :
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/templates?variant_id=1'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"data": [
{
"id": 123,
"custom_name": "Sample e-shop",
"name": "template-eshop.wedos.com",
"url": "https://template-eshop.wedos.com"
}
],
"per_page": 15,
"total": 1,
"last_page": 1,
"from": 1,
"to": 1,
"path": "https://api.wedos.com/v2/wgp/domains/templates",
"first_page_url": "https://api.wedos.com/v2/wgp/domains/templates?page=1",
"prev_page_url": null,
"next_page_url": null,
"last_page_url": "https://api.wedos.com/v2/wgp/domains/templates?page=1",
"links": [
{"url": null, "label": "« Previous", "active": false},
{"url": "https://api.wedos.com/v2/wgp/domains/templates?page=1", "label": "1", "active": true},
{"url": null, "label": "Next »", "active": false}
]
}
}
POST /domains/info
Renvoie des informations sur un ou plusieurs domaines dans WGP (équivalent de GET /domains/{domain}, mais vous pouvez indiquer plusieurs domaines séparés par des virgules dans le corps de la requête).
Paramètres :
domain– requis – nom de domaine, ou plusieurs noms séparés par des virgules (par ex."domain1.tld,domain2.tld")
Codes de retour :
1000– OK2100– paramètre requis manquant2101– format de paramètre invalide2202– format du nom de domaine invalide ou non pris en charge2292– le domaine n’existe pas dans WGP pour ce compte client2400– erreur interne – code de retour non enregistré de l’API WGP2418– enregistrement TXT manquant pour un domaine à l’étatPending_TXT.
Données de la réponse : Pour un seul domaine, la même structure que GET /domains/{domain} (clés wgp et service). Pour plusieurs domaines, la réponse est un objet indexé par nom de domaine, dont chaque élément reprend la structure wgp et service .
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/domains/info' \
--data '{"domain":"domain1.tld,domain2.tld"}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain1.tld": {
"wgp": {"domain": "domain1.tld", "state": "active", "user_admin": false},
"service": {"ID": 435, "name": "domain1.tld", "status": "active", "expiration": "2027-10-01 00:00:00"}
},
"domain2.tld": {
"wgp": {"domain": "domain2.tld", "state": "active", "user_admin": false},
"service": {"ID": 436, "name": "domain1.tld", "status": "active", "expiration": "2027-03-15 00:00:00"}
}
}
}
POST /domains/create
Met en place un nouveau domaine dans WGP. Cet endpoint permet aussi de rétablir un domaine suspendu (état disabled) parce que sa mise en place n’a pas été achevée à temps après sa création.
Paramètres :
domain– requis – nom de domainevariant_id– requis, nombre – ID de la variante de service (voir la liste de codeshosting_wedos_protection.variants)period_id– requis, nombre – ID de la période d’abonnementupstream_ips– facultatif, tableau – tableau d’adresses IP qui ne seront pas résolues vers WGPtemplate_domain_id– facultatif, nombre – ID du domaine modèle utilisé pour configurer le nouveau domainemode– facultatif, chaîne – mode du domaine, valeurs autoriséesnsoucname
Codes de retour :
1000– OK (rétablissement d’un domaine précédemment suspendu depuis l’étatdisabled)1001– requête acceptée, la mise en place du domaine est en cours de traitement2101– valeur de paramètre invalide2202– format du nom de domaine invalide ou non pris en charge2203– valeur invalide deperiod_id2272– format d’adresse IP invalide (upstream_ips)2273– valeur invalide devariant_id2276– TLD non pris en charge2277– unwww.explicite dans le nom de domaine n’est pas autorisé2278– un service existe déjà pour ce domaine2279– 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é2285– réglage de facturation incorrect avec/sans TVA2291– le domaine existe déjà dans WGP pour ce compte client2293– impossible d’obtenir le solde du compte prépayé2294– impossible d’obtenir le prix du service2416– mode de domaine invalide (mode)2417– format du nom de sous-domaine invalide ou non pris en charge2422– impossible de déterminer le type de compte (admin/client)2423– erreur interne lors de l’appel à l’API WGP- autres codes d’erreur propres à l’opération (par ex. validation de la réplication du domaine modèle
2401–2405)
Données de la réponse :
WGP_ID– ID du domaine dans WGPdomain– nom de domaineorder_num– numéro de commande (sauf si le domaine est mis en place gratuitement ou par un compte admin ; également lors d’un rétablissement depuis l’étatdisabled)currency,amount– devise et montant débités du compte prépayéacc_amount_before,acc_amount_current– solde du compte prépayé avant et après le paiementdesc– description (présente uniquement lors du rétablissement d’un domaine depuis l’étatdisabled)
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/wgp/domains/create' \
--data '{"domain":"domain1.tld","variant_id":1,"period_id":1,"mode":"ns"}'
{
"code": 1001,
"msg": "Request pending",
"request_id": "a1b2c3d4",
"data": {
"WGP_ID": 98765,
"domain": "domain1.tld",
"order_num": "2026123456",
"currency": "CZK",
"amount": -499,
"acc_amount_before": 1500,
"acc_amount_current": 1001
}
}
POST /domains/{domain}/create/retry
Relance une mise en place de domaine qui s’est terminée par une erreur (disponible uniquement pour certains états du domaine, par ex. error_crt).
Paramètres :
domain– requis, path – nom de domaine
Codes de retour :
1000– OK2100– paramètre requis manquant2292– le domaine n’existe pas dans WGP pour ce compte client2400– erreur interne – code de retour non enregistré
Données de la réponse :
domain– nom de domainedomain_id– ID du domaine dans WGPwedos_client_id– ID du client dans WGP
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/domain1.tld/create/retry'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234
}
}
POST /domains/{domain}/delete-order
Supprime une commande de domaine inachevée – l’état dans lequel le domaine reste bloqué dans WGP sans possibilité d’achever l’activation, alors que le service local n’existe pas encore.
Paramètres :
domain– requis, path – nom de domaine
Codes de retour :
1000– OK2100– paramètre requis manquant2292– le domaine est introuvable dans WGP pour ce compte client2400– erreur interne2410– service introuvable2421– le service WGP existe déjà, le domaine ne sera pas supprimé
Données de la réponse :
domain– nom de domainedomain_id– ID du domaine dans WGPwedos_client_id– ID du client dans WGP
Exemple :
curl -X POST -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/wgp/domains/domain1.tld/delete-order'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3d4",
"data": {
"domain": "domain1.tld",
"domain_id": 98765,
"wedos_client_id": 10234
}
}
