# Gọi tự động thông thường - API V2

## Gọi trực tiếp

<mark style="color:green;">`POST`</mark> `[URL]/api/v2/auto-call/direct-call`

Gọi trực tiếp không tạo phiên ở client. Giúp tăng tốc luồng xử lý

#### Headers

| Name                                            | Type   | Description                   |
| ----------------------------------------------- | ------ | ----------------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer Access: Bearer 'token' |
| Content-type<mark style="color:red;">\*</mark>  | String | application/json              |

#### Request Body

| Name                                           | Type  | Description                                                                                |
| ---------------------------------------------- | ----- | ------------------------------------------------------------------------------------------ |
| phoneNumbers<mark style="color:red;">\*</mark> | Array | Danh sách các số điện thoại cần gọi                                                        |
| scripts<mark style="color:red;">\*</mark>      | Array | Mảng thông tin kịch bản cuộc gọi. Tham khảo thêm mục: \[**Mô tả kịch bản trong cuộc gọi**] |
| sipNumbers<mark style="color:red;">\*</mark>   | Array | Danh sách đầu số dùng để thực hiện cuộc gọi.                                               |

**Mô tả kịch bản trong cuộc gọi**

Giá trị field: \[scripts]

Ví dụ minh họa:

Dưới đây là ví dụ mẫu về kịch bản cuộc gọi. Theo thứ tự:&#x20;

* kịch bản Phát file lời chào
* kịch bản TextToSpeed
* kịch bản Tương tác phím
* kịch bản Nhóm nội bộ

> ```json
> [
> 	{
> 		"targetType": "recording",
> 		"target": "1e942ee5-83f1-4893-9416-b4cbcb832e3c.mp3"
> 	},
> 	{
> 		"speed": 1,
> 		"targetType": "textVariable",
> 		"target": "Chào bạn, đây là cuộc gọi tự động từ tổng đài OMICALL. Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi.",
> 		"voice": "banmai"
> 	},
> 	{
> 		"targetType": "ivrMenu",
> 		"target": "728341"
> 	},
> 	{
> 		"targetType": "ringGroup",
> 		"target": "79149"
> 	}
> ]
> ```

Các loại kịch bản đang hỗ trợ (giá trị field scripts\[n].targetType):

1. "recording" : kịch bản Phát file lời chào.
2. "callBotTextVariable" : kịch bản TextToSpeed.
3. "ivrMenu" : kịch bản Tương tác phím.
4. "ringGroup" : kịch bản Nhóm nội bộ.

{% tabs %}
{% tab title="Phát file lời chào" %}

```json
{
	"targetType": "recording",
	"targetId": "60e79bf81b20043c4e7a68d0",
	"targetValue": "1e942ee5-83f1-4893-9416-b4cbcb832e3c.mp3"
}
// Tham khảo giá trị file lời chào tại mục 'Danh sách file ghi âm' : 
// https://api.omicall.com/omicall-api/call-center
```

{% endtab %}

{% tab title="TextToSpeed" %}

```json
{
	"targetType": "callBotTextVariable",
	"targetValue": "Chào bạn, đây là cuộc gọi tự động từ tổng đài OMICALL. Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi.",
	"speed": 1,
	"voice": "northern_female_ngocanh"
}
/*
 1. "targetValue": nội dung cần đọc (thông điệp dạng chữ).
 	Giá trị: kiểu text
 	Ví dụ: "Chào bạn, đây là cuộc gọi tự động từ tổng đài OMICALL. Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi.".
 
 2. "speed": tốc độ đọc. 
 	Giá trị: kiểu Integer
 	
     + 1.2 : Rất chậm.
     + 1.1 : Chậm.
     + 1   : Bình thường.
     + 0.9 : Nhanh.
     + 0.8 : Rất nhanh.
 		
 3. "voice": giọng đọc
 	Giá trị: kiểu text
 	
     + "northern_female_ngocanh" : Giọng nữ miền Bắc.
     + "northern_male_anhkiet"   : Giọng nam miền Bắc.
     + "southern_female_khangan" : Giọng nữ miền Nam.
*/
```

{% endtab %}

{% tab title="Tương tác phím" %}

```json
{
	"targetType": "ivrMenu",
	"targetId": "6491781136826a5f9ce62910",
	"targetValue": "728341"
}
// Tham khảo giá trị file lời chào tại mục 'Danh sách KỊCH BẢN BẤM PHÍM' : 
// https://api.omicall.com/omicall-api/call-center
```

{% endtab %}

{% tab title="Nhóm nội bộ" %}

```json
{
	"targetType": "ringGroup",
	"targetId": "65af2e9cc567a1128d92ffcc",
	"targetValue": "79149"
}
// Tham khảo giá trị file lời chào tại mục 'Danh sách NHÓM NỘI BỘ' : 
// https://api.omicall.com/omicall-api/call-center
```

