API pentru comerciantii online: Diferență între versiuni

De la wiki.livrarionline.ro
Salt la: navigare, căutare
 
(Nu s-au afișat 21 de versiuni intermediare efectuate de același utilizator)
Linia 3: Linia 3:
 
Comerciantii inregistrati primesc un cont in sistem definit prin:
 
Comerciantii inregistrati primesc un cont in sistem definit prin:
  
*un identificator unic '''«ID Companie de curierat»''';*un identificator unic '''«ID Comerciant»''';*chei de securitate;
+
*un identificator unic '''«ID Companie de curierat»''';
 +
 
 +
*un identificator unic '''«ID Comerciant»''';
 +
 
 +
*chei de securitate;
 +
 
 
*conturi de utilizator.
 
*conturi de utilizator.
  
Linia 24: Linia 29:
 
== '''Functionalitatile API''' ==
 
== '''Functionalitatile API''' ==
  
=== Cum se adauga o livrare/Cum se genereaza un AWB ===
+
Toate cererile API de inregistrare livrari online sunt trimise sistemului Livrari Online in formatul '''«application/x-www-form-urlencoded»''', iar raspunsul serviciului va fi in formatul '''«Content type: text/json»'''.
  
Toate cererile API de inregistrare livrari online sunt trimise sistemului Livrari Online in formatul « SOAP - application/json ».
+
*Cererile sunt construite in format JSON.
 +
*Fiecare camp utilizat de API Livrari Online are un nume de forma f_nume_camp.
  
Cererile sunt construite in format JSON:
+
=== [[Cum se adauga o livrare/Cum se genereaza un AWB]] ===
  
*Fiecare camp utilizat de API Livrari Online are un nume de forma f_nume_camp. De exemplu:
+
=== [[Print AWB/Document de transport]] ===
  
<source lang="php">
+
Dupa ce ati obtinut AWB (nr documentului de transport) &nbsp;puteti sa incarcati direct si Documentul de transport aferent.
{"loapi":
 
{"f_login":0192022210,
 
"f_request":"39795057696e61727a744",
 
"f_secure":"BI6LOK68S\/1v8v+hKNjHiDo3lbZfACR19fYWPWDwBbzqe8bCu\/ThSy9F8=" } }
 
</source>
 
  
*Numele campurilor este “'''case sesitive'''”.
+
Incarcarea documentului de transport se face prin accesarea linkului:&nbsp;
*Stabiliti metoda '''POST''' pentru trimiterea datelor.
 
