ამანათის შექმნა SSO მომხმარებლით
როცა მომხმარებელი INEX ID-ით არის შესული, მის სახელზე ამანათის შესაქმნელად აღარ გჭირდებათ მისი პირადი ნომერი, სახელი და ტელეფონი — საკმარისია sub.
როგორ
POST
/integrators/parcels/create
გამოიძახეთ ჩვეულებრივი POST /integrators/parcels/create და receiver ობიექტში გადმოგვეცით მხოლოდ inexUserId — id_token-ის sub. ყველა დანარჩენი ველი (თრექინგი, სტატუსი, მიწოდება, დეკლარაცია) უცვლელია.
| ველი | ტიპი | სავალდებულო | აღწერა |
|---|---|---|---|
| receiver.inexUserId | string (UUID) | პირობითი | მომხმარებლის მუდმივი, უნიკალური იდენტიფიკატორი. გამოიყენეთ ამანათის შექმნისას receiver.inexUserId-ში. |
| receiver.personalId | string | არა | personalId inexUserId-თან ერთად არასავალდებულოა. ის ჩაიწერება მხოლოდ მაშინ, თუ ანგარიშს პირადი ნომერი საერთოდ არ აქვს; არსებული ნომერი არასოდეს გადაიწერება. |
წესები
-
1
მიმღები მიეთითება ან სრულად (
personalId,firstname,lastname,phoneNumber,email— როგორც აქამდე), ანinexUserId-ით. ორივე ერთად არ შეიძლება. -
2
inexUserId-თან ერთადfirstname,lastname,phoneNumberდაemailაკრძალულია — სახელი და ტელეფონი INEX-ის ანგარიშიდან აიღება. თუ მაინც გადმოგვცემთ, მოთხოვნა 422-ით უარყოფილი იქნება და არ ჩაითვლება, რომ ანგარიშის მონაცემები შეიცვალა. -
3
personalIdinexUserId-თან ერთად არასავალდებულოა. ის ჩაიწერება მხოლოდ მაშინ, თუ ანგარიშს პირადი ნომერი საერთოდ არ აქვს; არსებული ნომერი არასოდეს გადაიწერება. -
4
inexUserId-ით ახალი ანგარიში არასოდეს იქმნება — ის უნდა ეკუთვნოდეს არსებულ, აქტიურ INEX მომხმარებელს. - 5 ერთი და იგივე თრექინგით განმეორებითი მოთხოვნა აბრუნებს უკვე შექმნილ ამანათს (იდემპოტენტურია), როგორც აქამდე.
შეცდომები
| 422 Unprocessable | inexUserId არ არის ვალიდური UUID ან ასეთი INEX მომხმარებელი არ არსებობს; ან მიმღები არ არის მითითებული არცერთი ფორმით; ან inexUserId სხვა receiver ველებთან ერთადაა გადმოცემული. |
| 400 Bad Request | მომხმარებლის ანგარიში არააქტიურია ან მას აქტიური კლიენტის პროფილი არ აქვს. |
პროფილის შევსება
თუ მომხმარებელს INEX-ის პროფილი ბოლომდე შევსებული არ აქვს (მაგ. ქართული სახელი, ფილიალი ან დადასტურებული პირადი ნომერი), ამანათის შექმნისას ის ავტომატურად მიიღებს შეტყობინებას, რომ ამანათი მის სახელზე დარეგისტრირდა და პროფილი inex.ge-ზე შეავსოს. თქვენი მხრიდან არაფერია საჭირო.
cURL (receiver by INEX ID)
BASH
curl -X POST https://api.inex.ge/api/v1/integrators/parcels/create \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"clientReferenceId": "ORDER-12345",
"waybillNumbers": ["TRACK-001"],
"status": "created",
"shipmentType": "byAir",
"senderCountryCode": "CN",
"deliveryType": "pickupInStore",
"pickupLocationId": "200001",
"receiver": {
"inexUserId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"
},
"declaration": {
"sourceUrl": "https://shop.example.com",
"currencyCode": "USD",
"items": [
{ "price": 2500, "quantity": 1, "description": "T-Shirt" }
]
}
}'
422 — unknown INEX ID
JSON
{
"message": "The selected receiver.inex user id is invalid.",
"errors": {
"receiver.inexUserId": ["The selected receiver.inex user id is invalid."]
}
}
422 — mixed with receiver details
JSON
{
"message": "The receiver.inex user id field prohibits receiver.firstname / receiver.lastname / receiver.phone number / receiver.email from being present.",
"errors": {
"receiver.inexUserId": ["The receiver.inex user id field prohibits receiver.firstname / receiver.lastname / receiver.phone number / receiver.email from being present."]
}
}
400 — inactive account
JSON
{
"errors": {
"general": ["Failed to create parcel: INEX user found but not active."]
},
"message": "error"
}