GotLink API

Zgodnie z prośbą naszych użytkowników, postanowiliśmy udostępnić im API, dzięki któremu będą mogli kontrolować swoje konto bez konieczności logowania się w naszym serwisie.

Spis treści

Wprowadzenie

Korzystanie z API polega na wysyłaniu metodą POST danych do serwera GotLink, w odpowiedzi otrzymujemy dane o których zapytanie wysyłaliśmy lub komunikat błędu w przypadku niepowodzenia. Korzystamy z kodowania "UTF-8".
Pola "username" oraz "password" to odpowiednio nazwa użytkownika oraz hasło w serwisie GotLink.pl.
Pole "action" określa rodzaj wykonywanej akcji (np. pobieranie danych » "get").
Pole "type" określa rodzaj danych o jakie odpytujemy (np. linki » "links").

Uwaga! Jeśli nie chcesz przesyłać hasła w postaci jawnej, udostępniliśmy możliwość przesyłania samego wyniku funkcji skrótu na haśle, tzn. md5(hasło). Wartość tą należy ustawić w polu "md5pass" i usunąć pole "password".

Przykładowy kod z wykorzystaniem CURLa
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'get', 'type' => 'links', 'return' => 'json'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);


Zwracane wartości

Przy wysyłaniu zapytania możemy ustalić, w jakim formacie chcemy dostać odpowiedź.
Na dzień dzisiejszy możliwe są 2 rodzaje:
- JSON
- Zserializowana tablica

Za wybór sposobu kodowania odpowiada pole "result" w wysyłanym zapytaniu. Możliwe wartości to: "json", "serialize".

Przykład przetworzenia odpowiedzi do tablicy asocjacyjnej w PHP
//zmienna $response to odpowiedź serwera na zapytanie (patrz przykład 1) //w przypadku wyboru danych w formacie "json", aby uzyskać tablicę asocjacyjną $response = json_decode($response, true); //w przypadku wyboru danych w formacie "serialize", aby uzyskać tablicę asocjacyjną $response = unserialize($response);


Obsługa błędów

Gdy zapytanie zakończy się pomyślnie, w polu "result" będzie zawarty wynik, np. lista linków. W przypadku błędu, w polu "error" będziemy mieli komunikat błędu.

