Sale Order Service
API ใบสั่งขาย
- ดึงเอกสารใบสั่งขาย ทั้งหมด
- ดึงเอกสารใบสั่งขาย ตามเอกสาร
- สร้างเอกสารใบสั่งขาย
- อัปเดตสถานะการอนุมัติ
- Sale Order Attribute
Header Request
| Field | Value |
|---|---|
| GUID | GUID สำหรับการเชื่อมต่อ (smlx เสมอ) |
| provider | ชื่อผู้ใช้บริการ |
| databaseName | ชื่อฐานข้อมูล |
| configFileName | ไฟล์ตั้งค่าผู้ให้บริการ ใส่ SMLConfig และตามด้วยชื่อผู้ให้บริการ และตามด้วย .xml (SMLConfig___.xml) |
Header Example
{
"GUID" : "smlx"
"provider" : "DATA"
"databaseName" : "data1"
"configFileName" : "SMLConfigDATA.xml"
}HTTP Response
| Status | Descripton |
|---|---|
| 200 | Success return with data |
| 500 | Bas Request |
| 401 | Unauthorize |
SaleOrder List
แสดงข้อมูลเอกสารใบสั่งขาย ทั้งหมด
EndPoint
GET /SMLJavaRESTService/saleorder/v4
Query Request
| Field | Description |
|---|---|
| page | number of page |
| size | page size |
Example:
GET localhost:8084/SMLJavaRESTService/saleorder/v4?page=1&size=2SaleOrder Information
เป็นการดึงข้อมูลเอกสารใบสั่งขาย มาแสดงทีละ 1 เอกสารโดยจะต้องระบุเลขที่เอกสาร
EndPoint
GET /SMLJavaRESTService/saleorder/v4/{docno}
Path Parameter:
| Name | Description | Example |
|---|---|---|
| docno | เลขที่เอกสาร | SO23020001 |
example:
GET localhost:8084/SMLJavaRESTService/saleorder/v4/SO23020001Response Success
{
"success": true,
"data": {
"trans_type": 2,
"trans_flag": 36,
"doc_date": "2023-02-27",
"doc_no": "SO23020001",
"tax_doc_no": "SO23020001",
"tax_doc_date": "2023-02-27",
"inquiry_type": 0,
"vat_type": 1,
"cust_code": "AR00016",
"contactor": "",
"branch_code": "001",
"sale_area_code": "",
"send_type": 0,
"send_day": 0,
"credit_day": 0,
"answer_type": 0,
"transport_value": 0,
"vat_rate": 7,
"currency_code": "",
"exchange_rate": 0,
"total_cost": 0,
"total_value": 150,
"total_discount": 0,
"total_vat_value": 9.813,
"total_after_vat": 150,
"total_except_vat": 0,
"total_amount": 150,
"balance_amount": 0,
"approve_code": "",
"status": 0,
"user_request": "",
"expire_day": 0,
"doc_ref_trans": "",
"credit_date": "2023-02-27",
"total_before_vat": 140.187,
"doc_time": "14:19",
"last_status": 0,
"not_approve_1": 0,
"user_approve": "",
"approve_status": 0,
"doc_format_code": "SO",
"creator_code": "RESTAPI",
"create_datetime": "2023-02-27 14:34:41.000",
"is_pos": 0,
"details": [
{
"trans_type": 2,
"trans_flag": 36,
"doc_date": 1677430800000,
"doc_no": "SO23020001",
"item_code": "AC-00014",
"item_name": "น้ำยาบัดกรี",
"unit_code": "อัน",
"qty": 3,
"price": 50,
"sum_amount": 150,
"status": 0,
"line_number": 0,
"branch_code": "001",
"wh_code": "CENTER",
"shelf_code": "CENTER",
"total_vat_value": 9.81,
"calc_flag": 1,
"last_status": 0,
"tax_type": 0,
"is_permium": 0,
"sum_amount_exclude_vat": 140.187,
"discount_amount": 0,
"price_exclude_vat": 46.73
}
]
}
}Response Error
{
"error": true,
"code": "99",
"message": "error message"
}Add SaleOrder
สร้างเอกสารใบสั่งขาย
EndPoint
POST /SMLJavaRESTService/saleorder/v4
Body Data:
JSON body with SaleOrder Request Attribute
example:
json
{
"doc_no": "SO23020001",
"doc_date": "2023-02-27",
"doc_time": "14:19",
"doc_format_code": "SO",
"doc_ref": "",
"doc_ref_date": null,
"doc_group": "",
"cust_code": "AR00016",
"cust_name": "",
"contactor": "",
"tax_doc_no": "SO23020001",
"tax_doc_date": "2023-02-27",
"inquiry_type": 0,
"vat_type": 1,
"vat_rate": 7,
"sale_code": "S001",
"sale_group": "",
"branch_code": "001",
"department_code": "",
"allocate_code": "",
"project_code": "",
"job_code": "",
"side_code": "",
"send_type": 0,
"send_day": 0,
"send_date": null,
"credit_day": 30,
"credit_date": "2023-03-29",
"expire_day": 0,
"expire_date": null,
"on_hold": 0,
"approve_code": "",
"user_request": "",
"cashier_code": "",
"discount_word": "",
"total_value": 150,
"total_discount": 0,
"total_before_vat": 140.187,
"total_vat_value": 9.813,
"total_after_vat": 150,
"total_except_vat": 0,
"total_amount": 150,
"remark": "",
"remark_2": "",
"remark_3": "",
"remark_4": "",
"remark_5": "",
"details": [
{
"line_number": 0,
"item_code": "AC-00014",
"barcode": "",
"unit_code": "อัน",
"qty": 3,
"price": 50,
"discount": "",
"discount_amount": 0,
"sum_amount": 150,
"sum_amount_exclude_vat": 140.187,
"price_exclude_vat": 46.729,
"vat_amount": 9.813,
"tax_type": 0,
"wh_code": "CENTER",
"shelf_code": "CENTER",
"ref_doc_no": "",
"due_date": null,
"lot_number_1": "",
"remark": "",
"is_permium": 0,
"is_get_price": 1
}
]
}Response Success
{
"success": true,
"data": {
"code": "SO23020001"
}
}Response Error
{
"error": true,
"code": "99",
"message": "error message"
}Update Approve Status
อัปเดตสถานะการอนุมัติเอกสารใบสั่งขาย (approve_status = 1)
EndPoint
POST /SMLJavaRESTService/saleorder/v4/updateapprovestatus
Body Data:
| Field | Type | Description |
|---|---|---|
| docNo | String | เลขที่เอกสาร |
example:
{
"docNo": "SO23020001"
}Response Success
{
"success": true,
"data": {
"trans_type": 2,
"trans_flag": 36,
"doc_no": "SO23020001",
"approve_status": 1,
...
}
}Response Error
{
"error": true,
"code": "98",
"message": "Not Found Sale Order : SO23020001"
}SaleOrder Attribute
ฟิลด์ที่ระบุ (required) คือฟิลด์ที่ต้องส่งใน POST request
| Field Name | Field Type | Length | Description |
|---|---|---|---|
| adjust_reason | String | 25 | เหตุผลการปรับปรุง |
| advance_amount | Float | ตัดเงินมัดจำ | |
| allocate_code | String | 25 | การจัดสรร |
| allocate_code_to | String | 25 | ถึงการจัดสรร |
| answer_type | Integer | ลูกค้าตอบกลับ | |
| approve_code | String | 25 | กลุ่มผู้อนุมัติ |
| approve_date | Date | วันที่อนุมัติ | |
| approve_status | Integer | สถานะการอนุมัติ | |
| auto_approved | Integer | อนุมัติโดยอัตโนมัติ | |
| auto_create | Integer | สร้างโดยโปรแกรม | |
| balance_amount | Float | ยอดเงินคงเหลือ | |
| branch_code | String | 25 | สาขา |
| branch_code_to | String | 25 | ถึงสาขา |
| cancel_code | String | 255 | ผู้ยกเลิกเอกสาร |
| cancel_datetime | Date | เวลายกเลิกเอกสาร | |
| cancel_type | Integer | ประเภทการยกเลิก | |
| cashier_code | String | 25 | Cashier |
| contactor | String | 25 | ผู้ติดต่อ |
| create_datetime | Date | วันที่สร้างเอกสาร | |
| creator_code | String | 255 | ผู้สร้างเอกสาร |
| credit_date | Date | วันที่ครบกำหนด | |
| credit_day | Integer | วันเครดิต | |
| currency_code | String | 25 | รหัสสกุลเงิน |
| currency_money | Float | ยอดคงเหลือ (ตามสกุลเงิน) | |
| cust_code | String | 25 | ลูกหนี้/เจ้าหนี้ (required) |
| cust_name | String | 255 | ชื่อลูกหนี้/เจ้าหนี้ |
| delivery_date | Date | วันที่ส่งของ | |
| department_code | String | 25 | แผนก |
| department_code_to | String | 25 | ถึงแผนก |
| deposit_date | Date | ระยะเวลาภายใน (วันที่) | |
| deposit_day | Integer | ระยะเวลาภายใน (วัน) | |
| discount_word | String | 25 | ส่วนลด |
| discount_word_2 | String | 50 | ส่วนลด (สกุลเงิน) |
| doc_close | Integer | ปิดเอกสาร | |
| doc_date | Date | เอกสารวันที่ (required) | |
| doc_format_code | String | 25 | รหัสเอกสาร |
| doc_group | String | 25 | กลุ่มเอกสาร |
| doc_no | String | 25 | เอกสารเลขที่ (required) |
| doc_no_guid | String | 25 | เลขที่เอกสารเปรียบเทียบ |
| doc_reason | String | 500 | เหตุผล |
| doc_ref | String | 255 | เอกสารอ้างอิง |
| doc_ref_date | Date | เอกสารอ้างอิงวันที่ | |
| doc_ref_trans | String | 25 | อ้างอิงเอกสาร |
| doc_ref_type | String | ประเภทเอกสารอ้างอิง | |
| doc_success | Integer | สิ้นสุด | |
| doc_time | String | 5 | เวลา (HH:mm) |
| doc_type | Integer | ประเภทเอกสาร | |
| due_date | Date | วันที่ครบกำหนด | |
| exchange_rate | Float | อัตราแลกเปลี่ยน | |
| expire_date | Date | วันที่หมดอายุ | |
| expire_day | Integer | จำนวนวันหมดอายุ | |
| expire_status | Integer | สถานะหมดอายุ | |
| extra_word | String | 100 | ข้อความเพิ่มเติม |
| guid_code | String | GUID | |
| inquiry_type | Integer | ประเภทรายการ | |
| is_cancel | Integer | เอกสารยกเลิก | |
| is_doc_copy | Integer | เป็นเอกสารที่ออกแทน | |
| is_hold | Integer | ระงับเอกสาร | |
| is_manual_vat | Integer | บันทึกรายการภาษีเอง | |
| is_pos | Integer | จากระบบ POS (default: 0) | |
| job_code | String | 25 | งาน |
| job_code_to | String | 25 | ถึงงาน |
| last_editor_code | String | 255 | ผู้แก้ไขเอกสารล่าสุด |
| last_status | Integer | สถานะล่าสุด | |
| lastedit_datetime | Date | วันที่แก้ไขล่าสุด | |
| location_from | String | พื้นที่เก็บ (ต้นทาง) | |
| location_to | String | พื้นที่เก็บ (ปลายทาง) | |
| lost_profit_exchange_amount | Float | ผลต่างจากอัตราแลกเปลี่ยน | |
| member_code | String | 25 | รหัสสมาชิก |
| money | Float | จำนวนเงินคืน | |
| not_approve_1 | Integer | ไม่อนุมัติ | |
| on_hold | Integer | ระงับชั่วคราว | |
| pass_book_code | String | สมุดเงินฝาก | |
| pay_amount | Float | เงินชำระ | |
| period_guid | String | 50 | GUID กะ |
| point_telephone | String | หมายเลขโทรศัพท์ | |
| pos_bill_change | Integer | 0=ปรกติ, 1=ใบแทน | |
| pos_bill_type | Integer | 0=อย่างย่อ, 1=อย่างเต็ม | |
| pos_id | String | หมายเลขเครื่อง POS | |
| pos_transfer | Integer | โอนมาจาก POS | |
| project_code | String | 25 | โครงการ |
| project_code_to | String | 25 | ถึงโครงการ |
| recheck_count | Integer | เปิดระบบเตือนตรวจนับซ้ำ | |
| recheck_count_day | Float | เตือนย้อนหลัง (วัน) | |
| ref_amount | Float | มูลค่าเอกสารเดิม | |
| ref_diff | Float | ผลต่าง | |
| ref_new_amount | Float | มูลค่าที่ถูกต้อง | |
| remark | String | 255 | หมายเหตุ |
| remark_2 | String | 255 | หมายเหตุ 2 |
| remark_3 | String | 255 | หมายเหตุ 3 |
| remark_4 | String | 255 | หมายเหตุ 4 |
| remark_5 | String | 255 | หมายเหตุ 5 |
| sale_area_code | String | 25 | เขตการขาย |
| sale_code | String | 25 | พนักงานขาย |
| sale_group | String | 25 | กลุ่มพนักงานขาย |
| sale_shift_id | String | 50 | รอบการขาย |
| send_date | Date | วันที่รับ/ส่งสินค้า | |
| send_day | Integer | รับ/ส่ง ภายใน (วัน) | |
| send_mail | Integer | แจ้งส่งทางอีเมล์ | |
| send_sms | Integer | แจ้งส่งทาง SMS | |
| send_to_pick_and_pack | Integer | สั่งจัดสินค้า | |
| send_type | Integer | ประเภทการส่ง | |
| sender_code | String | 25 | พนักงานขนส่ง |
| service_charge_word | String | 25 | Service Charge |
| side_code | String | 25 | ฝ่าย |
| side_code_to | String | 25 | ถึงฝ่าย |
| status | Integer | สถานะ | |
| sum_pay_money_diff | Float | ผลต่างยอดชำระ | |
| sum_point | Float | แต้ม | |
| sum_point_2 | Float | ยอดแต้มสะสมระบบกลาง | |
| table_number | String | 25 | หมายเลขโต๊ะ |
| tax_doc_date | Date | วันที่ใบกำกับ | |
| tax_doc_no | String | 25 | เลขที่ใบกำกับ |
| total_after_vat | Float | มูลค่าหลังคิดภาษี | |
| total_amount | Float | มูลค่าสุทธิ (required) | |
| total_amount_2 | Float | มูลค่าสุทธิ (สกุลเงิน) | |
| total_amout_old | Float | มูลค่าสุทธิเดิม | |
| total_before_vat | Float | ยอดก่อนภาษี | |
| total_cost | Float | ต้นทุนสินค้า | |
| total_debt_amount | Float | ยอดหนี้รวมภาษี | |
| total_discount | Float | มูลค่าส่วนลด | |
| total_discount_2 | Float | มูลค่าส่วนลด (สกุลเงิน) | |
| total_except_vat | Float | มูลค่ายกเว้นภาษี | |
| total_manual | Integer | บันทึกยอดรวมเอง | |
| total_service_charge | Float | มูลค่า Service Charge | |
| total_vat_value | Float | ภาษีมูลค่าเพิ่ม | |
| total_value | Float | มูลค่าสินค้า (required) | |
| total_value_2 | Float | มูลค่าสินค้า (สกุลเงิน) | |
| trans_flag | Integer | รายวันระบบ (36 = ใบสั่งขาย, auto) | |
| trans_type | Integer | ประเภทรายวัน (2 = ขาย, auto) | |
| transport_code | String | 25 | ขนส่งโดย |
| transport_value | Float | ค่าขนส่ง | |
| used_status | Integer | มีการอ้างอิงแล้ว | |
| used_status_2 | Integer | สถานะ 2 | |
| user_approve | String | 25 | ผู้อนุมัติ |
| user_request | String | 25 | ผู้ขออนุมัติ |
| vat_rate | Float | อัตราภาษี | |
| vat_type | Integer | ประเภทภาษี (0=ไม่มีภาษี, 1=แยกนอก, 3=รวมใน) | |
| want_date | Date | ต้องการภายใน (วันที่) | |
| want_day | Integer | ต้องการภายใน (วัน) | |
| wh_from | String | 25 | คลัง (ต้นทาง) |
| wh_to | String | 25 | คลัง (ปลายทาง) |
| details | ArrayObject | รายละเอียดสินค้า |
SaleOrder Detail
ฟิลด์ที่ระบุ (required) คือฟิลด์ที่ต้องส่งใน POST request
| Field Name | Field Type | Length | Description |
|---|---|---|---|
| auto_create | Integer | สร้างโดยโปรแกรม | |
| average_cost | Float | ราคาทุนเฉลี่ย | |
| average_cost_1 | Float | ราคาทุนเฉลี่ยแฝง | |
| bank_branch | String | สาขาธนาคาร | |
| bank_branch_2 | String | สาขาธนาคาร 2 | |
| bank_name | String | ธนาคาร | |
| bank_name_2 | String | ธนาคาร 2 | |
| barcode | String | 25 | Barcode |
| bat_date | Date | bat date | |
| bat_number | String | bat number | |
| branch_code | String | 25 | สาขา |
| calc_flag | Integer | บวกหรือลบ (1=บวก, -1=ลบ, default: -1) | |
| cancel_qty | Float | จำนวนยกเลิก | |
| chq_number | String | เลขที่เช็ค | |
| create_datetime | Date | วันที่สร้างเอกสาร | |
| creator_code | String | 25 | ผู้สร้างเอกสาร |
| currency_code | String | 25 | สกุลเงิน |
| cust_code | String | 25 | ลูกหนี้/เจ้าหนี้ |
| date_due | Date | วันครบกำหนด | |
| date_expire | Date | หมดอายุ | |
| department_code | String | 25 | แผนก |
| discount | String | 25 | ส่วนลด |
| discount_amount | Float | มูลค่าส่วนลด | |
| discount_amount_2 | Float | มูลค่าส่วนลด (สกุลเงิน) | |
| discount_changed | Integer | มีการแก้ไขส่วนลด | |
| discount_number | Integer | หมายเลขส่วนลด | |
| divide_value | Float | ตัวหาร | |
| doc_date | Date | เอกสารวันที่ | |
| doc_date_calc | Date | วันที่สำหรับคำนวณ | |
| doc_group | String | 25 | กลุ่มเอกสาร |
| doc_no | String | 25 | เอกสารเลขที่ |
| doc_ref | String | 25 | เอกสารอ้างอิง |
| doc_ref_type | Integer | ประเภทเอกสารอ้างอิง | |
| doc_time | String | 5 | เวลา |
| doc_time_calc | String | เวลาสำหรับคำนวณ | |
| due_date | Date | วันที่ต้องการ | |
| exchange_rate | Float | อัตราแลกเปลี่ยน | |
| exchange_rate_old | Float | อัตราแลกเปลี่ยนเดิม | |
| fee_amount | Float | ค่าธรรมเนียม | |
| hidden_cost_1 | Float | ต้นทุนแฝงบริหาร | |
| hidden_cost_1_exclude_vat | Float | ต้นทุนแฝงบริหารไม่รวมภาษี | |
| hidden_cost_2 | Float | ต้นทุนแฝงบัญชี | |
| hidden_cost_2_exclude_vat | Float | ต้นทุนแฝงบัญชีไม่รวมภาษี | |
| ic_color | String | 25 | สีสินค้า |
| ic_pattern | String | 25 | รูปแบบสินค้า |
| ic_size | String | 25 | ขนาดสินค้า |
| inquiry_type | Integer | ประเภทการขาย | |
| is_doc_copy | Integer | เป็นเอกสารที่ออกแทน | |
| is_get_price | Integer | ให้ดึงราคาขาย (1=ดึง) | |
| is_lock_cost | Integer | กำหนดต้นทุนเอง | |
| is_permium | Integer | 1=ของแถม | |
| is_pos | Integer | จาก POS | |
| is_serial_number | Integer | มีหมายเลขเครื่อง | |
| item_code | String | 25 | รหัสสินค้า (required) |
| item_code_2 | String | 25 | รหัสสินค้า 2 |
| item_code_main | String | 25 | สินค้าหลัก |
| item_name | String | 255 | ชื่อสินค้า |
| item_type | Integer | ประเภทสินค้า | |
| last_editor_code | String | 25 | ผู้แก้ไขเอกสารล่าสุด |
| last_status | Integer | สถานะล่าสุด (0=Normal, 1=ยกเลิก) | |
| lastedit_datetime | Date | วันที่แก้ไขล่าสุด | |
| line_number | Integer | บรรทัด | |
| lot_number_1 | String | เลข LOT | |
| mfd_date | Date | วันที่ผลิต | |
| mfn_code | String | 50 | รหัสผู้ผลิต |
| mfn_name | String | ผู้ผลิต | |
| price | Float | ราคา (required) | |
| price_2 | Float | ราคา (สกุลเงิน) | |
| price_base | Float | ราคากลาง | |
| price_changed | Integer | มีการแก้ไขราคา | |
| price_default | Float | ราคาเริ่มต้น | |
| price_exclude_vat | Float | ราคาไม่รวมภาษี | |
| price_guid | String | Price Guid | |
| price_mode | Integer | กลุ่มราคา | |
| price_set_ratio | Float | อัตราส่วนราคาสินค้าชุด | |
| price_type | Integer | ประเภทราคา | |
| priority_level | Integer | ความสำคัญ | |
| product_week | String | สัปดาห์ที่ผลิต | |
| product_year | String | ปีที่ผลิต | |
| profit_lost_cost_amount | Float | กำไรขาดทุน | |
| promotion_code | String | 50 | รหัสโปรโมชั่น |
| qty | Float | จำนวน (required) | |
| qty_2 | Float | จำนวนขาย | |
| ratio | Float | อัตราส่วน | |
| ref_cust_code | String | 25 | อ้างอิง เจ้าหนี้/ลูกหนี้ |
| ref_doc_date | Date | อ้างอิง วันที่ | |
| ref_doc_no | String | 25 | อ้างอิงเอกสาร |
| ref_guid | String | ref_guid | |
| ref_line_number | Integer | อ้างอิง บรรทัด | |
| ref_row | Integer | ref_row | |
| remark | String | 255 | หมายเหตุ |
| sale_code | String | 25 | รหัสพนักงานขาย |
| sale_group | String | 25 | กลุ่มพนักงานขาย |
| sale_shift_id | String | 50 | รอบการขาย |
| set_ref_line | String | บรรทัดอ้างอิง (สินค้าชุด) | |
| set_ref_price | Float | ราคาอ้างอิง (สินค้าชุด) | |
| set_ref_qty | Float | จำนวนอ้างอิง (สินค้าชุด) | |
| shelf_code | String | 25 | พื้นที่เก็บ (required) |
| shelf_code_2 | String | 25 | พื้นที่เก็บ 2 |
| stand_value | Float | ตัวตั้ง | |
| status | Integer | สถานะ | |
| sum_amount | Float | รวมมูลค่า (required) | |
| sum_amount_2 | Float | รวมมูลค่า (สกุลเงิน) | |
| sum_amount_exclude_vat | Float | รวมมูลค่าไม่รวมภาษี | |
| sum_of_cost | Float | รวมต้นทุน | |
| sum_of_cost_1 | Float | ต้นทุนรวมต้นทุนแฝงบริหาร | |
| sum_of_cost_fix | Float | ต้นทุน (กำหนดเอง) | |
| tax_type | Integer | ประเภทภาษี (0=มีภาษี, 1=ยกเว้น) | |
| temp_float_1 | Float | ตัวเลข 1 | |
| temp_float_2 | Float | ตัวเลข 2 | |
| temp_string_1 | String | ตัวอักษร 1 | |
| total_qty | Float | จำนวนคงเหลือ | |
| total_size | Float | รวมหน่วยนับ 2 | |
| total_vat_value | Float | ภาษีมูลค่าเพิ่ม | |
| trans_flag | Integer | รายวันระบบ (36 = ใบสั่งขาย, auto) | |
| trans_type | Integer | ประเภทรายวัน (2 = ขาย, auto) | |
| transfer_amount | Float | ยอดโอนเงิน | |
| unit_code | String | 25 | หน่วยนับ (required) |
| unit_code_2 | String | 25 | หน่วยช่วยขาย |
| unit_size | Float | ขนาดสินค้า | |
| user_approve | String | 25 | รหัสผู้อนุมัติ |
| vat_type | Integer | ประเภทภาษี (0=แยกนอก, 1=รวมใน, 2=อัตรา 0) | |
| wh_code | String | 25 | คลัง (required) |
| wh_code_2 | String | 25 | คลัง 2 |