> For the complete documentation index, see [llms.txt](https://api.omicall.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api.omicall.com/omicall-api/autocall/goi-tu-dong-thong-thuong-api-v2.md).

# 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

<table><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>phoneNumbers<mark style="color:red;">*</mark></td><td>Array</td><td>Danh sách các số điện thoại cần gọi</td></tr><tr><td>scripts<mark style="color:red;">*</mark></td><td>Array</td><td>Mảng thông tin kịch bản cuộc gọi. Tham khảo thêm mục: [<strong>Mô tả kịch bản trong cuộc gọi</strong>]</td></tr><tr><td>sipNumbers<mark style="color:red;">*</mark></td><td>Array</td><td>Danh sách đầu số dùng để thực hiện cuộc gọi.</td></tr><tr><td>httpCallback</td><td>Object</td><td><p>Config nhận hook (không bắt buộc.</p><pre class="language-json"><code class="lang-json">{
    "url": "https://..."
}
</code></pre></td></tr></tbody></table>

**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": "6a0c14685baa1019ff726xxx" // id file lời chào hệ thống
> 	},
> 	{
> 		"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": "northern_female_ngocanh"
> 	},
> 	{
> 		"targetType": "ivrMenu",
> 		"target": "543526" // số nội bộ đài diện của kịch bản tương tác phím
> 	},
> 	{
> 		"targetType": "ringGroup",
> 		"target": "90946" // số nội bộ đại diện của nhóm nội bộ
> 	}
> ]
> ```

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. "textVariable" : 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",
	"target": "6a0c14685baa1019ff726xxx" // id file lời chào hệ thống
}
// 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": "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.",
	"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",
	"target": "543526" // số nội bộ đài diện của kịch bản tương tác phím
}
// 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",
	"target": "90946" // số nội bộ đại diện của nhóm nội bộ
}
// 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 %}

{% tab title="Webhook" %}

```json
// Webhook response khi có config httpCallback
{
  "isSuccess": true, //Trạng thái phiên đẩy lên tổng đài
  "data": {
    "recordUUID": "3697a413-74a8-491c-b8dd-xxx",//UUID định danh cuộc gọi trong phiên
    "currentCCU": 0, //CCU ngay trước thời điểm gọi
    "endTimeMs": 1779930014641, //Thời gian kết thúc xử lý và bắt đầu đẩy cuộc gọi lên tổng đài
    "phoneNumber": "093273xxx", //Số điện thoại khách hàng
    "sipNumber": "0966967xxx", //Số sip dùng để gọi ra
    "maxCCU": 100 //CCU tối đa
  }
}
```

{% 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 %}
