Dynadot API
Početak rada sa našim RESTful API-om
API Dynadot-a je dizajniran za besprekornu integraciju sa vašim sistemima. Naš API sadrži predvidive URL-ove orijentisane na resurse, podržava JSON kodirana tela zahteva, vraća odgovore kodirane u JSON i XML formatu, te se pridržava standardnih HTTP metoda, autentifikacije i kodova odgovora.Možete koristiti Dynadot API u test i live režimima. Režim se određuje pomoću API ključa koji se koristi za autentifikaciju vaših zahteva. Test režim vam omogućava da simulirate i validirate integraciju vašeg API-ja bez uticaja na stvarne podatke ili transakcije.Dynadot API je prvenstveno usmeren na upravljanje domenima, obradu narudžbina i srodne usluge. Možete izvršavati radnje kao što su registracija, transfer i obnova domena, upravljanje DNS podešavanjima, kao i pregled ili ažuriranje narudžbina na računu.Molimo Vas da obratite pažnju: Masovno kreiranje, ažuriranje i brisanje nisu podržani, te je svaki od tih tipova zahteva ograničen na jedan objekat ili akciju.
Generisanje vaših API ključevaPre nego što počnete da šaljete API zahteve, neophodno je da generišete svoj API ključ i API tajnu.Ovi ključevi su neophodni za autentifikaciju i za osiguranje bezbednosti vaših akcija prilikom interakcije sa našim API-jem.API ključ i API tajnu možete generisati u delu za API koji se nalazi u podešavanjima vašeg naloga.1. Prijavite se na svoj nalog na Dynadot.2. Idite na Alatke > API.3. Generišite svoj API ključ i tajni API ključ sa ove stranice.


Pridružite se našoj zajedniciImate li ideje ili predloge? Razgovarajte direktno sa našim profesionalnim inženjerima.Discord
HTTP metodaAPI koristi standardne HTTP metode za izvođenje operacija nad resursima:
MethodDescription
GETGET Request: Retrieve detailed information about a specified resource
POSTPOST Request: Create a new resource
PUTPUT Request: Fully update the specified resource
DELETEDELETE Request: Remove the specified resource
URL
Osnovni URL za sve API zahteve je:https://api.dynadot.com/
Kompletan format URL-a:http://api.dynadot.com/restful/version_code/resource/{resource_identify}/action
Sure, please provide the text you need translated into Serbian.
https://api.dynadot.com/restful/v1/domains/{domain_name}/search
Verzija
Trenutna verzija API-ja jev
Prilikom konstruisanja URL-a za API zahtev, potrebno je uključiti samo glavnu verziju. Manje izmene i popravke su dizajnirane tako da budu kompatibilne sa prethodnim verzijama i neće uneti promene koje bi poremetile vaš postojeći kod. To obezbeđuje stabilnost, omogućavajući vam da koristite postepena poboljšanja i ispravke bez potrebe za modifikacijom vaše implementacije.Kada budu objavljene buduće verzije, obezbedićemo unazadnu kompatibilnost za starije verzije tokom određenog perioda. Nove funkcionalnosti i značajne promene biće uvedene u većim verzijama.
HeaderZaglavlje API zahteva sadrži metapodatke o samom zahtevu. Ti metapodaci pružaju neophodan kontekst serveru kako bi pravilno obradio zahtev. Često korišćena zaglavlja uključuju:
Content-TypeDefiniše format podataka koji se šalju u telu zahteva. Server koristi ove informacije da pravilno obradi zahtev. Trenutno jedina prihvatljiva vrednost je: application/json
Sure, please provide the text you need translated into Serbian.
Content-Type: application/json
PrihvatiObaveštava server o formatu odgovora koji klijent očekuje.Moguće vrednosti: application/json, application/xml
Sure, please provide the text you need translated into Serbian.
Accept: application/json
AutorizacijaSvi API zahtevi moraju uključiti API ključ za autentifikaciju. Svoj API ključ možete dobiti na kontrolnoj tabli svog naloga.You can generate an API key in API setting page
Primer zaglavlja za autentifikaciju:
Authorization: Bearer YOUR_API_KEY
X-Request-IDZaglavlje X-Request-ID je opciono zaglavlje koje se koristi za jedinstveno identifikovanje svakog API zahteva. Kada je uključeno, ovo zaglavlje pomaže u praćenju i korelisanju zahteva preko sistema i logova, čineći lakšim otklanjanje problema i praćenje aktivnosti API-ja.Vrednost X-Request-ID mora biti važeći UUID (Univerzalno Jedinstveni Identifikator), koji sledi standardni format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (npr. 123e4567-e89b-12d3-a456-426614174000).
Sure, please provide the text you need translated into Serbian.
X-Request-ID: 550e8400-e29b-41d4-a716-446655440000
X-SignatureZaglavlje X-Signature je obavezan mehanizam sigurnosti za transakcione zahteve, uključujući one koji preuzimaju osetljive informacije ili ažuriraju podatke. Ono osigurava autentičnost, integritet i neporecivost API zahteva tako što zahteva od klijenata da potpišu teret zahteva koristeći HMAC-SHA256.
Da biste generisali potpis, potrebne su vam sledeće vrednosti1. API ključ: Vaš jedinstveni API ključ.2. Puna putanja i parametri upita: Puna putanja API krajnje tačke zajedno sa parametrima upita.3. X-Request-Id: ID zahteva. Ako nije dostupan, možete uneti prazan niz.4. Telo zahteva: Sadržaj tela zahteva. Ako je prazno ili nije postavljeno, možete uneti prazan niz.
String za potpisivanje je kombinacija gore navedenih vrednosti, koje su konkatenirane u sledećem redosledu:
apiKey + "\n" + fullPathAndQuery + "\n" + (xRequestId or empty String) + "\n" + (requestBody or empty String)
Example
apiKey = "your_api_key"
fullPathAndQuery = "/v1/some/endpoint?param=value"
xRequestId = "unique-request-id"
requestBody = "{\"key\":\"value\"}"


