Przejdź do głównej treści

API


System Ready_™ udostępnia API (Application Programming Interface) w standardzie REST, dzięki któremu jesteśmy w stanie przeprowadzać podstawowe czynności. Usługa jest zabezpieczona tokenem autoryzującym (Bearer Token), który uzyskujemy przy logowaniu za pomocą nazwy użytkownika i hasła, a następnie dodajemy nagłówek wg dokumentacjiopen in new window, gdzie zamieniamy na token otrzymany po zalogowaniu.

Komunikacja

W poniższej dokumentacji oraz w OpenApi nasze endpointy zaczynają się od frazy /v1 lub /custom, przed którą należy dokleić do adres domeny na której znajduje się platforma Ready_ oraz /api.php/REST.

Przykład: Adres serwera: https://my-cloud.cloud.ready-os.com Endpoint: /v1/login

Pełny adres endpointu: https://my-cloud.cloud.ready-os.com/api.php/REST/v1/login

Przykład komunikacji

Logowanie

Logujemy się do api aby pobrać token uwierzytelnienia tzw. "Bearer token". Ważne jest aby w request'cie umieścić login $username, hasło $password i stałą cześć URL $baseURL, która składa się z nazwy domeny i części stałej "/api.php/REST".

PHP cURL
<?php

$curl = curl_init();

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/login',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
  "username": '.$username.',
  "password": '.$password.'
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Accept: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Po wysłaniu request'a otrzymamy $bearerToken, który następnie dołączamy do każdego następnego zapytania.

Listowanie dostępnych dokumentów

PHP cURL
<?php

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/documents',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
    'Authorization: Bearer '.$bearerToken,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Pobieranie Listy załącznika konkretnego dokumentu.

wypełniamy parametr $doc_id identyfikatorem (integer) dokumentu z którego chcemy pobrać załączniki.

PHP cURL
<?php

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$doc_id = 1 // identyfikator dokumentu
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/documents/'.$doc_id.'/attachments',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
    'Authorization: Bearer '.$bearerToken,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Szukanie klienta o podanej nazwie

PHP cURL
<?php

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$nazwaKlienta = "Symfonia"
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/contacts?_search='.$nazwaKlienta,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
    'Authorization: Bearer '.$bearerToken,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Tworzenie dokumentu wraz z dodaniem załącznika.

Tworzymy dokument typu notatka.

PHP cURL
<?php

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/documents',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "dctpid": 4,
    "dscrpt": "Temat notatki"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer '.$bearerToken,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

W response body dostaniemy parametr $doc_id. Użyjemy go w następnym request'cie do dodania załącznika do dokumentu typu notatka.

PHP cURL
<?php

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$doc_id = 1 // identyfikator dokumentu
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/documents/'.$doc_id.'/attachments',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('file_1'=> new CURLFILE('/path/to/my/attachment')),
  CURLOPT_HTTPHEADER => array(
    'Content-Type: multipart/form-data',
    'Accept: application/json',
    'Authorization: Bearer '.$bearerToken,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


Wylogowanie się

PHP cURL
<?php

$myReadyDomain = 'twoja/domena/do/ready';
$baseUrl = 'https://'. $myReadyDomain .'/api.php/REST';
$bearerToken = 'wklej tu token z odpowiedzi pierwszego requesta. Sekcja Logowanie';

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => $baseUrl.'/v1/logout',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Accept: application/json',
    'Authorization: Bearer '.$bearerToken,
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;