Sprawdzenie błędów oraz wyświetlenie odpowiedzi
if (isset($response['error'])) { //obsługa błędu die($response['error']); } else { //wyświetlenie danych var_dump($response['result']); }


Pobieranie danych

Aby pobrać dane należy użyc parametru "action" i ustawić go na wartość "get".

Pobieranie danych o linkach

Aby pobrać dane o linkach należy użyc parametru "type" i ustawić go na wartość "links".
Oprócz tego mamy dodatkowe opcjonalne parametry, które zostały przedstawione w tabeli poniżej.
Nazwa parametru Opis parametru Możliwa wartość Opis wartości Domyślnie
"group" Określa numer grupy, z której chcemy pobrać informacje o linkach id grupy ID grupy, której linki chcemy pobrać Brak wartości oznacza, że zostaną pobrane wszystkie linki z danego konta
"order" Określa rodzaj sortowania "add_date" sortowanie wg. daty dodania "add_date"
"url" sortowanie wg. urla
"anchor" sortowanie wg. anchora
"points" sortowanie wg. punktów
"order_type" Określa kierunek sortowania "asc" sortowanie rosnąco "asc"
"desc" sortowanie malejąco
Pobranie listy linków z grupy 22 posortowanych wg ilości punktów malejąco
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'get', 'type' => 'links', 'return' => 'json', 'order' => 'points', 'order_type' => 'desc', 'group' => '22'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W odpowiedzi otrzymujemy listę rekordów. Każdy rekord zawiera następujące pola:
- "id" - identyfikator linku
- "group_id" - identyfikator grupy
- "add_date" - data dodania linku w formacie UNIX_TIMESTAMP
- "url" - adres URL
- "anchor" - anchor linku
- "title" - title linku
- "text_before" - tekst przed
- "text_after" - tekst po
- "points" - liczba punktów przydzielona na link
- "position" - aktualna pozycja w wyszukiwarce (wartość 0 oznacza brak danych, wartość 127 oznacza pozycję poza pierwszą 100)

Pobieranie danych o grupach

Aby pobrać dane o grupach należy użyc parametru "type" i ustawić go na wartość "groups".
Oprócz tego mamy dodatkowe opcjonalne parametry, które zostały przedstawione w tabeli poniżej.
Nazwa parametru Opis parametru Możliwa wartość Opis wartości Domyślnie
"order" Określa rodzaj sortowania "id" sortowanie wg. id "add_date"
"name" sortowanie wg. nazwy
"points" sortowanie wg. punktów
"order_type" Określa kierunek sortowania "asc" sortowanie rosnąco "asc"
"desc" sortowanie malejąco
Pobranie listy grup posortowanych wg id rosnąco
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'get', 'type' => 'groups', 'return' => 'json', 'order' => 'id', 'order_type' => 'asc'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W odpowiedzi otrzymujemy listę rekordów. Każdy rekord zawiera następujące pola:
- "id" - identyfikator grupy
- "name" - nazwa grupy
- "points" - liczba punktów przydzielonych na grupę

Pobieranie danych o stronach

Aby pobrać dane o stronach należy użyc parametru "type" i ustawić go na wartość "sites".
Oprócz tego mamy dodatkowe opcjonalne parametry, które zostały przedstawione w tabeli poniżej.
Nazwa parametru Opis parametru Możliwa wartość Opis wartości Domyślnie
"order" Określa rodzaj sortowania "id" sortowanie wg. id "time_added"
"site_url" sortowanie wg. adresu
"pagerank" sortowanie wg. pageranku
"time_added" sortowanie wg. daty dodania
"site" sortowanie wg. site
"points" sortowanie wg. punktów
"points_loyalty" sortowanie wg. punktów lojalnościowych
"points_age" sortowanie wg. punktów za staż domeny
"outgoing" sortowanie wg. ilości linków wychodzących
"backlink" sortowanie wg. wartości BL
"points_main" sortowanie wg. bonusu za domenę główną
"order_type" Określa kierunek sortowania "asc" sortowanie rosnąco "asc"
"desc" sortowanie malejąco
Pobranie listy stron posortowanych wg ilości zaindeksowanych stron malejąco
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'get', 'type' => 'sites', 'return' => 'json', 'order' => 'site', 'order_type' => 'desc'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W odpowiedzi otrzymujemy listę rekordów. Każdy rekord zawiera następujące pola:
- "id" - identyfikator strony
- "site_url" - adres URL strony
- "pagerank" - pagerank
- "time_added" - data dodania
- "site" - wartość SITE
- "points" - liczba punktów za domenę
- "points_loyalty" - liczba punktów lojalnościowych
- "points_main" - bonus za domenę główną
- "points_age" - bonus za staż domeny
- "show_links" - liczba wyświetlanych linków na domenie
- "show_texts" - pokazywanie tekstu przed/po (1 => tak, 0 => nie)
- "activated" - czy strona aktywna (0 => nieaktywna, 1 => aktywna, 2 => zbanowana)
- "outgoing" - ilość linków wychodzących z domeny (0 oznacza brak danych, 255 oznacza ponad 250 linków wychodzących)
- "backlink" - wartość Backlink

Pobieranie danych o przelewach

Aby pobrać dane o przelewach należy użyc parametru "type" i ustawić go na wartość "transfers".
Oprócz tego mamy dodatkowe opcjonalne parametry, które zostały przedstawione w tabeli poniżej.
Nazwa parametru Opis parametru Możliwa wartość Opis wartości Domyślnie
"order" Określa rodzaj sortowania "id" sortowanie wg. id "id"
"title" sortowanie wg. nazwy
"points" sortowanie wg. punktów
"send_date" sortowanie wg. daty wykonania przelewu
"cancel_date" sortowanie wg. daty zakończenia przelewu
"nick" sortowanie wg. nazwy odbiorcy
"order_type" Określa kierunek sortowania "asc" sortowanie rosnąco "asc"
"desc" sortowanie malejąco
Pobranie listy przelewów posortowanych wg daty zakończenia rosnąco
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'get', 'type' => 'transfers', 'return' => 'json', 'order' => 'cancel_date', 'order_type' => 'asc'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W odpowiedzi otrzymujemy dwie tablice ("in" oraz "out"), które zawierają listy przelewów odpowiednio przychodzących oraz wychodzących. Każdy rekord na liście zawiera następujące pola:
- "id" - identyfikator przelewu
- "title" - nazwa przelewu
- "points" - liczba przelanych punktów
- "send_date" - data wykonania przelewu w formacie UNIX_TIMESTAMP
- "cancel_date" - data zakończenia przelewu w formacie UNIX_TIMESTAMP (0 => przelew bezterminowy)
- "nick" - nazwa odbiorcy/nadawcy

Pobieranie danych o koncie

Aby pobrać dane o naszym koncie należy użyc parametru "type" i ustawić go na wartość "account".

Pobranie informacji o koncie
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'get', 'type' => 'account', 'return' => 'json'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W odpowiedzi otrzymujemy rekord zawierący następujące pola:
- "user_nick" - nazwa użytkownika
- "user_mail" - adres email
- "register_date" - data rejestracji w formacie UNIX_TIMESTAMP
- "points_domains" - liczba punktów za dodane domeny
- "points_partners" - liczba punktów z partnerów
- "points_transfers" - liczba punktów z przelewów (wartość ujemna oznacza, że mamy przelewy wychodzące)
- "points_loyalty" - liczba punktów za lojalność
- "points_age" - liczba punktów za staż domen
- "points_main" - liczba punktów za domeny główne
- "points_autolinker" - punkty pobrane za autolinkowanie
- "points_sum" - suma punktów
- "points_used" - punkty użyte na linki
- "points_left" - wolne punkty na koncie

Dodawanie

Aby dodawać dane należy użyc parametru "action" i ustawić go na wartość "add".

Dodawanie linków

Aby dodać nowy link należy użyc parametru "type" i ustawić go na wartość "links".
Lista parametrów przy dodawaniu linków:
Nazwa parametru Opis parametru Możliwa wartość Opis wartości Domyślnie
"link_type" Kategoria główna strony normal kategorie zwykłe parametr wymagany
"erotic" strony erotyczne
"bets" strony hazardowe
"category" Kategoria strony "1" kategoria: Gry parametr wymagany
w przypadku wyboru
kategorii głównej "normal"
"2" kategoria: Handel, Biznes, Ekonomia
"3" kategoria: Internet i Komputery
"4" kategoria: Katalogi Stron i Fora
"5" kategoria: Kultura i Sztuka
"6" kategoria: Loga, Dzwonki, Sms
"7" kategoria: Motoryzacja
"8" kategoria: Nauka, Edukacja, Przyroda
"9" kategoria: Media, Polityka, Społeczeństwo
"10" kategoria: Obcojęzyczne
"11" kategoria: Rozrywka i Hobby
"12" kategoria: Turystyka, Sport, Zdrowie
"13" kategoria: Inne
"group" Grupa, do której zostanie dodany link INT id grupy parametr wymagany
"anchor" Anchor STRING anchor linku parametr wymagany
"url" Url STRING url linku parametr wymagany
"title" Title STRING title linku parametr opcjonalny
"before" Tekst przed linkiem STRING tekst przed linkiem parametr opcjonalny
"after" Tekst po linku STRING tekst po linku parametr opcjonalny
"priority" Priorytet 1-10 priorytet linku 5
"bold" Pogrubienie "1" pogrubienie linku parametr opcjonalny
"stats" Statystyki "1" sprawdzanie pozycji dla wybranego linku parametr opcjonalny
Dodanie nowego linku, który będzie pogrubiony oraz będzie sprawdzana pozycja w wyszukiwarce, priorytet: 7, kategoria: Inne, numer grupy: 69
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'add', 'type' => 'links', 'link_type' => 'normal', 'category' => '13', 'group' => '69', 'anchor' => 'system wymiany linków', 'url' => 'www.gotlink.pl', 'title' => 'system wymiany linków', 'before' => 'Najlepszy', 'after' => 'w Polsce.', 'priority' => '7', 'bold' => '1', 'stats' => '1'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W przypadku sukcesu, w odpowiedzi dostajemy ID dodanego linku.

Dodawanie grup

Aby utworzyć nową grupę należy użyc parametru "type" i ustawić go na wartość "groups".
Lista parametrów przy dodawaniu grupy:
Nazwa parametru Opis parametru Możliwa wartość Opis wartości Domyślnie
"name" Nazwa grupy STRING nazwa tworzonej grupy parametr wymagany
"points" Liczba punktów przypisanych do grupy INT liczba punktów parametr opcjonalny, domyślnie 0
Przykład utworzenia nowej grupy i ustawienia dla niej 10.000 punktów
$data = array('username' => 'Login_Usera', 'password' => 'Hasło', 'action' => 'add', 'type' => 'groups', 'name' => 'Nowa grupa z API', 'points' => '10000'); $ch = curl_init('http://www.gotlink.pl/gotlink-api/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $response = curl_exec($ch); curl_close($ch);

W przypadku sukcesu, w odpowiedzi dostajemy ID utworzonej właśnie grupy.

Usuwanie

Aby usuwać dane należy użyc parametru "action" i ustawić go na wartość "delete".

Usuwanie linków

Aby usunąć link należy użyc parametru "type" i ustawić go na wartość "links".
Dodatkowo parametr "id" określa ID linku, który chcemy usunąć. Możemy usunąć więcej niż jeden link jednym zapytaniem, aby tego dokonać należy poszczególne ID linków oddzielić przecinkiem np. "54,58,89". W jednym zapytaniu można usunąć maksymalnie 50 linków.
W przypadku sukcesu, w odpowiedzi dostajemy komunikat "OK".

Usuwanie grup linków

Aby usunąć grupę oraz linki znajdujące się w niej należy użyc parametru "type" i ustawić go na wartość "groups".
Dodatkowo parametr "id" określa ID grupy, którą chcemy usunąć.
W przypadku sukcesu, w odpowiedzi dostajemy komunikat "OK".

Usuwanie wszystkich linków z grupy

Aby usunąć wszystkie linki znajdujące się w grupie należy użyc parametru "type" i ustawić go na wartość "groups", parametr "action" należy ustawić na wartość "clear". Jako parametr "id" podajemy numer grupy.
W przypadku sukcesu, w odpowiedzi dostajemy komunikat "OK".



Edycja

Aby edytować dane należy użyc parametru "action" i ustawić go na wartość "edit".

Edycja grupy

Aby edytować grupę należy ustawić parametr "type" na wartość "groups".
Dodatkowo parametr "id" określa ID grupy, którą chcemy modyfikować. Parametr "points" określa nową ilość punktów przypisanych do grupy.
W przypadku sukcesu, w odpowiedzi dostajemy komunikat "OK".