Dette dokument beskriver Simply.com RESTful JSON API.
Du kan finde HTTP endpoint på https://api.simply.com/2/ - præfiks dine forespørgsler med dette.
Eksempel: https://api.simply.com/2/my/products/
Autentificering sker med HTTP Basic Authentication.
Adgangskode er API-nøglen for den specifikke konto.
Brugernavn kan være hvad som helst, da API-nøglen alene identificerer kontoen.
Alternativt kan API-nøglen sendes som Bearer-token i Authorization-headeren:
Authorization: Bearer APIKEY
API-nøgler oprettes i Simply.com Kontrolpanelet under Konto, API-nøgler.
Du kan finde den interaktive API-dokumentation her: https://api.simply.com/2/doc/
Eller hent OpenAPI specifikationen som JSON: https://api.simply.com/2/doc.json
API er underlagt rate limits, kun for at forhindre misbrug.
Ved overskridelse svarer API med 429 og angiver ventetiden i Retry-After.
Følgende biblioteker er tilgængelige til brug.
| 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/ |
|---|
Routere og DDNS-klienter, der understøtter DynDNS2-protokollen, kan bruge værten ddns.simply.com direkte.
Til scripts og anden automatisering af DNS anbefaler vi REST API’et, som kan oprette, ændre og slette DNS-records.
https://ddns.simply.com/nic/update?hostname=home.example.com&domain=example.com&myip=1.2.3.4
Autentificering sker med HTTP Basic Authentication, hvor adgangskoden er API-nøglen for kontoen. Brugernavnet kan være hvad som helst, f.eks. kontonavnet.
Udelades myip, bruges den IP-adresse, som anmodningen kommer fra. Opdateringer skal ske over HTTPS.
Recorden skal findes i DNS-zonen, før den kan opdateres: en A-record for IPv4 og en AAAA-record for IPv6. Findes den ikke, svares der nohost, så opret recorden i kontrolpanelet først.
Parameteren domain angiver domænet. Den skal medsendes, når selve domænet opdateres, f.eks. hostname=example.com&domain=example.com, og kan bruges, når domænet ikke kan udledes af hostname.
Svarene følger DynDNS2-protokollen, f.eks. good ved en opdatering og nochg, når IP-adressen er uændret.
Adressen https://ddns.simply.com/myip returnerer den offentlige IP-adresse, som anmodningen kommer fra, og kræver ikke autentificering.
protocol=dyndns2
ssl=yes
server=ddns.simply.com
login=ACCOUNTNAME
password=APIKEY
home.example.com
Brug følgende Curl kommando til at sætte home.example.com til den eksterne IP for den anmodende klient:
curl -s -u "ACCOUNTNAME:APIKEY" "https://ddns.simply.com/nic/update?hostname=home.example.com"
Du kan indstille denne kommando til at køre i en crontab, på en lokal maskine, hvert 15. minut eller deromkring.
På Synology kan du bruge følgende syntaks som Custom DDNS Provider
https://ddns.simply.com/nic/update?hostname=__HOSTNAME__&myip=__MYIP__
hostname skal derefter angives som det fulde kvalificerede domænenavn, som du ønsker at opdatere, f.eks. home.example.com.
Sensoren henter den offentlige IP-adresse hvert 5. minut, og automationen opdaterer kun DNS, når adressen ændrer sig, og når Home Assistant starter. API-nøglen gemmes i 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
I UniFi OS skal du opsætte en Custom Dynamic DNS provider og indtaste følgende streng i "Server" feltet.
ddns.simply.com/nic/update?hostname=%h&myip=%i