Ce document décrit l'API JSON RESTful de Simply.com.
Vous pouvez trouver le point de terminaison HTTP sur https://api.simply.com/2/ - préfixez vos requêtes avec ceci.
L'authentification se fait avec HTTP Basic Authentication.
Mot de passe est la clé API pour le compte spécifique.
Nom d'utilisateur peut être n'importe quoi, car la clé API identifie uniquement le compte.
Alternativement, la clé API peut être envoyée en tant que Bearer-token dans l’en-tête Authorization :
Authorization: Bearer APIKEY
Les clés API sont créées dans le panneau de contrôle Simply.com sous Compte, clés API.
Vous pouvez trouver la documentation interactive de l'API ici: https://api.simply.com/2/doc/
Ou téléchargez la spécification OpenAPI au format JSON: https://api.simply.com/2/doc.json
L'API est soumise à des limites de taux, uniquement pour prévenir les abus.
En cas de dépassement, l'API répond avec 429 et indique le délai d'attente dans Retry-After.
Les bibliothèques suivantes sont disponibles pour utilisation.
| acme.sh | https://github.com/acmesh-official/acme.sh/ |
|---|---|
| Posh-ACME | https://github.com/rmbolger/Posh-ACME/ |
| cert-manager service | https://github.com/RunnerM/simply-dns-webhook/ |
| Certbot plugin | https://github.com/JohNan/certbot-dns-simply/ |
| Webhook provider for ExternalDNS | https://github.com/uozalp/external-dns-simply-webhook |
| PHP | https://github.com/simplycom/api-php/ |
|---|
Les routeurs et les clients DDNS qui prennent en charge le protocole DynDNS2 peuvent utiliser directement l'hôte ddns.simply.com.
Pour les scripts et autres automatisations du DNS, nous recommandons l'API REST, qui peut créer, modifier et supprimer les enregistrements DNS.
https://ddns.simply.com/nic/update?hostname=home.example.com&domain=example.com&myip=1.2.3.4
L'authentification se fait avec HTTP Basic Authentication, où le mot de passe est la clé API du compte. Le nom d'utilisateur peut être n'importe quoi, ex. le nom du compte.
Si myip est exclu, l'adresse IP utilisée est celle d'où provient la requête. Les mises à jour doivent se faire via HTTPS.
L'enregistrement doit être présent dans la zone DNS avant de pouvoir être mis à jour : un enregistrement A pour IPv4 et un enregistrement AAAA pour IPv6. S'il n'existe pas, la réponse est nohost, alors créez l'enregistrement dans le panneau de contrôle d'abord.
Le paramètre domain indique le domaine. Il doit être envoyé lorsque le domaine lui-même est mis à jour, par exemple hostname=example.com&domain=example.com, et peut être utilisé lorsque le domaine ne peut pas être déduit de hostname.
Les réponses suivent le protocole DynDNS2, par ex. good lors d'une mise à jour et nochg, lorsque l'adresse IP n'a pas changé.
L'adresse https://ddns.simply.com/myip renvoie l'adresse IP publique d'où provient la requête et ne nécessite pas d'authentification.
protocol=dyndns2
ssl=yes
server=ddns.simply.com
login=ACCOUNTNAME
password=APIKEY
home.example.com
Utilisez la commande Curl suivante pour définir home.example.com à l'IP externe du client demandeur:
curl -s -u "ACCOUNTNAME:APIKEY" "https://ddns.simply.com/nic/update?hostname=home.example.com"
Vous pouvez configurer cette commande pour qu'elle s'exécute dans une crontab, sur une machine locale, toutes les 15 minutes environ.
Sur Synology, vous pouvez utiliser la syntaxe suivante comme fournisseur DDNS personnalisé.
https://ddns.simply.com/nic/update?hostname=__HOSTNAME__&myip=__MYIP__
hostname doit ensuite être indiqué comme le nom de domaine complet que vous souhaitez mettre à jour, par ex. home.example.com.
Le capteur récupère l'adresse IP publique toutes les 5 minutes, et l'automatisation ne met à jour le DNS que lorsque l'adresse change, et au démarrage de Home Assistant. La clé API est enregistrée dans secrets.yaml.
# configuration.yaml
sensor:
- platform: rest
name: Public IP
resource: https://ddns.simply.com/myip
value_template: "{{ value | trim }}"
scan_interval: 300
rest_command:
simplycom_ddns:
url: "https://ddns.simply.com/nic/update?hostname=home.example.com"
username: "ACCOUNTNAME"
password: !secret simply_api_key
# secrets.yaml
simply_api_key: "APIKEY"
# Automation
alias: Simply.com DDNS
triggers:
- trigger: state
entity_id: sensor.public_ip
- trigger: homeassistant
event: start
actions:
- action: rest_command.simplycom_ddns
Dans UniFi OS, vous devez configurer un fournisseur DNS dynamique personnalisé et entrer la chaîne suivante dans le champ "Serveur".
ddns.simply.com/nic/update?hostname=%h&myip=%i