Urmarire AWB: Diferență între versiuni
(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 | + | 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'''. |
{{warning}}'''ATENTIE: Vectorul de initializare pentru AES este: <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: <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 57: | Linia 57: | ||
'''Raspunsul sistemului Livrari Online este in formatul JSON.''' | '''Raspunsul sistemului Livrari Online este in formatul JSON.''' | ||
− | + | Procesarea cu success a cereri de urmarire AWB in sistemul Livrari Online intoarce un array de stari: | |
− | { "loapi": | + | |
− | + | <source lang="php"> | |
− | + | {"loapi": | |
− | + | "f_stare_curenta": | |
− | } | + | {"stamp":date |
+ | ,"stare":string} | ||
+ | ,"f_istoric":[ | ||
+ | {"stamp":date | ||
+ | ,"stare":string} | ||
+ | {"stamp":date | ||
+ | ,"stare":string}] | ||
+ | } | ||
</source> | </source> | ||
− | Eroarea la | + | Eroarea la urmarirea livrarii in sistemul Livrari Online va contine "status": "error" si mesajul de eroare explicit: |
+ | |||
+ | <source lang="php"> | ||
{ "loapi": | { "loapi": | ||
{"status": "error" | {"status": "error" | ||
− | , "message": "ERROR: | + | , "message": "ERROR: 503: invalid AWB" |
} | } | ||
} | } | ||
</source> | </source> |
Versiunea de la data 25 septembrie 2013 19:22
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=" } }
- Numele campurilor este “case sesitive”.
- Stabiliti metoda POST pentru trimiterea datelor.
- Trimiteti datele la adresa URL: https://api.livrarionline.ro/Lobackend.asmx/Tracking
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.
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 intoarce un array de stari:
{"loapi":
"f_stare_curenta":
{"stamp":date
,"stare":string}
,"f_istoric":[
{"stamp":date
,"stare":string}
{"stamp":date
,"stare":string}]
}
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"
}
}