Anulare AWB: Diferență între versiuni

De la wiki.livrarionline.ro
Salt la: navigare, căutare
(Pagină nouă: Toate cererile API de inregistrare livrari online sunt trimise sistemului Livrari Online in formatul '''«application/x-www-form-urlencoded»''', iar raspunsul serviciului va ...)
 
Linia 19: Linia 19:
 
Campul '''f_login''' contine ID-ul de comerciantului din sistem.
 
Campul '''f_login''' contine ID-ul de comerciantului din sistem.
  
Campul '''f_request''' contine AWB (numarul documentului de transport) intr-un '''bloc JSON''' de forma '''payload : { "awb":"nr awb"}''', incriptat cu '''algoritmul AES''' cu o '''cheie de securitate generata aleator''' pentru fiecare cerere trimisa la server; Rezultatul incriptarii '''AES''' este tranformat in '''base64''' si apoi in '''hexa'''.
+
Campul '''f_request''' contine AWB (numarul documentului de transport) intr-un '''bloc JSON''' de forma '''{ "awb":"nr awb"}''', incriptat cu '''algoritmul AES''' cu o '''cheie de securitate generata aleator''' pentru fiecare cerere trimisa 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>'''
 
{{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>'''
Linia 61: Linia 61:
 
<source lang="php">
 
<source lang="php">
 
{"loapi":
 
{"loapi":
        "status":"success"}
+
        {"status":"success"}
 +
}
 
</source>
 
</source>
  
 
+
<br/>Eroarea la urmarirea livrarii in sistemul Livrari Online va contine "status": "error" si mesajul de eroare explicit:
Eroarea la urmarirea livrarii in sistemul Livrari Online va contine "status": "error" si mesajul de eroare explicit:
 
  
 
<source lang="php">
 
<source lang="php">

Versiunea de la data 26 septembrie 2013 10:53

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. De exemplu:
{"loapi":
 {"f_login":0192022210,
 "f_request":"39795057696e61727a744",
 "f_secure":"BI6LOK68S\/1v8v+hKNjHiDo3lbZfACR19fYWPWDwBbzqe8bCu\/ThSy9F8=" } }


Campul f_login contine ID-ul de comerciantului din sistem.

Campul f_request contine AWB (numarul documentului de transport) intr-un bloc JSON de forma { "awb":"nr awb"}, incriptat cu algoritmul AES cu o cheie de securitate generata aleator pentru fiecare cerere trimisa la server; Rezultatul incriptarii AES este tranformat in base64 si apoi in hexa.

{{{text}}}

ATENTIE: Vectorul de initializare pentru AES este: 285c02831e028bff.


Exemplu de functii in php care realizeaza incriptarile AES si RSA:

 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)));
 }

Campul f_secure contine cheia AES generata random incriptata cu algoritmul RSA si transformata in base64.

 //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));
 }

Raspunsul sistemului Livrari Online este in formatul JSON.

Procesarea cu success a cereri de urmarire AWB in sistemul Livrari Online va contine "status": "success":

{"loapi":
        {"status":"success"}
}


Eroarea la urmarirea livrarii in sistemul Livrari Online va contine "status": "error" si mesajul de eroare explicit:

{ "loapi": 
 {"status": "error"
 , "message": "ERROR: 503: invalid AWB" 
 } 
}