# Phương thức SDK

### Tài liệu liên quan <a href="#tai-lieu-lien-quan" id="tai-lieu-lien-quan"></a>

* Thông tin kết nối giữa giữ Gotadi và Đối tác.
* Kịch bản kiểm kiểm thử.
* Source code mẫu.

***

### Thuật ngữ và viết tắt <a href="#thuat-ngu-va-viet-tat" id="thuat-ngu-va-viet-tat"></a>

| Viết tắt | Từ đầy đủ                          | Mô tả                                                                                                                                                                   |
| -------- | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| URL      | Uniform Resource                   | được dùng để tham chiếu tới tài nguyên trên Internet.                                                                                                                   |
| SSL      | Secure Sockets Layer               | giao thức mật mã được thiết kế để cung cấp truyền thông an toàn qua Internet.                                                                                           |
| HTTPS    | Hypertext Transfer Protocol Secure | là một giao thức kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet.                               |
| 3DES     | Triple DES (3DES hay TDES)         | là một thuật toán khóa đối xứng, áp dụng thuật toán mã hóa DES ba lần cho mỗi khối dữ liệu.                                                                             |
| RSA      | Rivest–Shamir–Adleman              | là một thuật toán mật mã hóa khóa công khai. Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa.                               |
| SHA-256  | Secure Hash Algorithm              | là giải thuật dùng để chuyển một đoạn dữ liệu nhất định thành một đoạn dữ liệu có chiều dài không đổi với xác suất khác biệt cao. SHA-256 (trả lại kết quả dài 256 bit) |
|          | Chữ ký điện tử                     | Thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video…) nhằm mục đích xác định người chủ của dữ liệu đó                                                               |
| M        | Mandatory                          | Bắt buộc phải có khi gọi API.                                                                                                                                           |
| O        | Optional                           | Không yêu cầu khi gọi API, tùy từng mục đích sử dụng mà có truyền tham số này không                                                                                     |
| C        | Condition                          | Dựa trên Condition của field khác khi gọi API mà field này được quyết định là Mandatory hay Optional                                                                    |

### Quy trình kết nối <a href="#quy-trinh-ket-noi" id="quy-trinh-ket-noi"></a>

<details>

<summary>Bước 1</summary>

Đối tác cung cấp thông tin để Gotadi khởi tạo tài khoản đại lý trên môi trường sandbox. Thông tin bao gồm:

* Thông tin công ty:
  * Tên công ty
  * Địa chỉ công ty
  * Địa chỉ website
* Thông tin quản trị viên:
  * Họ tên
  * Địa chỉ email
  * Số điện thoại
* Thông tin kết nối:
  * Đường dẫn tới hệ thống của đối tác: Link sản phẩm, Link cổng thanh toán, …
  * Các tài liệu tích hợp liên quan
  * Public key của đối tác. (RSA public key chiều dài tối thiểu 1024 bit)

</details>

<details>

<summary>Bước 2</summary>

Gotadi khởi tạo tài khoản dựa vào thông tin Đối tác cung cấp và gửi lại các thông tin tài khoản cho Đối tác. Thông tin bao gồm:

* Link kích hoạt tài khoản và đăng nhập vào B2B portal của Gotadi (Gửi vào email quản trị viên).
* Đường dẫn tới hệ thống của Gotadi: `<gotadi_api_gateway>`
* Public key của Gotadi. (RSA public key chiều dài tối thiểu 1024 bit)
* Tham số truyền vào request header:
  * Khóa truy cập API: `<api_key>`
  * Mã truy cập của đối tác: `<access_code>`

</details>

<details>

<summary>Bước 3</summary>

Đối tác kích hoạt tài khoản và sử dụng thông tin ở bước 2 tiến hành kết nối và kiểm thử trên môi trường sandbox

</details>

<details>

<summary>Bước 4</summary>

Nghiệm thu Sandbox và Golive dịch vụ

</details>

### HTTP Response code <a href="#http-response-code" id="http-response-code"></a>

| Code | Mô tả                 |
| ---- | --------------------- |
| 200  | Success               |
| 400  | Bad Request           |
| 401  | Unauthorized          |
| 402  | Forbidden             |
| 402  | Not Found             |
| 500  | Internal Server Error |
| 503  | Service Unavailable   |

### Mã lỗi <a href="#ma-loi" id="ma-loi"></a>

| Mã lỗi | Mô tả                                                       |
| ------ | ----------------------------------------------------------- |
| 00     | Yêu cầu đã được xử lý thành công.                           |
| 01     | Yêu cầu đang được xử lý.                                    |
| 02     | Yêu cầu đã được xử lý thất bại.                             |
| 03     | Yêu bị từ chối do Xác thực tài khoản đại lý khoản thất bại. |
| 04     | Yêu bị từ chối do Chữ ký điện tử không hợp lệ.              |
| 05     | Yêu bị từ chối do Giải mã dữ liệu không thành công.         |
| 06     | Yêu bị từ chối do Mã xác thực (Access Code) không hợp lệ.   |
| 07     | Yêu bị từ chối do Dữ liệu sai định dạng.                    |
| 08     | Yêu bị từ chối do Đã được xử lý trước đó.                   |
| 09     | Yêu cầu chưa được xử lý.                                    |
| 10     | Thông tin tài khoản không tìm thấy                          |
| 99     | Lỗi khác.                                                   |

### Luồng tích hợp <a href="#luong-tich-hop" id="luong-tich-hop"></a>

![](https://developer.gotadi.com/img/b2b2c-sdk-integration-flow.jpg)

#### Mô tả chi tiết luồng tích hợp:&#x20;

**Bước 3 - 4:**&#x20;

1. Sau khi search-book ở GotadiSDK sẽ return callback có chứa thông tin BookingNumber.
2. Partner nhận thông tin BookingNumber -> push tới \[Screen Thanh toán của Partner] và gọi API /booking-detail để lấy thông tin thanh toán.
3. Partner thanh toán thành công/ thất bại -> push tới \[Screen Hoá đơn của Partner] và gọi API /booking-detail để lấy thông tin bookingInfo.
4. Ở \[Screen Hoá đơn của Partner] -> User chọn \[Quản lý vé] -> push tới \[Screen Quản lý Booking của GotadiSDK]


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.gotadi.com/vietnamese/doi-tac-b2b2c/phuong-thuc-sdk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
