API pentru comerciantii online: Diferență între versiuni

De la wiki.livrarionline.ro
Salt la: navigare, căutare
Linia 26: Linia 26:
 
=== Cum se adauga o livrare/Cum se genereaza un AWB ===
 
=== Cum se adauga o livrare/Cum se genereaza un AWB ===
  
Toate cererile API de inregistrare livrari online sunt trimise sistemului Livrari Online in formatul « SOAP - application/json ».
+
*Toate cererile API de inregistrare livrari online sunt trimise sistemului Livrari Online in formatul « SOAP - application/json ».
 
+
*Cererile sunt construite in format JSON.
Cererile sunt construite in format JSON:
+
*Fiecare camp utilizat de API Livrari Online are un nume de forma f_nume_camp.
 
 
*Fiecare camp utilizat de API Livrari Online are un nume de forma f_nume_camp. De exemplu:
 
 
 
<source lang="php">
 
{"loapi":
 
{"f_login":0192022210,
 
"f_request":"39795057696e61727a744",
 
"f_secure":"BI6LOK68S\/1v8v+hKNjHiDo3lbZfACR19fYWPWDwBbzqe8bCu\/ThSy9F8=" } }
 
</source>
 
 
 
*Numele campurilor este “'''case sesitive'''”.
 
*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]
 
 
 
 
 
 
 
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'''.
 
 
 
{{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>'''
 
 
 
 
 
 
 
Exemplu de functii in php care realizeaza incriptarile AES si RSA:
 
 
 
<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 ===
 
=== Printarea AWB-ului ===

Versiunea de la data 24 septembrie 2013 20:46

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

Cum se adauga o livrare/Cum se genereaza un AWB

  • 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.

Printarea AWB-ului

Urmarirea AWB-ului

Interogare referinta AWB

Anularea AWB-ului