:::caution NOTICE

მორგებული ოპერაციები არჩევითია. ე.ი. სერვის-პროვაიდერმა შეიძლება საერთოდ არ განსაზღვროს რაიმე ოპერაცია.

:::

## ცვლადების სავალდებულო სტანდარტები

კომპანიის მასშტაბით სტანდარტების შესანარჩუნებლად, BOG მოითხოვს, რომ სერვის-პროვაიდერებმა გამოიყენონ კონკრეტული ცვლადის სახელები,
რომლებიც შეესაბამება მათ მნიშვნელობებს. Მაგალითად. თუ მომხმარებელი იყენებს თავის პირად ნომერს სერვის-პროვაიდერისგან
გარკვეული ინფორმაციის მისაღებად (მაგ. დავალიანება), მაშინ ამ უკანასკნელმა უნდა გამოიყენოს personalNumber, როგორც API-ს მიერ მოთხოვნილი ცვლადის სახელი.

იხილეთ სავალდებულო ცვლადების სტანდარტების სრული სია ქვემოთ:
- **personalNumber** – გამოიყენება როგორც პირადი ნომრის იდენტიფიკატორი.
- **customerId** – გამოიყენება როგორც მომხმარებლის იდენტიფიკატორი.
- **debt** – მომხმარებელმა მომსახურების მიმწოდებლის მიმართ მცირე ერთეულებით დავალიანება.
- **debtList** – მონაცემთა მოდელების სია, რომელიც შეიცავს კლიენტის მიერ მომსახურების მიმწოდებლისადმი კუთვნილ თანხებს (და შესაძლოა სხვა ველებს) მცირე ერთეულებში.
- **amount** – თანხა, რომელიც მომხმარებელს სურს გადაიხადოს მცირე ერთეულებით.

## მონაცემთა გაცვლის ფორმატი
ყველა მორგებული ოპერაცია, რომელიც დაუკავშირდება სერვის-პროვაიდერის API-ს, გაგზავნის ყველა მოთხოვნის პარამეტრს, როგორც HTTP Query პარამეტრებს,
ასევე HTTP Header-ის მნიშვნელობებს, რომლებიც გამოიყენება ავტორიზაციისთვის.
სერვის-პროვაიდერმა კი, თითოეულ ოპერაციას უნდა უპასუხოს წინასწარ განსაზღვრული ფორმატით:

- `status.code` — number

  წინასწარ განსაზღვრული სტატუსის [კოდი](https://api.bog.ge/docs/paymentgateway/error-codes).

- `status.value` — string

  სტატუსის მნიშვნელობა (სურვილისამებრ).

- `timestamp` — number

  UNIX დროის შტამპი – მილიწამების რაოდენობა, რაც გავიდა 1970 წლის 1 იანვრიდან დღემდე UTC-ის დროის სარტყელით.

- `receiptId` — string

  receiptId არის გადახდის უნიკალური იდენტიფიკატორი, რომელიც დაბრუნდა სერვის-პროვაიდერისგან წარმატებული გადახდის ოპერაციის შემდეგ.

- `response` — object

  JSON მონაცემები - დაბრუნებული ნებისმიერი თვითნებური ოპერაციიდან. ველი სავალდებულოა ყოველი ოპერაციისთვის.

**RESPONSE**

```json
{
   "status":{
      "code":0,
      "value":"OK"
   },
   "timestamp":1693236686855,
   "receiptId":"",
   "response":{"wrapper":{"categoryCodes":["A1","B"]}}
}
```

:::note

სერვის-პროვაიდერის მიერ შექმნილ ოპერაციებთან ერთად,
ასევე არსებობს BOG-ის მიერ წინასწარ განსაზღვრული ოპერაციები, რომელთაგან საჭიროა
მხოლოდ [გადახდის](https://api.bog.ge/docs/paymentgateway/pre-defined-ops/payment) ოპერაცია, ყველა დანარჩენი არასავალდებულოა.

:::
