# INSITE x ConZol API
### API TEST https://insite-api-test.builk.com/
### API PRODUCTION https://insite-api.builk.com/
### Header Token Bearer
#### eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJUb2tlbk9wbmVBcGkiOiJJbnNpdGUiLCJuYmYiOjE2NTI0MTgzNjAsImV4cCI6MTY1MjUwNDc2MCwiaWF0IjoxNjUyNDE4MzYwLCJpc3MiOiJodHRwOi8vaW5zaXRlLmJ1aWxrLmNvbS8iLCJhdWQiOiIyZm8zNnI3MjNob3JyYjI5ZWc2bjM5cXA1ciJ9.UFcwBSnr5Q74QpOBPZXVjU8hax4wr4ZvnPGVDW1GiuQ
## `Create Task`
#### `Post api/ConZol/CreateTask`
**Request**
| Parameter | DataType | Description |
|:-------------- |:-------- |:--------------------------------------------------- |
| companyCode | string | required ,เป็น companyCode ของ insite |
| **taskList** | List | ข้อมูล Task ที่ต้องการจะนำไปสร้าง |
| projectCode | string | required ,เป็น projectCode ของ insite |
| planCode | string | required ,เป็น planCode ของ insite |
| workTypeCode | string | required ,เป็น workTypeCode ของ insite |
| taskName | string | required ,ชื่อของ task ที่ต้องการสร้าง สามารถซ้ำได้ |
| ProgressNote | string | ขอความอธิบายเกี่ยนกับ task |
| planStartDate | DateTime | required ,วันที่เริ่มแผนงาน |
| planFinishDate | DateTime | required ,วันที่สิ้นสุดแผนงาน |
| planQuantity | Double | ปริมาณแผนงาน (default = 1) |
**Example Request**
```json=
{
"companyCode": "string",
"taskList": [
{
"projectCode": "string",
"planCode": "string",
"workTypeCode": "string",
"taskName": "string",
"planQuantity": 0,
"progressNote": "string",
"planStartDate": "2022-04-19T11:07:14.195Z",
"planFinishDate": "2022-04-19T11:07:14.195Z"
}
]
}
```
**curl Request**
```curl=
curl --location --request POST 'https://insite-api.builk.com/api/ConZol/CreateTask?api-version=nulla nostrud enim incididunt' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJUb2tlbk9wbmVBcGkiOiJJbnNpdGUiLCJuYmYiOjE2NTI0MTgzNjAsImV4cCI6MTY1MjUwNDc2MCwiaWF0IjoxNjUyNDE4MzYwLCJpc3MiOiJodHRwOi8vaW5zaXRlLmJ1aWxrLmNvbS8iLCJhdWQiOiIyZm8zNnI3MjNob3JyYjI5ZWc2bjM5cXA1ciJ9.UFcwBSnr5Q74QpOBPZXVjU8hax4wr4ZvnPGVDW1GiuQ' \
--data-raw '{
"companyCode": "CZ",
"taskList": [
{
"projectCode": "01",
"planCode": "AR",
"workTypeCode": "A01",
"taskName": "Test_001",
"progressNote": "",
"planQuantity": 1000,
"planStartDate": "2022-04-20T16:22:13.347Z",
"planFinishDate": "2022-04-20T05:18:57.571Z"
}
]
}'
```
**Response**
| Parameter | DataType | Description |
|:------------------------- |:-------- |:---------------------------- |
| companyCode | string | |
| **taskListCreate** | List | Task ที่สร้างได้สำเร็จ |
| **taskListError** | List | Task ที่ไม่สามารถสร้างได้ |
| projectCode | string | |
| planCode | string | |
| workTypeCode | string | |
| planStartDate | DateTime | |
| planQuantity | Double | |
| planFinishDate | DateTime | |
| messageError | string | อธิบาย error จาก insite |
| codeError | int | อธิบาย code error จาก insite |
| taskId | Int | Task Id (unique) ของ Insite |
| taskName | string | |
| deepLinkTaskDetailOpenApp | string | link สำหรับเปิด app insite |
**CodeError**
| Code | Description |
|:---- |:----------------------------------------------------------- |
| 0 | ไม่ทราบ |
| 100 | ไม่พบ Company code หรือ Company code ไม่ถูก |
| 101 | ไม่พบ Project code หรือ Project code ไม่ถูก |
| 102 | ไม่พบ Plan code หรือ Plan code ไม่ถูก |
| 103 | ไม่พบ WorkType code หรือ WorkType code ไม่ถูก |
**Example Response**
```json=
{
"messageError": "string",
"codeError": 0,
"taskListCreate": [
{
"taskId": 0,
"taskName": "string",
"deepLinkTaskDetailOpenApp": "string"
}
],
"taskListError": [
{
"projectCode": "string",
"planCode": "string",
"workTypeCode": "string",
"taskName": "string",
"planStartDate": "2022-04-20T09:13:16.971Z",
"planFinishDate": "2022-04-20T09:13:16.971Z",
"planQuantity": 0,
"messageError": "string",
"codeError": 0
}
]
}
```
## `Update Task`
### `Put api/ConZol/UpdateTask`
**Request**
| Parameter | DataType | Description |
|:--------------- |:-------- |:------------------------------------------------------- |
| companyCode | string | required ,เป็น companyCode ของ insite |
| **taskList** | List | ข้อมูล Task ที่ต้องการจะนำไปสร้าง |
| taskId | int | Task Id (unique) ของ Insite |
| updateTaskStaus | int | เป็น Task status ของ Insite (Reject = 2,Approval = 4 ) |
**Example Request**
```json=
{
"companyCode": "string",
"taskList": [
{
"taskId": 0,
"updateTaskStaus": 0
}
]
}
```
**curl Request**
```curl=
curl --location --request PUT 'https://insite-api.builk.com/api/ConZol/UpdateTask?api-version=nulla nostrud enim incididunt' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJUb2tlbk9wbmVBcGkiOiJJbnNpdGUiLCJuYmYiOjE2NTI0MTgzNjAsImV4cCI6MTY1MjUwNDc2MCwiaWF0IjoxNjUyNDE4MzYwLCJpc3MiOiJodHRwOi8vaW5zaXRlLmJ1aWxrLmNvbS8iLCJhdWQiOiIyZm8zNnI3MjNob3JyYjI5ZWc2bjM5cXA1ciJ9.UFcwBSnr5Q74QpOBPZXVjU8hax4wr4ZvnPGVDW1GiuQ' \
--data-raw '{
"companyCode": "CZ",
"taskList": [
{
"taskId": 0,
"updateTaskStaus": 2
}
]
}'
```
**Response**
| Parameter | DataType | Description |
|:------------------ |:-------- |:---------------------------- |
| companyCode | string | |
| **taskListUpdate** | List | Task ที่อัพเดทได้สำเร็จ |
| **taskListError** | List | Task ที่ไม่สามารถอัพเดทได้ |
| messageError | string | อธิบาย error จาก insite |
| codeError | string | อธิบาย code error จาก insite |
| taskId | Int | Task Id (unique) ของ Insite |
| updateTaskStaus | Int | เป็น Task status ของ Insite |
**CodeError**
| Code | Description |
|:---- |:----------------------------------------------------------- |
| 0 | ไม่ทราบ |
| 100 | ไม่พบ Company code หรือ Company code ไม่ถูก |
| 104 | ไม่พบ Task หรือ Task ถูกลบจาก Insite แล้ว |
| 200 | Task status ไม่ถูกต้อง |
| 201 | ไม่อนุญาตให้ Approval เนื่องจาก task status ไม่เป็น Pending |
**Example Response**
```json=
{
"messageError": "string",
"codeError": 0,
"taskListUpdate": [
{
"taskId": 0,
"codeError": 0,
"updateTaskStaus": 0,
"messageError": "string"
}
],
"taskListError": [
{
"taskId": 0,
"codeError": 0,
"updateTaskStaus": 0,
"messageError": "string"
}
]
}
```
## `Get report`
### `Get api/ConZol/GetChecklistReport?taskId=18121`
**Request**
| Parameter | DataType | Description |
|:--------------- |:-------- |:------------------------------------------------------- |
| taskId | int | Task Id (unique) ของ Insite |
**curl Request**
```curl=
curl --location --request GET 'http://insite-api.com/api/ConZol/GetChecklistReport?taskId=18121' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJUb2tlbk9wbmVBcGkiOiJJbnNpdGUiLCJuYmYiOjE2NTI0MTgzNjAsImV4cCI6MTY1MjUwNDc2MCwiaWF0IjoxNjUyNDE4MzYwLCJpc3MiOiJodHRwOi8vaW5zaXRlLmJ1aWxrLmNvbS8iLCJhdWQiOiIyZm8zNnI3MjNob3JyYjI5ZWc2bjM5cXA1ciJ9.UFcwBSnr5Q74QpOBPZXVjU8hax4wr4ZvnPGVDW1GiuQ'
```
**Response**
| Parameter | DataType | Description |
|:------------ |:------------- |:---------------------------- |
| messageError | string | อธิบาย error จาก insite |
| codeError | string | อธิบาย code error จาก insite |
| file | Object | File |
| byteFile | base64 string | byte file |
| contentType | string | นาทสกุลของ file |
| fileName | string | ชื่อ file |
**CodeError**
| Code | Description |
|:---- |:--------------------------------- |
| 0 | ไม่พบ task |
| 1 | task status ไม่เป็น Pending |
| 2 | สถานะ task ถูกต้อง เป็น Pending |
| 3 | ไม่สามารสร้าง report ได้ |
**Example Response**
```json=
{
"file": {
"byteFile": "string",
"contentType": "string",
"fileName": "string"
},
"messageError": "string",
"codeError": 0
}
```
## `Open App Insite`
### `Get https://insite.builk.com/openApp?taskId=18121`
**Request**
| Parameter | DataType | Description |
|:--------------- |:-------- |:------------------------------------------------------- |
| taskId | int | Task Id (unique) ของ Insite