Simply.com is available in english

Simply.com API dokumentation

Dette dokument beskriver Simply.com RESTful JSON API.

API endpoint

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

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.

OpenApi Spec / Dokumentation

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

Rate limits

API er underlagt rate limits, kun for at forhindre misbrug.

Ved overskridelse svarer API med 429 og angiver ventetiden i Retry-After.

Biblioteksimplementeringer

Følgende biblioteker er tilgængelige til brug.

ACME implementeringer

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

API implementeringer

PHP https://github.com/simplycom/api-php/

ddns.simply.com (DynDNS2)

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.

ddclient

protocol=dyndns2
ssl=yes
server=ddns.simply.com
login=ACCOUNTNAME
password=APIKEY
home.example.com

Curl eksempel (Anbefalet)

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.

Synology

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.

Home Assistant

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

Unifi

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