{% endtab %}
{% endtabs %}

**Dữ liệu trả về:**

Thông tin số điện thoại và UUID của cuộc gọi, nó là autocall\_uuid trong bản tin webhook lịch sử cuộc gọi

{% tabs %}
{% tab title="200 Dữ liệu trả về thành công" %}

```
{
    "status_code": 9999,
    "instance_id": "stg",
    "instance_name": "DESKTOP-3I0NHO0",
    "payload": {
        "0979xxxxxx" : "3038a136-0b8b-4466-9ef2-1a19e19721db"
    },
    "key_enabled": false
}
```

{% endtab %}
{% endtabs %}

## Tạo phiên

<mark style="color:green;">`POST`</mark> `[URL]/api/v2/autoCall/executeByPhone`

Tạo phiên gọi AutoCall từ danh sách số điện thoại

#### Headers

| Name                                            | Type   | Description                   |
| ----------------------------------------------- | ------ | ----------------------------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer Access: Bearer 'token' |
| Content-type<mark style="color:red;">\*</mark>  | String | application/json              |

#### Request Body

| Name                                      | Type                  | Description                                                                                                                  |
| ----------------------------------------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| name                                      | String                | Tên phiên                                                                                                                    |
| sendTime                                  | Long                  | Thời gian thực hiện phiên gọi. Nếu không truyền mặc định là thời điểm hiện tại.                                              |
| scripts<mark style="color:red;">\*</mark> | Array                 | Mảng thông tin kịch bản cuộc gọi. Tham khảo thêm mục: \[**Mô tả kịch bản trong cuộc gọi**]                                   |
| numberCallOuts                            | Array                 | Danh sách đầu số dùng để thực hiện cuộc gọi. Nếu không truyền mặc định là sử dụng toàn bộ đầu số của DN                      |
| receiverPhoneNumbers                      | Array                 | Danh sách số điện thoại khách nhận cuộc gọi.                                                                                 |
| numberCallPerTime                         | Integer               | Nhóm số lượng cuộc gọi thực hiện mỗi lần. Giá trị tối đa bằng CCU của gói dịch vụ                                            |
| durationOfEachCall                        | Integer               | Khoảng thời gian cấu hình giữa các phiên gọi nhóm                                                                            |
| maxRetryOfDetail                          | Interger              | Số lượt gọi lại tối đa                                                                                                       |
| retryAfterSeconds                         | Integer               | Khoảng thời gian gọi lại                                                                                                     |
| autoPause                                 | Boolean (true, false) | Cho phép phiên tự động dừng khi không có nhân viên hiệu lực không. Cấu hình này chỉ áp dụng cho kịch bản gọi vào nhóm nội bộ |

**Mô tả kịch bản trong cuộc gọi**

Giá trị field: \[scripts]

Ví dụ minh họa:

Dưới đây là ví dụ mẫu về kịch bản cuộc gọi. Theo thứ tự:&#x20;

* kịch bản Phát file lời chào
* kịch bản TextToSpeed
* kịch bản Tương tác phím
* kịch bản Nhóm nội bộ

> ```json
> [
> 	{
> 		"targetId": "60e79bf81b20043c4e7a68d0",
> 		"targetType": "recording",
> 		"targetValue": "1e942ee5-83f1-4893-9416-b4cbcb832e3c.mp3"
> 	},
> 	{
> 		"speed": 1,
> 		"targetType": "callBotTextVariable",
> 		"targetValue": "Chào bạn, đây là cuộc gọi tự động từ tổng đài OMICALL. Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi.",
> 		"voice": "banmai"
> 	},
> 	{
> 		"targetId": "6491781136826a5f9ce62910",
> 		"targetType": "ivrMenu",
> 		"targetValue": "728341"
> 	},
> 	{
> 		"targetType": "ringGroup",
> 		"targetId": "65af2e9cc567a1128d92ffcc",
> 		"targetValue": "79149"
> 	}
> ]
> ```

Các loại kịch bản đang hỗ trợ (giá trị field scripts\[n].targetType):

1. "recording" : kịch bản Phát file lời chào.
2. "callBotTextVariable" : kịch bản TextToSpeed.
3. "ivrMenu" : kịch bản Tương tác phím.
4. "ringGroup" : kịch bản Nhóm nội bộ.

{% tabs %}
{% tab title="Phát file lời chào" %}

```json
{
	"targetType": "recording",
	"targetId": "60e79bf81b20043c4e7a68d0",
	"targetValue": "1e942ee5-83f1-4893-9416-b4cbcb832e3c.mp3"
}
// Tham khảo giá trị file lời chào tại mục 'Danh sách file ghi âm' : 
// https://api.omicall.com/omicall-api/call-center
```

{% endtab %}

{% tab title="TextToSpeed" %}

