Ogólnie tak wygląda przykładowe zapytanie aby uzyskać kod EUP
curl -X 'POST' 'https://test-bdo.mos.gov.pl/api/WasteRegister/v1/Auth/getEupList' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"ClientId": "apiID", "ClientSecret": "apiSecret", "PaginationParameters": {"Order": { "IsAscending": true}, "Page": { "Index": 0, "Size": 0 }}}'
Size: 0 to tylko 1 rekord.
Poniżej kod PHP, rozszerzony o odczyt nagłówków jakie przychodzą i wychodzą, w każdym razie teraz działa. Oczywiście wykluczyłem z kodu moje dostępy.
function getCURL($url, $json) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$verbose = fopen('php://temp', 'rw+'); curl_setopt($ch, CURLOPT_STDERR, $verbose);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($json));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'accept: application/json'
]);
$response = curl_exec($ch);
if ($response === false) {
echo 'Błąd cURL: ' . curl_error
($ch); } else {
$verboseLog = stream_get_contents($verbose);
// Wyświetlenie całej odpowiedzi
echo "\n\nCała odpowiedź:\n";
// Podział odpowiedzi na nagłówki i treść
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0
, $header_size); $body = substr($response, $header_size);
// Wyświetlenie nagłówków i treści
echo "\n\nNagłówki zwrotne, size: {$header_size}:\n";
echo "\n\nTreść odpowiedzi:\n"; }
curl_close($ch);
}
$url = "https://test-bdo.mos.gov.pl/api/WasteRegister/v1/Auth/getEupList";
$json = new stdClass;
$json->ClientId = "apiId";
$json->ClientSecret = "apiSecret";
$getEupList = clone($json);
$getEupList->PaginationParameters = new stdClass;
$getEupList->PaginationParameters->Order = new stdClass;
$getEupList->PaginationParameters->Order->IsAscending = true;
$getEupList->PaginationParameters->Page = new stdClass;
$getEupList->PaginationParameters->Page->Index = 0;
$getEupList->PaginationParameters->Page->Size = 10;
getCURL("https://test-bdo.mos.gov.pl/api/WasteRegister/v1/Auth/getEupList", $getEupList);
Ciekawostką jest to, że limit miejsc do platformy testowej jest ograniczona. Czyli jeżeli jakaś firma nie zgłosi zakończenia projektu, to nie dadzą dostępu kolejnej firmie która chce dokonać testowych prac na API.