WAPI – komunikacja w JSON

JSON – JavaScript Object Notation to prosty format tekstowy do przesyłania struktur danych. Jego składnia pochodzi z JavaScript, ale nie jest on zależny od używanego języka, a narzędzia są dla niego dostępne praktycznie w każdym języku programowania.

Do wysyłania poleceń w formacie JSON użyj adresu  https://api.wedos.com/wapi/json.  

Jeśli komunikujesz z WAPI przy użyciu JSON, serwer odpowie Ci w tym samym formacie, powiadomienia (na e-mail, czy na adres url) również zostaną wysłane w odpowiednim formacie. W przypadku notyfikacji poll będzie zależało na formacie konkretnego zapytania (tj. kiedy polecenie zostanie przesłane w XML, ale poll-req już w JSON, notyfikacja zostanie zwrócona w JSON).

Jeśli nie będzie oczywiste, w jakim formacie ma być prowadzona komunikacja (na przykład dla notyfikacji systemowych), system będzie się kierował wyborem Preferowanego protokołu, który ustawisz w Panelu Klienta, w sekcji Interfejs WAPI (https://client.wedos.com/client/wapi.html).

Struktura danych poleceń w JSON jest ekwiwalentna z XML. 

Zapytanie napisane w XML:

<request>
<user>tester</user>
<auth>463870369aef393f3b82274107c9ade4b5b2a414</auth>
<command>contact-create</command>
<data>
<tld>cz</tld>
<contact>
<cname>JAN-NOVAK</cname>
<fname>Honza</fname>
<lname>Novák</lname>
<email>novak@example.com</email>
<addr_street>Zelená 15</addr_street>
<addr_city>Minas Morgull</addr_city>
<addr_zip>12345</addr_zip>
<addr_country>vg</addr_country>
<notify_email>jan.novak@example.com</notify_email>
</contact>
</data>
</request>

odpowiada temu w JSON:

{
"request":
{
"user": "tester",
"auth": "463870369aef393f3b82274107c9ade4b5b2a414",
"command": "contact-create",
"data":
{
"tld": "cz",
"contact":
{
"cname": "JAN-NOVAK",
"fname": "Honza",
"lname": "Novák",
"email": "novak@example.com",
"addr_street": "Zelená 15",
"addr_city": "Minas Morgull",
"addr_zip": "12345",
"addr_country": "vg",
"notify_email": "jan.novak@example.com"
}
}
}

co odpowiada temu polu (PHP):

Array
(
[request] => Array
(
[user] => tester
[auth] => 463870369aef393f3b82274107c9ade4b5b2a414
[command] => contact-create
[data] => Array
(
[tld] => cz
[contact] => Array
(
[cname] => JAN-NOVAK
[fname] => Honza
[lname] => Novák
[email] => novak@example.com
[addr_street] => Zelená 15
[addr_city] => Minas Morgull
[addr_zip] => 12345
[addr_country] => vg
[notify_email] => jan.novak@example.com
)
)
)
)