```json
{
	"targetType": "callBotTextVariable",
	"targetValue": "Chào bạn, đây là cuộc gọi tự động từ tổng đài OMICALL. Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi.",
	"speed": 1,
	"voice": "northern_female_ngocanh"
}
/*
 1. "targetValue": nội dung cần đọc (thông điệp dạng chữ).
 	Giá trị: kiểu text
 	Ví dụ: "Chào bạn, đây là cuộc gọi tự động từ tổng đài OMICALL. Cảm ơn bạn đã sử dụng dịch vụ của chúng tôi.".
 
 2. "speed": tốc độ đọc. 
 	Giá trị: kiểu Integer
 	
     + 1.2 : Rất chậm.
     + 1.1 : Chậm.
     + 1   : Bình thường.
     + 0.9 : Nhanh.
     + 0.8 : Rất nhanh.
 		
 3. "voice": giọng đọc
 	Giá trị: kiểu text
 	
     + "northern_female_ngocanh" : Giọng nữ miền Bắc.
     + "northern_male_anhkiet"   : Giọng nam miền Bắc.
     + "southern_female_khangan" : Giọng nữ miền Nam.
*/
```

{% endtab %}

{% tab title="Tương tác phím" %}

```json
{
	"targetType": "ivrMenu",
	"targetId": "6491781136826a5f9ce62910",
	"targetValue": "728341"
}
// Tham khảo giá trị file lời chào tại mục 'Danh sách KỊCH BẢN BẤM PHÍM' : 
// https://api.omicall.com/omicall-api/call-center
```

{% endtab %}

{% tab title="Nhóm nội bộ" %}

```json
{
	"targetType": "ringGroup",
	"targetId": "65af2e9cc567a1128d92ffcc",
	"targetValue": "79149"
}
// Tham khảo giá trị file lời chào tại mục 'Danh sách NHÓM NỘI BỘ' : 
// https://api.omicall.com/omicall-api/call-center
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="200 Dữ liệu trả về thành công" %}

```
{
    "status_code": 9999,
    "instance_id": "stg",
    "instance_name": "DESKTOP-3I0NHO0",
    "payload": {
        "next_page": 1,
        "page_number": 1,
        "has_previous": false,
        "has_next": false,
        "total_pages": 1,
        "previous_page": 1,
        "total_items": 1,
        "page_size": 50
        "items": [
            {
                "public_id": "", // Id
                "create_by": {
                    "name": "TestBoss 123"
                },
                "last_update_by": {
                    "name": "TestBoss 123"
                },
                "created_date": 1576229754881,
                "last_updated_date": 1580807004410,
                "contact_type": "contact",
                "tags_view": null,
                "is_deleted": false, // Trạng thái
                "tags": [], // Thẻ tags khách hàng
                "attribute_structure": [
                    {
                        "identify": false,
                        "field_code": "full_name",
                        "field_type": "single_text",
                        "value": [
                            {
                                "display_value": "Trần Văn Tiến 1",
                                "data_type": null,
                                "value_type": null
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "job_title",
                        "field_type": "single_text",
                        "value": [
                            {
                                "display_value": "Giám đốc",
                                "data_type": null,
                                "value_type": null
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "gender",
                        "field_type": "radio",
                        "value": [
                            {
                                "display_value": "male",
                                "data_type": null,
                                "value_type": null
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "phone_number",
                        "field_type": "phone",
                        "value": [
                            {
                                "display_value": "0395187319",
                                "data_type": "personal",
                                "value_type": "Cá nhân"
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "mail",
                        "field_type": "email",
                        "value": [
                            {
                                "display_value": "tientv1212@gmail.com",
                                "data_type": "personal",
                                "value_type": "Cá nhân"
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "address",
                        "field_type": "single_text",
                        "value": [
                            {
                                "display_value": "Số 6 , đường 16, Hiệp Bình Chánh, Thủ Đức, HCM",
                                "data_type": null,
                                "value_type": null
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "passport",
                        "field_type": "single_text",
                        "value": [
                            {
                                "display_value": "",
                                "data_type": null,
                                "value_type": null
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "note",
                        "field_type": "multi_text",
                        "value": [
                            {
                                "display_value": "Khách hàng VIP, cần được chăm sóc kĩ",
                                "data_type": null,
                                "value_type": null
                            }
                        ]
                    },
                    {
                        "identify": false,
                        "field_code": "more_infomation",
                        "field_type": "customize",
                        "value": [
                            {
                                "display_value": "Nguyễn Văn B",
                                "data_type": "value1",
                                "value_type": "Người thân"
                            },
                            {
                                "display_value": "Vàng",
                                "data_type": "label2",
                                "value_type": "Màu sắc yêu thích"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "key_enabled": false
}
```

{% endtab %}
{% endtabs %}


---

# 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://api.omicall.com/omicall-api/autocall/goi-tu-dong-thong-thuong-api-v2.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.
