API - Dodawanie ogłoszeń za pomocą API
Krok 1: Przygotowujemy dokument XML lub formularz POST Na przykład (XML):
Dodawanie ogłoszeń odbywa się za pomocą przesłania pliku XML lub formularza POST wartości o ustalonej strukturze na adres deamona operującego. W poniższym przykładzie zademonstrujemy jak w prosty sposób dodać ogłoszenie. Na samym początku musimy wybrac formę przesyłu informacji.
Dla metody dodawania API poprzez dokument XML tworzymy strukturę z danymi ogłoszenia. Na przykład:
<?xml version="1.0" encoding="utf8"?>
<Document>
<Zapytanie>
<ApiKey>f0e6d01aae070095a339919e715c2de5</ApiKey>
<HashKey>fdsfdf<>HashKey>
<Kategoria>1</Kategoria>
<SubKategoria>2</SubKategoria>
<Sex>1</Sex>
<AdvertType>0</AdvertType>
<Country>4</Country>
<Tytul>Test to jest</Tytul>
<Opis>A to opis</Opis>
<DataUrodzenia>2008</DataUrodzenia>
<Wiek>38</Wiek>
<Typ>1</Typ>
<Wydajnosc></Wydajnosc>
<MinBia></MinBia>
<Cielnosc></Cielnosc>
<DokVet></DokVet>
<DokHod></DokHod>
<Wymiary></Wymiary>
<Waga></Waga>
<Masc></Masc>
<Cena>3.44</Cena>
<Waluta>2</Waluta>
<Transport></Transport>
<Sztuk></Sztuk>
<ZdjecieMale></ZdjecieMale>
<ZdjecieDuze></ZdjecieDuze>
<Jednostka></Jednostka>
<Debug>0</Debug>
<ContactName>Szymon</ContactName>
<ContactSName>Piekarz</ContactSName>
<ContactEmail>info@prokmed.com</ContactEmail>
</Zapytanie>
</Document>
Dla metody dodawania API poprzez formularz POST. Na przykład:
<form action='http://aukcjeziemi.pl/api/addDataByXML.php?ApiKey=klucz' method='post'>
<input type='hidden' name='ApiKey' value=''>
<input type='hidden' name='Kategoria' value=''>
<input type='hidden' name='SubKategoria' value=''>
<input type='hidden' name='Sex' value=''>
<input type='hidden' name='AdvertType' value=''>
<input type='hidden' name='Country' value=''>
<input type='hidden' name='Tytul' value=''>
<input type='hidden' name='Opis' value=''>
<input type='hidden' name='Wiek' value=''>
<input type='hidden' name='DataUrodzenia' value=''>
<input type='hidden' name='Cena' value=''>
<input type='hidden' name='Waluta' value=''>
</form>
Krok 2: Wysyłamy dokument na adres:
// W przypadku zapytania poprzez XML
http://aukcjeziemi.pl/api/addDataByXML.php?ApiKey=Twoj_klucz_api
// W przypadku zapytania poprzez POST
http://aukcjeziemi.pl/api/addDataByPOST.php?ApiKey=Twoj_klucz_api
Metoda przesyłu informacji XML poprzez PHP/CURL
<?
function xml_post($post_xml, $url, $port)
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_PORT, $port);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_xml); /
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
if($port==443)
{
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$xml=file_get_contents("plik_xml_z_zapytaniem.xml");
$url ='http://aukcjeziemi.pl/api/addDataByXML.php?ApiKey=twoj_klucz';
$port = 80;
// W zmiennej $response znajduje się wybrany format odpowiedzi. W zależności od wybranej
// opcji będzie to dokument XML, sama jego struktura
// bądz forma serialized PHP
$response = xml_post($xml, $url, $port);
?>
Wszelkie parametry możecie państwo znaleść w specyfiacji technicznej. Wszystkie parametry są szczegółowo opisane. W wypadku błędnej walidacji jednej ze zmiennych lub też w razie wykrycia próby nadużycia system może zawiesić czasowo wykorzystywany klucz API. W razie jakiegokolwiek problemu w odpowiedzi na standardowe wyjście zostanie przesłany komunikat ERROR wraz z wyjaśnieniem.
Jeżeli ogłoszenie zostanie dodane poprawnie w odpowiedzi pojawi się jedynie komunikat "OK"
System może przyjąc do 10 ogłoszeń na 30 minut. Każde inne ogłoszenia będą dodawane systematycznie. To znaczy zostaną przyjęte jednak ich dodanie będzie opóznione w czasie. Wynika to z tego, iż chcemy zapobiedz zadużyciom API w formie dodawania danych do naszego systemu. Wszelkie parametry mogą zostać zmienione po kontakcie z administratorem API.

















