Példakódok
A példakódokok PHP 8.1-ben, Guzzle 7.5 segítségével készültek.
Autentikáció
Bejelentkezés e-mail címmel és jelszóval
A bejelentkezéshez a /authentication/login
-ra kell küldeni egy application/x-www-form-urlencoded
formátumú POST üzenetet.
Példa:
$client = new GuzzleHttp\Client();
$email = "[email protected]";
$password = "test123";
try {
$response = $client->post('https://devapi.ilogistic.eu/authentication/login', [
'form_params' => [
"Email" => $email,
"Password" => $password,
]
]);
$statusCode = $response->getStatusCode();
$token = json_decode(
$response->getBody()->getContents()
)->token;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Post üzenet elküldése az API számára:
$response = $client->post('https://devapi.ilogistic.eu/authentication/login', [
'form_params' => [
"Email" => $email,
"Password" => $password,
]
]);
A GuzzleHttp\Client
típusú $client
, post()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a form_params
indexű elemében található tömb tartalmazza a bejelentkezési adatokat.
A tömb Email
indexű eleme a felhasználó e-mail címét, a Password
indexű eleme pedig
a felhasználó jelszavát tartalmazza.
Válasz feldolgozása:
$statusCode = $response->getStatusCode();
$token = json_decode(
$response->getBody()->getContents()
)->token;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getStatusCode()
függvényével kaphatjuk meg az API által küldött HTTP
válasz státusz kódját.
A $response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum token
tulajdonsága tartalmazza a bejelentkezés során kapott tokent.
Hibakezelés:
catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
A catch
segítségével elkapjuk a kérés elküldése során keletkezett hibákat, amik
GuzzleHttp\Exception\RequestException
tipusúak. Az $exception
változó getCode()
függvényével kapjuk
meg az API által küldött HTTP válasz státusz kódját.
Az $exception
getResponse()
függvénnyel megkaphatjuk az API által küldött választ, amin a getBody()->getContents()
függvényeket meghívva megkapjuk a body
-t json
formátumban. Ezt a json_decode()
függvénnyel feldolgozva
egy olyan objektumot kapunk, aminek az error
tulajdonsága tartalmazza a hibaüzenetet.
Hitelesítés tokennel
Ha már van egy tokenünk, akkor egy /authentication/auth
-ra küldött GET
üzenettel kérhetünk új tokent.
Példa:
$client = new GuzzleHttp\Client();
try {
$response = $client->get('https://devapi.ilogistic.eu/authentication/login', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$token = json_decode(
$response->getBody()->getContents()
)->token;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Get üzenet küldése az API számára:
$response = $client->get('https://devapi.ilogistic.eu/authentication/login', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Válasz feldolgozása:
$statusCode = $response->getStatusCode();
$token = json_decode(
$response->getBody()->getContents()
)->token;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum token
tulajdonsága tartalmazza az új tokent.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Token érvényességének ellenőrzése
A token érvényességét a /authentication/validate
-re küldött GET
üzenettel lehet ellenőrizni.
Példa:
$client = new GuzzleHttp\Client();
try {
$response = $client->get('https://devapi.ilogistic.eu/authentication/validate', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$isValid = json_decode(
$response->getBody()->getContents()
)->valid;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Get üzenet küldése az API számára:
$response = $client->get('https://devapi.ilogistic.eu/authentication/validate', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval. (Ennek a tokennek az érvényessége lesz ellenőrizve.)
Válasz feldolgozása:
$statusCode = $response->getStatusCode();
$isValid = json_decode(
$response->getBody()->getContents()
)->valid;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektumnak, a bool
típusú, valid
tulajdonsága jelzi, hogy érvényes-e a token.
(Ha true
akkor érvényes, ha false
akkor érvénytelen a token.)
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Rendelések
Rendelések lekérdezése
A rendelések lekérdezéséhez az /orders/orders
-re kell küldeni egy GET
kérést.
Példa:
$client = new GuzzleHttp\Client();
try {
$response = $client->get('https://devapi.ilogistic.eu/orders/orders', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$orders = json_decode(
$response->getBody()->getContents()
);
$firstOrder = $orders[0];
foreach ($orders as $order){
echo $order->id;
}
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
A rendelések lekérdezése az API-tól:
$response = $client->get('https://devapi.ilogistic.eu/orders/orders', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API-tól kapott válasz feldolgozása:
$orders = json_decode(
$response->getBody()->getContents()
);
$firstOrder = $orders[0];
foreach ($orders as $order){
$orderId = $order->id;
}
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott array
-t, ami tartalmazza a megrendeléseket, az $orders
változóba mentettük el.
Ennek az array
-nek kivehetjük tetszőleges indexű elemét, úgy, mint ahogy a $firstOrder
változóba kivettük
az array
első elemét.
Egy foreach
-el végig mehetünk az $orders
összes elemén, és ahhoz hasonlóan, ahogy a példában
elértük az egyes rendelések id
-ját, elérjük a rendelések többi tulajdonságát is.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Rendelés létrehozása
Egy új rendelés létrehozásához az /orders/orders
-re kell küldeni egy POST
üzenetet, ami a
body
-jában tartalmazza az új rendelés adatait json
formátumban.
Példa:
$client = new GuzzleHttp\Client();
try {
$newOrderJson = json_encode(
[
'foreignId' => 'I-24532',
'delivery' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HU',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
'company' => 'GLS',
'aptNumber' => 'GLS-123g31G',
],
'billing' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HUN',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
],
'payment' => [
'type' => 'Utánvétes fizetés',
'cost' => 1000,
],
'content' => [
[
'itemNumber' => '00149978438',
'quantity' => 2,
],
],
]
);
$response = $client->post('https://devapi.ilogistic.eu/orders/orders', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $newOrderJson
]);
$statusCode = $response->getStatusCode();
$newOrderId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Az új rendelést tartalmazó JSON létrehozása
$newOrderJson = json_encode(
[
'foreignId' => 'I-24532',
'delivery' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HU',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
'company' => 'GLS',
'aptNumber' => 'GLS-123g31G',
],
'billing' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HUN',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
],
'payment' => [
'type' => 'Utánvétes fizetés',
'cost' => 1000,
],
'content' => [
[
'itemNumber' => '00149978438',
'quantity' => 2,
],
],
]
);
Létrehozunk egy tömböt, ami tartalmazza a létrehozandó rendelés adatait. Ezt a json_encode()
függvény segítségével
átalakítjuk egy JSON
formátumú string
-re, amit eltárolunk a $newOrderJson
változóba.
A rendelés létrehozásához szükséges POST
üzenet elküldése:
$response = $client->post('https://devapi.ilogistic.eu/orders/orders', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $newOrderJson
]);
A GuzzleHttp\Client
típusú $client
, post()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében a HTTP fejléc adatai, a body
indexű elemében pedig az üzenet body-ja található,
amit a már korábban létrehozott $newOrderJson
változó tartalmaz.
A HTTP fejléc adatai egy tömbben vannak, melynek az Authorization
indexű eleme tartalmazza
a token típusát jelző "Bearer " stringet összefűzve az autentikációhoz szükséges tokent tartalmazó $token
változóval, a Content-Type
indexű eleme pedig meghatározza, hogy a kérés body-ja JSON formátumú.
Az API által küldött válasz feldolgozása:
$newOrderId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a létrehozott rendelés azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Megrendelés lekérdezése azonosító alapján
Egy megrendelés lekérdezéséhez az /orders/order/{id}
címre kell küldeni egy GET
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a lekérdezni kívánt megrendelés azonosítóját (id
).
Példa:
$client = new GuzzleHttp\Client();
$orderId = 55162;
try {
$response = $client->get('https://devapi.ilogistic.eu/orders/order/' . $orderId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$order = json_decode(
$response->getBody()->getContents()
);
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
GET üzenet elküldése a megrendelés lekérdezéséhez:
$response = $client->get('https://devapi.ilogistic.eu/orders/order/' . $orderId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a lekérdezni kívánt megrendelés azonosítója, amit a példában az $orderId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API által küldött válasz feldolgozása:
$order = json_decode(
$response->getBody()->getContents()
);
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum tartalmazza a lekérdezett megrendelést.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Megrendelés módosítása
Egy megrendelés módosításához a /orders/order/{id}
címre kell küldeni egy PATCH
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a módosítani kívánt megrendelés azonosítóját (id
), a body-jába pedig
a megrendelés, módosítani kívánt adatait kell helyezni, JSON
formátumban.
Példa:
$client = new GuzzleHttp\Client();
$orderId = 55162;
try {
$editedOrderJson = json_encode(
[
'foreignId' => 'ss',
'delivery' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HU',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
'company' => 'GLS',
'aptNumber' => 'GLS-123g31G',
],
'billing' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HUN',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
],
'payment' => [
'type' => 'Utánvétes fizetés',
'cost' => 1000,
],
'content' => [
[
'itemNumber' => '1234566789',
'quantity' => 2,
],
],
]
);
$response = $client->patch('https://devapi.ilogistic.eu/orders/order/' . $orderId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $editedOrderJson,
]);
$statusCode = $response->getStatusCode();
$editedOrderId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Az rendelés módosítani kívánt adatait tartalmazó JSON létrehozása:
$editedOrderJson = json_encode(
[
'foreignId' => 'ss',
'delivery' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HU',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
'company' => 'GLS',
'aptNumber' => 'GLS-123g31G',
],
'billing' => [
'name' => 'Teszt Elek',
'email' => '[email protected]',
'phoneNumber' => '+36701234567',
'country' => 'HUN',
'postCode' => '1234',
'city' => 'Budapest',
'address' => 'Petőfi Sándor u. 4.',
],
'payment' => [
'type' => 'Utánvétes fizetés',
'cost' => 1000,
],
'content' => [
[
'itemNumber' => '1234566789',
'quantity' => 2,
],
],
]
);
Létrehozunk egy tömböt, ami tartalmazza a módosítandó rendelés azon adatait, amiket módosítani szeretnénk.
Ezt a json_encode()
függvény segítségével átalakítjuk egy JSON
formátumú string
-re,
amit eltárolunk a $editedOrderJson
változóban.
A rendelés módosításához szükséges PATCH
üzenet elküldése:
$response = $client->patch('https://devapi.ilogistic.eu/orders/order/' . $orderId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $editedOrderJson,
]);
A GuzzleHttp\Client
típusú $client
, patch()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a módosítani kívánt megrendelés azonosítója, amit a példában az $orderiD
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében a HTTP fejléc adatai, a body
indexű elemében pedig az üzenet body-ja található,
amit a már korábban létrehozott $editedOrderJson
változó tartalmaz.
A HTTP fejléc adatai egy tömbben vannak, melynek az Authorization
indexű eleme tartalmazza
a token típusát jelző "Bearer " stringet összefűzve az autentikációhoz szükséges tokent tartalmazó $token
változóval, a Content-Type
indexű eleme pedig meghatározza, hogy a kérés body-ja JSON formátumú.
Az API által küldött válasz feldolgozása:
$editedOrderId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a módosított rendelés azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Megrendelés törlése
Egy megrendelés törléséhez az /orders/order/{id}
címre kell küldeni egy DELETE
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a törölni kívánt megrendelés azonosítóját (id
).
Példa:
$client = new GuzzleHttp\Client();
$orderId = 55162;
try {
$response = $client->delete('https://devapi.ilogistic.eu/orders/order/' . $orderId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$deletedOrderId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
DELETE üzenet elküldése a megrendelés törléséhez:
$response = $client->delete('https://devapi.ilogistic.eu/orders/order/' . $orderId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, delete()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a törölni kívánt megrendelés azonosítója, amit a példában az $orderId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API által küldött válasz feldolgozása:
$deletedOrderId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a törölt rendelés azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Termékek
Termékek lekérdezése
A termékek lekérdezéséhez a /products/products
-re kell küldeni egy GET
kérést.
Példa:
$client = new GuzzleHttp\Client();
try {
$response = $client->get('https://devapi.ilogistic.eu/products/products', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$products = json_decode(
$response->getBody()->getContents()
);
$firstProduct = $products[0];
foreach ($products as $product){
$productId = $product->id;
}
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
A termékek lekérdezése az API-tól:
$response = $client->get('https://devapi.ilogistic.eu/products/products', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API-tól kapott válasz feldolgozása:
$products = json_decode(
$response->getBody()->getContents()
);
$firstProduct = $products[0];
foreach ($products as $product){
$productId = $product->id;
}
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott array
-t, ami tartalmazza a termékeket, a $products
változóba mentettük el.
Ennek az array
-nek kivehetjük tetszőleges indexű elemét, úgy, mint ahogy a $firstProduct
változóba kivettük
az array
első elemét.
Egy foreach
-el végig mehetünk az $products
összes elemén, és ahhoz hasonlóan, ahogy a példában
elértük az egyes termékek id
-ját, elérjük a termékek többi tulajdonságát is.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Termék létrehozása
Egy új termék létrehozásához az /products/products
-re kell küldeni egy POST
üzenetet, ami a
body
-jában tartalmazza az új termék adatait json
formátumban.
Példa:
$client = new GuzzleHttp\Client();
try {
$newProductJson = json_encode(
[
'itemNumber' => 'Tej-9761',
'barCode' => [
"5998900130062",
"5998900130063",
],
'name' => 'Teszt Sajt',
'type' => 'Tej,',
'category' => 'termek',
'weight' => 11,
'width' => 25,
'depth' => 10,
'height' => 45,
'fragile' => 1,
'price' => 350,
'hasSerial' => false,
'hasExpirationDate' => false,
'tax' => 27,
'critical' => 10,
]
);
$response = $client->post('https://devapi.ilogistic.eu/products/products', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $newProductJson,
]);
$statusCode = $response->getStatusCode();
$newProductId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Az új terméket tartalmazó JSON létrehozása
$newProductJson = json_encode(
[
'itemNumber' => 'Tej-9761',
'barCode' => [
"5998900130062",
"5998900130063",
],
'name' => 'Teszt Sajt',
'type' => 'Tej,',
'category' => 'termek',
'weight' => 11,
'width' => 25,
'depth' => 10,
'height' => 45,
'fragile' => 1,
'price' => 350,
'hasSerial' => false,
'hasExpirationDate' => false,
'tax' => 27,
'critical' => 10,
]
);
Létrehozunk egy tömböt, ami tartalmazza a létrehozandó termék adatait. Ezt a json_encode()
függvény segítségével
átalakítjuk egy JSON
formátumú string
-re, amit eltárolunk a $newProductJson
változóba.
A termék létrehozásához szükséges POST
üzenet elküldése:
$response = $client->post('https://devapi.ilogistic.eu/products/products', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $newProductJson,
]);
A GuzzleHttp\Client
típusú $client
, post()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében a HTTP fejléc adatai, a body
indexű elemében pedig az üzenet body-ja található,
amit a már korábban létrehozott $newProductJson
változó tartalmaz.
A HTTP fejléc adatai egy tömbben vannak, melynek az Authorization
indexű eleme tartalmazza
a token típusát jelző "Bearer " stringet összefűzve az autentikációhoz szükséges tokent tartalmazó $token
változóval, a Content-Type
indexű eleme pedig meghatározza, hogy a kérés body-ja JSON formátumú.
Az API által küldött válasz feldolgozása:
$newProductId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a létrehozott termék azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Termék lekérdezése azonosító alapján
Egy termék lekérdezéséhez az /products/product/{id}
címre kell küldeni egy GET
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a lekérdezni kívánt termék azonosítóját (id
).
Példa:
$client = new GuzzleHttp\Client();
$productId = 3022266;
try {
$response = $client->get('https://devapi.ilogistic.eu/products/product/' . $productId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$product = json_decode(
$response->getBody()->getContents()
)[0];
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
GET üzenet elküldése a termék lekérdezéséhez:
$response = $client->get('https://devapi.ilogistic.eu/products/product/' . $productId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a lekérdezni kívánt termék azonosítója, amit a példában az $productId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API által küldött válasz feldolgozása:
$product = json_decode(
$response->getBody()->getContents()
)[0];
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Így egy array
-t kapunk, aminek az első eleme a lekérdezett terméket tartalmazó objektum.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Termék módosítása
Egy termék módosításához a /products/product/{id}
címre kell küldeni egy PATCH
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a módosítani kívánt termék azonosítóját (id
), a body-jába pedig
a megrendelés, módosítani kívánt adatait kell helyezni, JSON
formátumban.
Példa:
$client = new GuzzleHttp\Client();
$productId = 3022266;
try {
$editedProductJson = json_encode(
[
'itemNumber' => 'Tej-9761',
'barCode' => [
"5998900130062",
"5998900130063",
],
'name' => 'Teszt Sajt',
'type' => 'Tej,',
'category' => 'termek',
'weight' => 11,
'width' => 25,
'depth' => 10,
'height' => 45,
'fragile' => 1,
'price' => 350,
'hasSerial' => false,
'hasExpirationDate' => false,
'tax' => 27,
'critical' => 10,
'bundleDescription' => 'Wrap it with green paper.',
'needsPackage' => true,
'contents' => [
[
'itemNumber' => '00149978438',
'quantity' => 2,
]
],
]
);
$response = $client->patch('https://devapi.ilogistic.eu/products/product/' . $productId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $editedProductJson,
]);
$statusCode = $response->getStatusCode();
$editedProductId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
A termék módosítani kívánt adatait tartalmazó JSON létrehozása:
$editedProductJson = json_encode(
[
'itemNumber' => 'Tej-9761',
'barCode' => [
"5998900130062",
"5998900130063",
],
'name' => 'Teszt Sajt',
'type' => 'Tej,',
'category' => 'termek',
'weight' => 11,
'width' => 25,
'depth' => 10,
'height' => 45,
'fragile' => 1,
'price' => 350,
'hasSerial' => false,
'hasExpirationDate' => false,
'tax' => 27,
'critical' => 10,
'bundleDescription' => 'Wrap it with green paper.',
'needsPackage' => true,
'contents' => [
[
'itemNumber' => '00149978438',
'quantity' => 2,
]
],
]
);
Létrehozunk egy tömböt, ami tartalmazza a módosítandó termék azon adatait, amiket módosítani szeretnénk.
Ezt a json_encode()
függvény segítségével átalakítjuk egy JSON
formátumú string
-re,
amit eltárolunk a $editedProductJson
változóban.
A termék módosításához szükséges PATCH
üzenet elküldése:
$response = $client->patch('https://devapi.ilogistic.eu/products/product/' . $productId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $editedProductJson,
]);
A GuzzleHttp\Client
típusú $client
, patch()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a módosítani kívánt termék azonosítója, amit a példában a $productId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében a HTTP fejléc adatai, a body
indexű elemében pedig az üzenet body-ja található,
amit a már korábban létrehozott $editedProductJson
változó tartalmaz.
A HTTP fejléc adatai egy tömbben vannak, melynek az Authorization
indexű eleme tartalmazza
a token típusát jelző "Bearer " stringet összefűzve az autentikációhoz szükséges tokent tartalmazó $token
változóval, a Content-Type
indexű eleme pedig meghatározza, hogy a kérés body-ja JSON formátumú.
Az API által küldött válasz feldolgozása:
$editedProductId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a módosított termék azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Bevételezés
Beszállítások lekérdezése
A beszállítások lekérdezéséhez a /inward-handling
-re kell küldeni egy GET
kérést.
Példa:
$client = new GuzzleHttp\Client();
try {
$response = $client->get('https://devapi.ilogistic.eu/inward-handling', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$shipments = json_decode(
$response->getBody()->getContents()
);
$firstShipment = $shipments[0];
foreach ($shipments as $shipment){
$shipmentId = $shipment->id;
}
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
A beszállítások lekérdezése az API-tól:
$response = $client->get('https://devapi.ilogistic.eu/inward-handling', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API-tól kapott válasz feldolgozása:
$shipments = json_decode(
$response->getBody()->getContents()
);
$firstShipment = $shipments[0];
foreach ($shipments as $shipment){
$shipmentId = $shipment->id;
}
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott array
-t, ami tartalmazza a beszállításokat, a $shipments
változóba mentettük el.
Ennek az array
-nek kivehetjük tetszőleges indexű elemét, úgy, mint ahogy a $firstShipment
változóba kivettük
az array
első elemét.
Egy foreach
-el végig mehetünk az $shipments
összes elemén, és ahhoz hasonlóan, ahogy a példában
elértük az egyes beszállítások id
-ját, elérjük a beszállítások többi tulajdonságát is.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Beszállítás létrehozása
Egy új beszállítás létrehozásához az /inward-handling
-re kell küldeni egy POST
üzenetet, ami a
body
-jában tartalmazza az új beszállítás adatait json
formátumban.
Példa:
$client = new GuzzleHttp\Client();
try {
$newShipmentJson = json_encode(
[
'name' => 'Szótárak beszállítás',
'estimatedArrival' => '2021-05-28',
'urgent' => false,
'description' => 'Ebben a beszállításban angol-magyar szótárak érkeznek.',
'contents' => [
[
'itemNumber' => '442345522',
'estimated' => 2,
],
],
]
);
$response = $client->post('https://devapi.ilogistic.eu/inward-handling', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $newShipmentJson,
]);
$statusCode = $response->getStatusCode();
$newShipmentId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
Az új beszállítást tartalmazó JSON létrehozása
$newShipmentJson = json_encode(
[
'name' => 'Szótárak beszállítás',
'estimatedArrival' => '2021-05-28',
'urgent' => false,
'description' => 'Ebben a beszállításban angol-magyar szótárak érkeznek.',
'contents' => [
[
'itemNumber' => '442345522',
'estimated' => 2,
],
],
]
);
Létrehozunk egy tömböt, ami tartalmazza a létrehozandó beszállítás adatait. Ezt a json_encode()
függvény segítségével
átalakítjuk egy JSON
formátumú string
-re, amit eltárolunk a $newShipmentJson
változóba.
A beszállítás létrehozásához szükséges POST
üzenet elküldése:
$response = $client->post('https://devapi.ilogistic.eu/inward-handling', [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $newShipmentJson,
]);
A GuzzleHttp\Client
típusú $client
, post()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát,
a második paraméterében pedig egy tömböt adunk meg, melynek a headers
indexű elemében a HTTP fejléc adatai, a body
indexű elemében pedig az üzenet body-ja található,
amit a már korábban létrehozott $newShipmentJson
változó tartalmaz.
A HTTP fejléc adatai egy tömbben vannak, melynek az Authorization
indexű eleme tartalmazza
a token típusát jelző "Bearer " stringet összefűzve az autentikációhoz szükséges tokent tartalmazó $token
változóval, a Content-Type
indexű eleme pedig meghatározza, hogy a kérés body-ja JSON formátumú.
Az API által küldött válasz feldolgozása:
$newShipmentId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a létrehozott beszállítás azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Beszállítás módosítása
Egy beszállítás módosításához a /inward-handling/{id}
címre kell küldeni egy PATCH
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a módosítani kívánt beszállítás azonosítóját (id
), a body-jába pedig
a beszállítás, módosítani kívánt adatait kell helyezni, JSON
formátumban.
Példa:
$client = new GuzzleHttp\Client();
$shipmentId = 1;
try {
$editedShipmentJson = json_encode(
[
'name' => 'Szótárak beszállítás',
'estimatedArrival' => '2021-05-28',
'urgent' => false,
'description' => 'Ebben a beszállításban angol-magyar szótárak érkeznek.',
'contents' => [
[
'itemNumber' => '442345522',
'estimated' => 2,
],
],
]
);
$response = $client->patch('https://devapi.ilogistic.eu/inward-handling/' . $shipmentId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $editedShipmentJson,
]);
$statusCode = $response->getStatusCode();
$editedShipmentId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
A beszállítás módosítani kívánt adatait tartalmazó JSON létrehozása:
$editedShipmentJson = json_encode(
[
'name' => 'Szótárak beszállítás',
'estimatedArrival' => '2021-05-28',
'urgent' => false,
'description' => 'Ebben a beszállításban angol-magyar szótárak érkeznek.',
'contents' => [
[
'itemNumber' => '442345522',
'estimated' => 2,
],
],
]
);
Létrehozunk egy tömböt, ami tartalmazza a módosítandó beszállítás azon adatait, amiket módosítani szeretnénk.
Ezt a json_encode()
függvény segítségével átalakítjuk egy JSON
formátumú string
-re,
amit eltárolunk a $editedShipmentJson
változóban.
A beszállítás módosításához szükséges PATCH
üzenet elküldése:
$response = $client->patch('https://devapi.ilogistic.eu/inward-handling/' . $shipmentId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
'Content-Type' => 'application/json',
],
'body' => $editedShipmentJson,
]);
A GuzzleHttp\Client
típusú $client
, patch()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a módosítani kívánt beszállítás azonosítója, amit a példában a $shipmentId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében a HTTP fejléc adatai, a body
indexű elemében pedig az üzenet body-ja található,
amit a már korábban létrehozott $editedShipmentJson
változó tartalmaz.
A HTTP fejléc adatai egy tömbben vannak, melynek az Authorization
indexű eleme tartalmazza
a token típusát jelző "Bearer " stringet összefűzve az autentikációhoz szükséges tokent tartalmazó $token
változóval, a Content-Type
indexű eleme pedig meghatározza, hogy a kérés body-ja JSON formátumú.
Az API által küldött válasz feldolgozása:
$editedShipmentId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a módosított beszállítás azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Beszállítás lekérdezése azonosító alapján
Egy beszállítás lekérdezéséhez az /inward-handling/{id}
címre kell küldeni egy GET
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a lekérdezni kívánt beszállítás azonosítóját (id
).
Példa:
$client = new GuzzleHttp\Client();
$shipmentId = 1;
try {
$response = $client->get('https://devapi.ilogistic.eu/inward-handling/' . $shipmentId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$shipment = json_decode(
$response->getBody()->getContents()
);
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
GET üzenet elküldése a beszállítás lekérdezéséhez:
$response = $client->get('https://devapi.ilogistic.eu/inward-handling/' . $shipmentId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, get()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a lekérdezni kívánt beszállítás azonosítója, amit a példában az $shipmentId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API által küldött válasz feldolgozása:
$shipment = json_decode(
$response->getBody()->getContents()
);
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum tartalmazza a lekérdezett beszállítást.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.
Beszállítás törlése
Egy beszállítás törléséhez az /inward-handling/{id}
címre kell küldeni egy DELETE
kérést, ahol a címben szereplő
{id}
helyére kell beilleszteni a törölni kívánt beszállítás azonosítóját (id
).
Példa:
$client = new GuzzleHttp\Client();
$shipmentId = 1;
try {
$response = $client->delete('https://devapi.ilogistic.eu/inward-handling/' . $shipmentId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
$statusCode = $response->getStatusCode();
$deletedShipmentId = json_decode(
$response->getBody()->getContents()
)->id;
} catch (GuzzleHttp\Exception\RequestException $exception) {
$statusCode = $exception->getCode();
$errorMessage = json_decode(
$exception->getResponse()->getBody()->getContents()
)->error;
}
DELETE üzenet elküldése a beszállítás törléséhez:
$response = $client->delete('https://devapi.ilogistic.eu/inward-handling/' . $shipmentId, [
'headers' => [
'Authorization' => 'Bearer ' . $token,
]
]);
A GuzzleHttp\Client
típusú $client
, delete()
függvényével elküldünk egy kérést.
A függvény első paraméterében megadjuk az API végpont elérési útvonalát, aminek a végén szerepel
a törölni kívánt megrendelés azonosítója, amit a példában az $shipmentId
változó tartalmaz.
A második paraméterében egy tömböt adunk meg, melynek a headers
indexű elemében található tömb tartalmazza a HTTP fejléc adatait.
A tömb Authorization
indexű eleme tartalmazza a token típusát jelző "Bearer " stringet összefűzve
az autentikációhoz szükséges tokent tartalmazó $token
változóval.
Az API által küldött válasz feldolgozása:
$deletedShipmentId = json_decode(
$response->getBody()->getContents()
)->id;
A kérésre kapott választ tartalmazó Psr\Http\Message\ResponseInterface
típusú
$response
változó getBody()
függvényének visszatérési értéke \Psr\Http\Message\StreamInterface
típusú, aminek a getContents()
függvényével megkapjuk az API által küldött válasz body-ját string
-ként.
Ez a string
json
formátumú, amit a json_decode()
függvény segítségével tudunk feldolgozni.
Az így kapott objektum id
tulajdonsága tartalmazza a törölt beszállítás azonosítóját.
Az API által adott válasz, HTTP státuszkódjának lekérdezése és a hibakezelés már részletesen bemutatásra került a Bejelentkezés e-mail címmel és jelszóval fejezetben.