ixxilon Apothekenservice
Die api zur product-list

 

Das Code-Beispiel für den Zugriff auf die IXXILON-API

Über diese API können alle Produkte abgerufen werden. Dieser Abruf liefert zu allen Produkten nur die Produkt ID. In einem separaten Abruf (Link unter dem Code-Bsp.) werden dann alle Produktinformationen abgerufen.

<?php
$access_token = 'YOURACCESSTOKENXX123';
$api_url_product_list = 'https://api.ixxilon-apothekenservice.de/api/products?pagination=false';

$headers = [];
$headers[] = 'Accept: application/ld+json';
$headers[] = 'Content-Type: application/json';
$headers[] = "X-AUTH-TOKEN: $access_token";


/**
 * RETRIEVE PRODUCT LIST
 */
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $api_url_product_list);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

// GET API RESPONSE
if ($response = curl_exec($curl)) {
    // JSON DECODE API RETURNED OBJECT
    $response = json_decode($response);

    // ITERATE LIST
    if (count($response->data)>0) {
        foreach($response->data as $item) {
            echo 'API URL Product detail: '.$item->id.'<br>';
            echo 'ID Product: '.$item->attributes->_id.'<br>';
        }
    }

}
else {
    // CHECK IF IS CURL / API ERROR
    var_dump(curl_error($curl));
    var_dump('Code: ' . curl_errno($curl));
}
curl_close($curl);

Die API liefert ein Ergebnisobjekt zurück, welches aus Links, Meta und Data besteht.
Links: diese Links können für die Pagination genutzt werden und zeigen jederzeit an, wo man sich befindet und weiter „gehen“ kann.
Meta: dient als Hilfe, um zu sehen wieviele Produkte abrufbar sind
Data: ist ein Array Element, dass maximal 30 Elemente pro Durchlauf beinhaltet

<?php 
/* START
[links] => stdClass Object
        (
            [self] => /api/products?page=1
            [first] => /api/products?page=1
            [last] => /api/products?page=8420
            [next] => /api/products?page=2
        )

[meta] => stdClass Object
        (
            [totalItems] => 252589
            [itemsPerPage] => 30
            [currentPage] => 1
        )
[data] => Array
        (
            [0] => stdClass Object
                (
                    [id] => /api/products/3001879
                    [type] => Product
                    [attributes] => stdClass Object
                        (
                            [_id] => 3001879
                        )

                )

            [1] => stdClass Object
*/

/* BEISPIEL PAGE 1000
[links] => stdClass Object
        (
            [self] => /api/products?page=1000
            [first] => /api/products?page=1
            [last] => /api/products?page=8420
            [prev] => /api/products?page=999
            [next] => /api/products?page=1001
        )
*/

?>

Hier geht es zum Code-Beispiel für den separaten Abruf.