API - Informacje podstawowe

Komunikacja z serwisem porzez API polega na wysłaniu odpowiednich parametrów metodą POST w formacie JSON.
Adresy metod są dostępne pod adresami URL, wg. poniższej struktury: https://www.flypak.pl/api/{metoda}.json Do przygotowania parametrów do wysyłki w PHP można posłużyć się funkcją json_encode. Szczegółowe informacje dotyczące parametrów opisane są w dokumentacji przy każdej metodzie.

Request - autoryzacja

Każda metoda wymaga autoryzacji. Przy każdym request należy dołączyć pola [auth][login] oraz [auth][api_key]. Klucz autoryzacji API (api_key) można zdefiniować w formularzu edycji profilu."
authArrayDane autoryzacyjne
loginStringLogin (e-mail)
api_keyStringKlucz autoryzacji do API (api_key)

Response - sukces

successBooleanOkreśla czy metoda wykonała się poprawnie czy z błędami
dataArraySzczegółowe parametry odpowiedzi serwera

Przykład:

{
        "success":true,
        "data":{
                "bank_saldo":150.26
        }
}

Response - błąd

successBooleanOkreśla czy metoda wykonała się poprawnie czy z błędami
messageStringKomunikat błędu
dataArraySzczegółowe parametry odpowiedzi serwera
validationErrorsArrayKomunikaty błędów parametrów
weightArrayKomunikaty błędów pola
[ ]StringKomunikat błędu

Przykład:

{
        "success":false,
        "data":{
                "validationErrors":{
                        "weight":["Wprowadź wagę przesyłki"]
                }
        }
}

Przykładowy kod PHP

<?php 
$method 
'getBankSaldo';
$data['auth'] = array(
    
'login' => '[email protected]',
    
'api_key' => '********',
);
$data_string json_encode($data);

$ch curl_init('https://www.flypak.pl/api/'.$method.'.json');
curl_setopt($chCURLOPT_CUSTOMREQUEST"POST");
curl_setopt($chCURLOPT_POSTFIELDS$data_string);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' strlen($data_string),
));
$response curl_exec($ch);

$jsonData json_decode(trim($response), true);
echo 
'<h3>RESPONSE</h3>';
if (
$jsonData && json_last_error() == JSON_ERROR_NONE) {
    
print_r($jsonData);
}else{
    echo 
$response;
}
 
?>