客戶匯入排程

你可以透過指定存在的「客戶匯入範本」新增相關排程,排程將依據指定時間、檔案等資訊進行匯入。而同一時間為避免資料衝突,若有相同時段排程,將依據執行匯入。

新增

POST https://{API_HOST}/api/v1/entity-import-task
curl -X POST
    '{"recipe_id":5,"has_header":0,"description":"test upload"}'
    -H "Content-Type: application/json"
    -F file=@/home/user/import.csv
    "https://{API_HOST}/api/v1/entity-import-task"

Request params

Parameter

Required

Default

Type

Description

recipe_id

true

NULL

Number

欲使用的匯入範本 id

has_header

false

false

Boolean

是否忽略第一行表頭

description

false

NULL

String

排程說明

file

true

NULL

binary

上傳匯入檔案,最高上傳檔案限制 100MB 以下,支援 csv、xls 格式。

Response

Property

Type

Description

data

Object

{
    "data": {
        "id": 2,
        "has_header": false,
        "file": "entity-import/1615362223-import.csv",
        "size": 50,
        "total_amount": 3,
        "description": "dddd",
        "status": 2,
        "current_sheet_index": 1,
        "current_row_index": 3,
        "job_turns": 1,
        "executed_start_at": "2021-03-10 15:43:44",
        "executed_end_at": "2021-03-10 15:43:44",
        "recipe_id": 1,
        "creater_id": 1,
        "created_at": "2021-03-10 15:43:43",
        "updated_at": "2021-03-10 15:43:44",
        "error": null,
        "restart_at": null,
        "stop_at": null,
        "recipe": {
            "id": 1,
            "name": "ccc",
            "description": null,
            "headers": [
                {
                    "value": "contacts.first_name"
                },
                {
                    "value": "contacts.membership_no",
                    "text": "Customer Number"
                },
                {
                    "value": "phone_numbers.number",
                    "set_id": 1
                },
                {
                    "value": "email_contacts.address",
                    "set_id": 1
                }
            ],
            "unique_columns": [
                "phone_numbers.number",
                "email_contacts.address"
            ],
            "creater_id": 1,
            "created_at": "2021-03-10T07:38:52.000000Z",
            "updated_at": "2021-05-19T12:18:49.000000Z",
            "importable_type": "App\\Contact"
        }
    }
}

列表

Http Request

GET https://{API_HOST}/api/v1/entity-import-task

curl -X GET
    -H "Content-Type: application/json"
    "https://{API_HOST}/api/v1/entity-import-task?per_page=15&page=1"

Parameter

Required

Default

Type

Description

page

false

1

Number

目前在第幾頁

per_page

false

15

Number

每頁呈現多少筆

Response

Property

Type

Description

data

Array of objects

匯入任務

meta

Object

