Jak przygotować zapytanie API?

W zapytaniu do naszego serwera należy przygotować specjalne nagłówki tego zapytania (Headers - https://developer.mozilla.org/en-US/docs/Glossary/Request_header ). Dane do tego zapytania są dostępne na stronie włączania API (Jak włączyć API?) (1) i (2).

Dane mają postać:

  • X-API-KEY - to wartość pola Klucz do API
  • X-SUBDOMENA - to wartość pola Nazwa konta

Przykładowy kod w języku php z zapytaniem z wykorzystaniem biblioteki Guzzle - https://docs.guzzlephp.org/en/stable/ może wyglądać tak:

<?php

  $client = new \GuzzleHttp\Client();

  $httpHeader = [
      'X-API-KEY'   => 'klucz', // podstaw odpowiednie dane
      'X-SUBDOMENA' => 'demo', // podstaw odpowiednie dane
  ];
  $metoda = 'GET'; // metoda zapytania
  $url = 'https://api.infirma.pl/api/klienci'; // adres zapytania
  $params = []; // tutaj można podać parametry zapytania
  $request = new \GuzzleHttp\Psr7\Request($metoda, $url, $httpHeader); // przygotowanie zapytania

  try {
      $options = [];
      if ($metoda === 'POST' && $params) {
          $options[GuzzleHttp\RequestOptions::JSON] = $params;
      } else if ($metoda === 'GET' && $params) {
          $options[GuzzleHttp\RequestOptions::QUERY] = $params;
      }
      $resp = $client->send($request, $options);
  } catch (\GuzzleHttp\Exception\RequestException $e) {
      if ($e->hasResponse()) {
          $resp = $e->getResponse();
      } else {
          throw new \Exception('Brak odpowiedzi');
      }
  } catch (\Exception $e) {
      // jest błąd
  }
  $json = json_decode($resp->getBody()->getContents(), true); // dane z zapytania

?>