stringToSign = "your_api_key\n/v1/some/endpoint?param=value\nunique-request-id\n{\"key\":\"value\"}"
Generišite HMAC-SHA256 potpisNakon što konstruišete string za potpisivanje, potrebno je da primenite HMAC-SHA256 enkripciju koristeći vaš tajni ključ. Ovaj proces će kreirati potpis.Potpis se generiše koristeći sledeće korake:1. Koristite HMAC-SHA256 algoritam.2. Koristite stringToSign kao ulaznu poruku.3. Koristite tajnu kao ključ.
Primenite generisani potpis kao vrednost za X-Signature u zaglavlju zahteva
Sure, please provide the text you need translated into Serbian.
X-Signature: {HMAC-SHA256 Signature}
BodyTelo API zahteva koristi se za slanje podataka serveru. Obično se uključuje u POST, PUT ili PATCH zahteve (ne tipično za GET ili DELETE zahteve).
Format sadržajaFormat podataka u telu određen je zaglavljem Content-Type. Neki od uobičajenih formata uključuju:
JSON
{
    "domainName": "domain.com",
    "showPrice": "yes",
    "currency": "USD"
}
Tipični slučajevi upotrebePOST zahtevi: POST metoda se koristi za kreiranje novog resursa na serveru. Telo zahteva obično sadrži detalje o resursu.PUT zahtevi: PUT metoda se koristi za ažuriranje postojećeg resursa tako što ga u potpunosti zameni. Telo zahteva sadrži kompletan ažurirani resurs.GET zahtevi: DELETE metoda se koristi za uklanjanje postojećeg resursa sa servera. Ne sadrži telo zahteva.Zahtevi za BRISANJE: GET metoda se koristi za preuzimanje postojećeg resursa sa servera. Ne sadrži telo zahteva
Response FormatSvi API odgovori se vraćaju u formatu JSON ili XML, pri čemu format podataka u telu određuje zaglavlje Accept, pružajući tražene podatke ili poruku o grešci, ako je to primenjivo.
Format sadržajaOdgovor generalno sadrži tri dela: Kod, Poruka, Podaci.
Kod: Status zahtevaPoruka: Dodatni opis statusaData: Telo odgovora
JSON/XML
{
    "Code": "200",
    "Message": "Success",
    "Data": {}
}
Upravljanje greškamaHTTP status kodovi su standardizovani trocifreni brojevi koje server vraća kako bi pokazao ishod zahteva klijenta. Oni pružaju ključne informacije o tome da li je zahtev uspešno obradjen, da li je potrebna dodatna akcija, ili je došlo do greške. Ovi kodovi su podeljeni u pet kategorija, pri čemu svaka predstavlja različitu vrstu odgovora.Naši statusni kodovi API-ja pridržavaju se HTTP/1.1 protokola, koji je široko prihvaćen standard koji osigurava doslednu i pouzdanu komunikaciju. Koristeći HTTP/1.1, koristimo funkcije poput stalnih veza i poboljšanog keširanja kako bismo optimizovali interakcije između klijenta i servera.
2xx (Uspešno): Ukazuje da je komanda primljena i prihvaćena.
200Status kod ukazuje da je zahtev uspešno realizovan.
201Status kod ukazuje da je zahtev ispunjen i rezultirao je stvaranjem jednog ili više novih resursa.
202Status kod ukazuje da je zahtev prihvaćen za obradu, ali obrada još uvek nije završena.
249Korisnik je poslao previše zahteva u određenom vremenskom periodu.
4xx (Greška klijenta): Ukazuje na to da je klijent napravio grešku u zahtevu, kao što je davanje nevažećih podataka ili nedostatak odgovarajuće autorizacije.
400Status kod ukazuje da server ne može ili neće obraditi zahtev zbog nečega što se smatra greškom na strani klijenta.
401Status kod ukazuje da zahtev nije primenjen jer nedostaju važeći podaci za autentifikaciju za ciljani resurs.
402Statusni kod ukazuje na to da zahtev nije realizovan zbog problema sa plaćanjem.
403Status kod ukazuje da je server razumeo zahtev, ali odbija da ga ispuni.
404Status kod ukazuje da izvorni server nije pronašao trenutnu reprezentaciju za ciljani resurs ili nije voljan da otkrije da takva postoji.
409Zahtev nije mogao biti završen zbog sukoba sa trenutnim stanjem resursa.
5xx (Greška na serveru): Ukazuje na to da je server naišao na grešku ili nije u mogućnosti da ispuni zahtev.
500Status kod ukazuje na to da je server naišao na neočekivani problem koji je sprečio ispunjenje zahteva.
501Status kod ukazuje da server ne podržava funkcionalnost potrebnu za ispunjenje zahteva.
502Status kod ukazuje da je server, delujući kao prolaz ili proksi, primio nevažeći odgovor od ulaznog servera do kojeg je pristupio u pokušaju da ispuni zahtev.
503Status kod ukazuje da server trenutno nije u mogućnosti da obradi zahtev zbog privremenog preopterećenja ili planiranog održavanja, što će verovatno biti rešeno nakon određenog kašnjenja.
504Status kod ukazuje da server, delujući kao prolaz ili proksi, nije dobio blagovremen odgovor od nadređenog servera do kojeg je trebao da pristupi kako bi završio zahtev.
KodStatus imena
200Uspeh
201Kreirano
202Prihvaćeno
249Previše zahteva
400Loš zahtev
401Nepooblašćeno
402Potrebno plaćanje
403Zabranjeno
404Nije pronađeno
409Sukob
500Interna greška servera
501Nije implementirano
502Loš prolaz
503Servis nije dostupan
504Gateway vremensko ograničenje
Ograničavanje brzineZahtevi bi trebalo da budu poslati preko https (sigurnog soketa) zbog bezbednosti. Može se obraditi samo jedan zahtev u isto vreme, stoga molimo da sačekate da se vaš trenutni zahtev završi pre nego što pošaljete novi.
Dobićete različite brojeve niti u zavisnosti od cenovnog nivoa vašeg naloga:
Price levelAccount
Regular1 thread
Bulk5 threads
Super Bulk25 threads
Sure, please provide the text you need translated into Serbian.
<Response>
  <status>
    <code>429</code>
    <message>Too Many Requests</message>
  </status>
  <error>
    <description>You have reached the maximum allowed requests within the concurrent limit of your account. Please try again later.</description>
  </error>