頁籤物件

    "data": [
        {
            "id": 4,
            "has_header": false,
            "file": "entity-import/1621426602-import.csv",
            "size": 49,
            "total_amount": 1,
            "description": "null",
            "status": 2,
            "current_sheet_index": 1,
            "current_row_index": 1,
            "job_turns": 1,
            "executed_start_at": "2021-05-19 20:16:43",
            "executed_end_at": "2021-05-19 20:16:44",
            "recipe_id": 1,
            "creater_id": 1,
            "created_at": "2021-05-19 20:16:42",
            "updated_at": "2021-05-19 20:16:44",
            "error": null,
            "restart_at": null,
            "stop_at": null,
            "recipe": {
                "id": 1,
                "name": "ccc",
                "description": null,
                "headers": [
                    {
                        "value": "contacts.first_name"
                    },
                    {
                        "value": "contacts.membership_no",
                        "text": "Customer Number"
                    },
                    {
                        "value": "phone_numbers.number",
                        "set_id": 1
                    },
                    {
                        "value": "email_contacts.address",
                        "set_id": 1
                    }
                ],
                "unique_columns": [
                    "phone_numbers.number",
                    "email_contacts.address"
                ],
                "creater_id": 1,
                "created_at": "2021-03-10T07:38:52.000000Z",
                "updated_at": "2021-05-19T12:18:49.000000Z",
                "importable_type": "App\\Contact"
            }
        },
        {
            "id": 3,
            "has_header": false,
            "file": "entity-import/1621426576-import.csv",
            "size": 49,
            "total_amount": 1,
            "description": "null",
            "status": 2,
            "current_sheet_index": 1,
            "current_row_index": 1,
            "job_turns": 1,
            "executed_start_at": "2021-05-19 20:16:19",
            "executed_end_at": "2021-05-19 20:16:19",
            "recipe_id": 1,
            "creater_id": 1,
            "created_at": "2021-05-19 20:16:16",
            "updated_at": "2021-05-19 20:16:19",
            "error": null,
            "restart_at": null,
            "stop_at": null,
            "recipe": {
                "id": 1,
                "name": "ccc",
                "description": null,
                "headers": [
                    {
                        "value": "contacts.first_name"
                    },
                    {
                        "value": "contacts.membership_no",
                        "text": "Customer Number"
                    },
                    {
                        "value": "phone_numbers.number",
                        "set_id": 1
                    },
                    {
                        "value": "email_contacts.address",
                        "set_id": 1
                    }
                ],
                "unique_columns": [
                    "phone_numbers.number",
                    "email_contacts.address"
                ],
                "creater_id": 1,
                "created_at": "2021-03-10T07:38:52.000000Z",
                "updated_at": "2021-05-19T12:18:49.000000Z",
                "importable_type": "App\\Contact"
            }
        },
        {
            "id": 2,
            "has_header": false,
            "file": "entity-import/1615362223-import.csv",
            "size": 50,
            "total_amount": 3,
            "description": "dddd",
            "status": 2,
            "current_sheet_index": 1,
            "current_row_index": 3,
            "job_turns": 1,
            "executed_start_at": "2021-03-10 15:43:44",
            "executed_end_at": "2021-03-10 15:43:44",
            "recipe_id": 1,
            "creater_id": 1,
            "created_at": "2021-03-10 15:43:43",
            "updated_at": "2021-03-10 15:43:44",
            "error": null,
            "restart_at": null,
            "stop_at": null,
            "recipe": {
                "id": 1,
                "name": "ccc",
                "description": null,
                "headers": [
                    {
                        "value": "contacts.first_name"
                    },
                    {
                        "value": "contacts.membership_no",
                        "text": "Customer Number"
                    },
                    {
                        "value": "phone_numbers.number",
                        "set_id": 1
                    },
                    {
                        "value": "email_contacts.address",
                        "set_id": 1
                    }
                ],
                "unique_columns": [
                    "phone_numbers.number",
                    "email_contacts.address"
                ],
                "creater_id": 1,
                "created_at": "2021-03-10T07:38:52.000000Z",
                "updated_at": "2021-05-19T12:18:49.000000Z",
                "importable_type": "App\\Contact"
            }
        }
    ],
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 15,
        "to": 3,
        "total": 3
    }
}

檢視

Http Request

GET https://{API_HOST}/api/v1/entity-import-task/{id}

curl -X GET
    -H "Content-Type: application/json"
    "https://{API_HOST}/api/v1//entity-import-task/{id}"

Response

Property

Type

Description

data

Object

{
    "data": {
        "id": 2,
        "has_header": false,
        "file": "entity-import/1615362223-import.csv",
        "size": 50,
        "total_amount": 3,
        "description": "dddd",
        "status": 2,
        "current_sheet_index": 1,
        "current_row_index": 3,
        "job_turns": 1,
        "executed_start_at": "2021-03-10 15:43:44",
        "executed_end_at": "2021-03-10 15:43:44",
        "recipe_id": 1,
        "creater_id": 1,
        "created_at": "2021-03-10 15:43:43",
        "updated_at": "2021-03-10 15:43:44",
        "error": null,
        "restart_at": null,
        "stop_at": null,
        "recipe": {
            "id": 1,
            "name": "ccc",
            "description": null,
            "headers": [
                {
                    "value": "contacts.first_name"
                },
                {
                    "value": "contacts.membership_no",
                    "text": "Customer Number"
                },
                {
                    "value": "phone_numbers.number",
                    "set_id": 1
                },
                {
                    "value": "email_contacts.address",
                    "set_id": 1
                }
            ],
            "unique_columns": [
                "phone_numbers.number",
                "email_contacts.address"
            ],
            "creater_id": 1,
            "created_at": "2021-03-10T07:38:52.000000Z",
            "updated_at": "2021-05-19T12:18:49.000000Z",
            "importable_type": "App\\Contact"
        }
    }
}