*Trimiteti datele la adresa URL:&nbsp;[https://api.livrarionline.ro/Lobackend.asmx/GenerateAwb https://api.livrarionline.ro/Lobackend.asmx/GenerateAwb]
 
  
 +
[http://api.livrarionline.ro/Lobackend_print/PrintAwb.aspx?f_login=nr_comerciant&awb=nrawb http://api.livrarionline.ro/Lobackend_print/PrintAwb.aspx?f_login=nr_comerciant&amp;awb=nrawb]
  
  
Campul '''f_login''' contine ID-ul de comerciantului din sistem.
 
  
Campul [['''f request''' contine datele despre livrare intr-un '''bloc JSON'''|'''f request''' contine datele despre livrare intr-un '''bloc JSON''']], incriptate cu '''algoritmul AES''' cu o '''cheie de securitate generata aleator''' pentru fiecare cerere la server; Rezultatul incriptarii '''AES''' este tranformat in '''base64''' si apoi in '''hexa'''.
+
Parametrii GET:
  
{{warning}}'''ATENTIE: Vectorul de initializare pentru AES este:&nbsp;<span style="color: rgb(0, 0, 255); background-color: rgb(249, 249, 249); font-family: monospace, monospace; font-size: 1em; line-height: 1.2em;">285c02831e028bff.</span>'''
+
*'''f_login''' - ID Comerciant - [http://wiki.livrarionline.ro/index.php?title=Interfata_comerciantilor#Info_API.2C_adica_implementarea_modulului_de_shipping_pe_platforma_on-line Cum se obtin datele pentru API?]&nbsp;
  
 +
*'''awb -'''&nbsp;nr documentului de transport
  
 +
=== [[Urmarire AWB]] ===
  
Exemplu de functii in php care realizeaza incriptarile AES si RSA:
+
=== Interogare referinta AWB ===
 
 
<source lang="php">
 
private function AESEnc()
 
{
 
require_once('Crypt/AES_Encryption.php');
 
require_once('Crypt/padCrypt.php');
 
 
 
$this->aes_key = md5(uniqid());
 
$this->iv = '285c02831e028bff';
 
$aes = new AES_Encryption($this->aes_key, $this->iv, "PKCS7", "cbc");
 
$this->f_request = bin2hex(base64_encode($aes->encrypt($this->f_request)));
 
}
 
</source>
 
 
 
Campul '''f_secure''' contine&nbsp;'''cheia AES generata random''' incriptata cu '''algoritmul RSA''' si transformata in '''base64'''.
 
 
 
<source lang="php">
 
//criptez cheia AES cu RSA
 
private function RSAEnc()
 
{
 
require_once('Crypt/RSA.php');
 
$rsa = new Crypt_RSA();
 
$rsa->loadKey($this->rsa_key);
 
$rsa->setPublicKey();
 
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
 
$this->f_secure = base64_encode($rsa->encrypt($this->aes_key));
 
}
 
</source>
 
 
 
'''Raspunsul sistemului Livrari Online este in formatul JSON.'''
 
 
 
Inregistrarea cu success a livrarii in systemul Livrari Online la raspunde cu un array de AWB-uri pentru fiecare pachet din livrari:
 
<source lang="html4strict">
 
{ "loapi":
 
{ "f_awb_collection":
 
[ "AWB number 1", "AWB number n" ]
 
}
 
}
 
</source>
 
 
 
Eroarea la inregistrarea livrarii in systemul Livrari Online va contine "status": "error" si mesajul de eroare explicit:
 
<source lang="html4strict">
 
{ "loapi":
 
{"status": "error"
 
, "message": "ERROR: 23503: insert violates foreign key constraint"
 
}
 
}
 
</source>
 
 
 
 
 
 
 
=== Printarea AWB-ului ===
 
 
 
=== Urmarirea AWB-ului ===
 
  
=== Interogare referinta AWB ===
+
=== [[Anulare AWB]] ===
  
=== Anularea AWB-ului ===
+
== '''Serviciul ISSN (Instant Shipping Status Notification)''' ==

Versiunea curentă din 21 noiembrie 2016 14:15

Modelul comerciantilor LivrariOnline.ro

Comerciantii inregistrati primesc un cont in sistem definit prin:

  • un identificator unic «ID Companie de curierat»;
  • un identificator unic «ID Comerciant»;
  • chei de securitate;
  • conturi de utilizator.

Serviciile contractate de Comercianti

Atunci cand Comerciantii semneaza contractul, compania de curierat defineste serviciile contractate cu toti parametrii agreati (de exemplu pret livrare loc, sau km inclusi, etc.).

Serviciile sunt identificate in mod unic in systemul LivrariOnline.ro prin:

  • ID Serviciu.

Aceste elemente de identificare leaga livrarile de contul comerciantului. Aceste informatii le primiti automat pe adresa de e-mail specificata in formularele de contact indata ce inrolare comrciantului a fost facuta cu succes. Recomandam ca indata ce primiti informatiile pe e-mail sa va conectati la interfata comerciantilor https://comercianti.livrarionline.ro/ si sa schimbati parola.

Comerciantii care semneaza contract cu compania de curierat au automat acces API (Application programming interface) pentru gestiunea livrarilor. API este perfect pentru integrarea cu site-urile de e-commerce.

API permite comerciantilor sa automatizeze procesele legate de livrarile comenzilor in cadrul activitatii online/offline.


Functionalitatile API

Toate cererile API de inregistrare livrari online sunt trimise sistemului Livrari Online in formatul «application/x-www-form-urlencoded», iar raspunsul serviciului va fi in formatul «Content type: text/json».

  • Cererile sunt construite in format JSON.
  • Fiecare camp utilizat de API Livrari Online are un nume de forma f_nume_camp.

Cum se adauga o livrare/Cum se genereaza un AWB

Print AWB/Document de transport

Dupa ce ati obtinut AWB (nr documentului de transport)  puteti sa incarcati direct si Documentul de transport aferent.

Incarcarea documentului de transport se face prin accesarea linkului: 

http://api.livrarionline.ro/Lobackend_print/PrintAwb.aspx?f_login=nr_comerciant&awb=nrawb


Parametrii GET:

  • awb - nr documentului de transport

Urmarire AWB

Interogare referinta AWB

Anulare AWB

Serviciul ISSN (Instant Shipping Status Notification)