</Response>
{
  "code": 429,
  "message": "Too Many Requests",
  "error": {
    "description": "You have reached the maximum allowed requests within the concurrent limit of your account. Please try again later."
  }
}
Pregled dnevnika promena
Dnevnik promena je detaljan zapis o promenama, poboljšanjima, ispravkama grešaka i novim funkcijama uvedenim u svakoj verziji API-ja. Pruža transparentnost korisnicima i programerima dokumentovanjem uticaja svake nadogradnje. Sastoji se od dva ključna dela:
Verzija API-jaOvaj deo ističe sistem verzija API-ja, koji pomaže programerima da prate evoluciju funkcionalnosti i osiguraju kompatibilnost. Svaka verzija API-ja je označena jedinstvenim brojem verzije (npr. v1.0.1, v2.2.3) i predstavlja značajan prekretnicu ili izdanje. Verzionisanje omogućava korisnicima da održavaju integracije sa minimalnim prekidima tako što će prihvatiti ažuriranja kada budu spremni.
Istorija promenaIstorija promena pruža detaljne informacije o ažuriranjima, ispravkama grešaka, zastarevanjima i poboljšanjima uvedenim u svakoj verziji. Ona opisuje specifične promene napravljene na krajnjim tačkama, parametrima, mehanizmima autentifikacije ili formatima odgovora. Ovaj odeljak osigurava da programeri imaju potpunu transparentnost u vezi sa promenama i omogućava im da prilagode svoje implementacije u skladu s tim. Održavanjem jasnog i detaljnog dnevnika promena, cilj nam je da programerima pružimo alate i informacije potrebne za efikasno i sigurno upravljanje integracijama.
Verzija API-ja
Naš API trenutno je u verzijiv
Kodovi verzija koriste se za sistematsko identifikovanje i upravljanje ažuriranjima API-ja. Oni prate format semantičkog verzioniranja (SemVer):
<Major><Maloljetnik><Zakrpa>
Svaki deo koda verzije ima određenu svrhu i pomaže programerima da efikasno komuniciraju obim i vrstu promena.
Glavna verzijaDefinicija: Predstavlja značajne promene koje mogu narušiti unazadnu kompatibilnost.Certainly! Please provide the text you need translated into Serbian.<Major>.x.x
Primeri:v1.0.0->v2.0.0: Potpuno redizajniranje API-ja ili nespojive promene šeme.
Manja verzijaDefinicija: Označava dodatke funkcija koji su kompatibilni unazad.Certainly! Please provide the text you need translated into Serbian.x.<Minor>.x
Primeri:v1.0.0->v1.1.0Dodavanje novih krajnjih tačaka ili metoda uz očuvanje unazadne kompatibilnosti.
Verzija zakrpeDefinicija: Odnosi se na unazad kompatibilne ispravke grešaka ili manja poboljšanja.Certainly! Please provide the text you need translated into Serbian.x.x.<Patch>
Primeri:v1.0.0->v1.1.0Rešavanje manjeg problema u API krajnjoj tački.
Dnevnik promena API-ja
Dnevnik promena je detaljan zapis o promenama, poboljšanjima, ispravkama grešaka i novim funkcijama uvedenim u svakoj verziji softvera ili API-ja. On pruža transparentnost korisnicima i programerima dokumentovanjem uticaja svake nadogradnje.
Tipičan unos u dnevniku promena uključuje:Opis: Kratak opis izmena koje su izvršene.Pogođene komponente: Specifični moduli, krajnje tačke ili funkcije koje su pogođene promenom.
Primer: Dodata podrška za ovu novu API komandu<Registracija Domena>
Istorija promenaPratite svaku promenu na Dynadot API-ju.
    Da li ste sigurni da želite da zatvorite čet?Čet će biti zatvoren i istorija četa će biti obrisana.
    nastavite da se odjavite
    ili ostanite na četu.
    Da pregledate ovu sesiju četa, molimo vasklikniteovi prozori.
    Chat Online
    Ćaskanje uživo0