範本列表

你可以透過 API 查找排程符合的範本 ID,或是透過系統介面查詢相關資訊。

Http Request

GET https://{API_HOST}/api/v1/entity-import-recipe?importable_type=App\Contact

curl -X GET
    -H "Content-Type: application/json"
    "https://{API_HOST}/api/v1/entity-import-recipe?importable_type=App\Contact"

Query Parameters

Parameter

Required

Default

Type

Description

page

false

1

Number

目前在第幾頁

per_page

false

15

Number

每頁呈現多少筆

importable_type

true

null

String

範本類型,這邊請需帶入 App\Contact

Response

{
    "data": [
        {
            "id": 1,
            "name": "ccc",
            "importable_type": "App\\Contact",
            "description": null,
            "headers": [
                {
                    "value": "contacts.first_name"
                },
                {
                    "value": "contacts.membership_no",
                    "text": "Customer Number"
                },
                {
                    "value": "phone_numbers.number",
                    "set_id": 1
                },
                {
                    "value": "email_contacts.address",
                    "set_id": 1
                }
            ],
            "unique_columns": [
                "phone_numbers.number",
                "email_contacts.address"
            ],
            "creater_id": 1,
            "creater": {
                "id": 1,
                "name": "洪 小閎",
                "first_name": "洪",
                "last_name": "小閎",
                "employee_no": "jocoonopa",
                "photo_url": null,
                "identity_no": "A125202038",
                "job_title_id": -1,
                "department_id": -1,
                "extension_id": -1,
                "extension": null,
                "profile_id": 1,
                "group_id": null,
                "group": {
                    "id": null,
                    "name": null,
                    "description": null,
                    "supervisor_id": null
                },
                "cti_agent_account": null,
                "cti_agent": null,
                "cti_agent_id": null,
                "created_at": "2021-01-15 10:53:00",
                "updated_at": "2021-08-05 02:38:09"
            },
            "tasks_count": 13
        }
    ],
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 15,
        "to": 1,
        "total": 1
    }
}

範本檢視

Http Request

GET https://{API_HOST}/api/v1/entity-import-recipe/{id}

curl -X GET
    -H "Content-Type: application/json"
    "https://{API_HOST}/api/v1/entity-import-recipe/1"

URL Parameters

Parameter

Description

id

批次匯入範本 ID

Response

{
    "data": {
        "id": 1,
        "name": "ccc",
        "importable_type": "App\\Contact",
        "description": null,
        "headers": [
            {
                "value": "contacts.first_name"
            },
            {
                "value": "contacts.membership_no",
                "text": "Customer Number"
            },
            {
                "value": "phone_numbers.number",
                "set_id": 1
            },
            {
                "value": "email_contacts.address",
                "set_id": 1
            }
        ],
        "unique_columns": [
            "phone_numbers.number",
            "email_contacts.address"
        ],
        "creater_id": 1,
        "creater": {
            "id": 1,
            "name": "洪 小閎",
            "first_name": "洪",
            "last_name": "小閎",
            "employee_no": "jocoonopa",
            "photo_url": null,
            "identity_no": "A125202038",
            "job_title_id": -1,
            "department_id": -1,
            "extension_id": -1,
            "extension": null,
            "profile_id": 1,
            "group_id": null,
            "group": {
                "id": null,
                "name": null,
                "description": null,
                "supervisor_id": null
            },
            "cti_agent_account": null,
            "cti_agent": null,
            "cti_agent_id": null,
            "created_at": "2021-01-15 10:53:00",
            "updated_at": "2021-08-05 02:38:09"
        },
        "tasks_count": 13
    }
}

Last updated