Returnarea si explicatia erorilor

In acest tutorial se regasesc explicatii si clarificari cu privire la returnarea si semnificatia erorilor in ceea ce priveste integrarea prin API a oricarui serviciu sau platforme externe cu solutia eCommerce, Extended.

Return in format JSON

1. HTTP Request GET

  • eroare - 1 - eroare in procesul de accesare API
  • mesaj - mesajul returnat de eroare
Array
(
    [eroare] => 1
    [mesaj] => Modulul Extended API nu este activ.
)

2. HTTP Request POST

  • id - 0
  • eroare - 2 - Extended API Key nu are permisiune pentru respectiva actiune
  • mesaj - mesajul de eroare returnat
Array
(
    [id] => 0
    [eroare] => 2
    [mesaj] => Accesul la aceasta sectiune este interzis.
)

Explicatia erorilor returnate

1. Modulul Extended API nu este activ.

Pentru a utiliza modulul Extended API va trebui sa activam acest modul navigand in platforma Extended: Manager - Integrari - Alte servicii - Extended API - click pe butonul de activare.

2. Extended API Key nu a fost specificat.

Pentru Request GET va trebui specificat in link "apikey=EXTENDED_API_KEY" (fara ghilimele).
Pentru Request POST va trebui specificat intr-un input POST: name="apikey" value="EXTENDED_API_KEY".

EXTENDED_API_KEY va trebui inlocuit cu API Key-ul generat din cadrul platformei Extended - Manager - Integrari - Alte servicii - Extended API.

3. Accesul pentru ip-ul "IP" este interzis.

Pentru a permite accesarea modulului Extended API de catre acel IP trebuie sa il introducem astfel: Manager - Servicii - Extended API - Optiuni (din partea dreapta a API Key-ului utilizat) - Modifica - Restrictii IP: vom introduce IP sau IP-urile aferente.

4. Accesul la aceasta sectiune este interzis.

Extended API Key nu are permisiunea de a accesa sectiunea respectitva. Pentru a putea adauga permisiunea vom naviga in: Manager - Integrari - Alte servicii - Extended API - Optiuni (din partea dreapta a API Key-ului utilizat) - Modifica - Permisii: vom bifa sectiunea careia dorim sa-i acordam acces.

5. Acest API Key nu poate fi accesat de pe acest domeniu.

Fiecare API Key este limitat pe domeniul de pe care a fost generat.

Exemplu: sa presupunem ca avem doua magazine: Magazin 1 (magazin1.ro) si Magazin 2 (magazin2.ro). Daca in Manager am selectat Magazin 2 si generam un API Key, el va putea fi accesat doar de pe magazin2.ro

Exemplu PHP

GET

    $domeniu = "domeniu.ro";
    $parametri_array = array(
                    "meniu"=>"",
                    "apikey"=>"cVsrdtcyQuLitH1lgSn7mTJo9vK5"
            );

    $parametri = array();
    foreach ($parametri_array as $k=>$v) $parametri[] = $k.((!empty($v))?'='.urlencode($v):'');
    $parametri = implode('&', $parametri);

    $posturl = "https://www.".$domeniu."/api/?".$parametri;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $posturl); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 90);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    $response = curl_exec($ch);
    curl_close($ch);

    $response_array = (array)json_decode($response);

POST

    $domeniu = "domeniu.ro";
    $parametri_array = array(
                    "actiune"=>"update_stoc",
                    "apikey"=>"cVsrdtcyQuLitH1lgSn7mTJo9vK5"
            );
    $parametri_string = http_build_query($parametri_array);
    $posturl = "https://www.".$domeniu."/api/";

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL, $posturl);
    curl_setopt($ch,CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,0);
    curl_setopt($ch,CURLOPT_TIMEOUT, 60);
    curl_setopt($ch,CURLOPT_POSTFIELDS, $parametri_string);
    $response = curl_exec($ch);
    curl_close($ch);

    $response_array = (array)json_decode($response);

↳ Acest ghid nu ti-a fost de folos? Trimite-ne un ticket prin intermediul platformei de suport tehnic.
↳ Screenshot-urile publicate (imaginile) in acest tutorial au rol strict informativ sau demonstrativ si nu reprezinta versiunea curenta a platformei Extended.