API -> Δημιουργία νέας αποστολής

Περιγραφή

Η λειτουργία Δημιουργία Αποστολής επιτρέπει την καταχώρηση νέων αποστολών στο σύστημα του v-Track μέσω API.
Το endpoint υποστηρίζει πολλούς συνεργαζόμενους Couriers — ανάλογα με την courier, απαιτούνται διαφορετικά credentials.

Endpoint

POST https://api.v-track.gr/voucher/add/json.php?f=set_voucher

Authentication

Απαιτούνται τα παρακάτω headers:

Header Περιγραφή
X-Public Το username που σας έχει δοθεί από το dashboard
Authorization Bearer

Τα διαπιστευτήρια εκδίδονται από: https://dashboard.v-track.gr

Service ID & Credentials

Ανάλογα με την courier, χρησιμοποιείται διαφορετικό service.id και διαφορετικά credentials. Στον πίνακα παρακάτω η 3η στήλη περιέχει τον PHP κώδικα όπως δόθηκε.

Service ID Courier Παράδειγμα PHP Credentials
1 ACS $arService["id"]=1;
$arService["credential"] = array(
"companyId"="",
"companyPass"=>"",
"username"=>"",
"password"=>"",
"Apikey"=>"",
"billingcode"=>""
);
2 ΕΛΤΑ Πόρτα Πόρτα $arService["id"]=2;
$arService["credential"] = array(
"pel_user_code"="",
"pel_user_pass"=>"",
"pel_apost_code"=>"",
"pel_apost_sub_code"=>""
);
3 Γενική Ταχυδρομική $arService["id"]=3;
$arService["credential"] = array(
"sUsrName"="",
"sUsrPwd"=>"",
"applicationKey"=>""
);
4 SPEEDEX $arService["id"]=4;
$arService["credential"] = array(
"Username"="",
"Password"=>"",
"CustCode"=>"",
"CodeSumf"=>""
);
6 ENTIPPOS $arService["id"]=6;
$arService["credential"] = array(
"Username"="",
"Password"=>"",
"SubStore"=>""
);
7 TAS $arService["id"]=7;
$arService["credential"] = array(
"Username"="",
"Password"=>"",
"SubStore"=>""
);
9 EASYMAIL $arService["id"]=9;
$arService["credential"] = array(
"UserName"="",
"Password"=>""
);
11 COURIER CENTER $arService["id"]=11;
$arService["credential"] = array(
"UserAlias"="",
"CredentialValue"=>"",
"ApiKey"=>""
);
12 SVUUM $arService["id"]=12;
$arService["credential"] = array(
"ApiKey"="",
"MerchantCode"=>""
);
13 KRONOS EXPRESS $arService["id"]=13;
$arService["credential"] = array(
"username"="",
"password"=>"",
"key"=>""
);
16 BOXNOW $arService["id"]=16;
$arService["credential"] = array(
"boxnow_client_id"="",
"boxnow_client_secret"=>"",
"boxnow_warehouse"=>""
);
17 TURNAROUND $arService["id"]=17;
$arService["credential"] = array(
"a_user_code"="",
"a_user_pass"=>"",
"a_pel_code"=>""
);
18 ΤΑΧΥΔΕΜΑ $arService["id"]=18;
$arService["credential"] = array(
"UserAlias"="",
"CredentialValue"=>"",
"ApiKey"=>""
);
21 Skroutz Last Mile $arService["id"]=21;
$arService["credential"] = array(
"apitoken"=""
);
29 XP COURIER $arService["id"]=18;
$arService["credential"] = array(
"UserAlias"="",
"CredentialValue"=>"",
"ApiKey"=>""
);

Επεξήγηση πεδίων Request

Πεδίο Τύπος Περιγραφή Υποχρ.
service Object Περιέχει id και credential της courier (οπός περιγράφετε στον παραπάνω πίνακα)
voucher String Αριθμός voucher αποστολής
mvoucher String Για multi-parcel αποστολές
customer String Ονοματεπώνυμο παραλήπτη
email String Email παραλήπτη
region String Περιοχή / πόλη
zip String Ταχυδρομικός κώδικας
address String Διεύθυνση παραλήπτη
mobile String Κινητό τηλέφωνο παραλήπτη
price Float Ποσό αντικαταβολής / χρέωσης
parcels Integer Πλήθος δεμάτων
weight Float Βάρος (kg)
Charge_Type Integer Χρέωση 0 = αποστολέας, 1 = παραλήπτης
reception Integer 0 = κανονική, 1 = παραλαβή από κατάστημα
Comments String Παρατηρήσεις
invoice_id Integer ID παραγγελίας
web_order_id String Κωδικός παραγγελίας
locker_id String / null ID locker (αν υπάρχει)
custom1 String Προσαρμοσμένα πεδία
custom2 String Προσαρμοσμένα πεδία
custom3 String Προσαρμοσμένα πεδία
order_cost Float Αξία ειδών
shipping_cost Float Έξοδα μεταφορικών
payment_cost Float Έξοδα αντικαταβολής

Παράδειγμα Request

Παράδειγμα με χρήση cURL στο PHP — προσαρμόστε $username και $api_key.


$url = "https://api.v-track.gr/voucher/add/json.php?f=set_voucher";
$username = "";
$api_key = "";

$arService["id"] = 1;
$arService["credential"] = array( "companyId" ="", "companyPass" => "", "username" => "", "password" => "", "Apikey" => "", "billingcode" => "");

$setData = array(
"service" => $arService,
"voucher" => "3206880074",
"customer" => "Περδικούλης Χαράλαμπος",
"email" => "info@netwerk.gr",
"region" => "Κοζανη",
"zip" => "50132",
"address" => "Βέροιας 6",
"mobile" => "6979119282",
"price" => 10.98,
"parcels" => 1,
"weight" => 1.9,
"Charge_Type" => 0,
"reception" => 0,
"Comments" =>"Παρατηρήσεις αποστολής",
"invoice_id" => 6751,
"web_order_id" => "005625",
"locker_id" => null,
"order_cost" => 5.48,
"shipping_cost" => 3.5,
"payment_cost" => 2
);

$payload = json_encode($setData);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_TIMEOUT, 360);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'application/json',
'X-Public: ' . $username,
'authorization: Bearer '.$api_key
));

curl_exec($ch);
curl_close($ch);

Παράδειγμα Response

Επιτυχής

{ "status": "success"}

Σφάλμα

{ "errno": "1106", "error": "Missing courier credential"}