Skip to content

Rest API

WAMS

Purchase Order

การส่งข้อมูลสร้าง WAMS Template

TODO


การรับข้อมูล WAMS หลังสร้าง Template การอนุมัติเสร็จสิ้น

  • Hostname: https://odoo.absoluteassembly.co.th
  • HTTP Route: /api/create_update_data
  • Header:

    {
        "Content-Type": "application/json",
        "db": "<database name>",
        "login": "<login>",
        "password": "<password>",
    }
    
  • Body:

    {
        "params": {
            "model": <model>,
            "vals": {
                "payload": {
                    "name": "<number PR>",
                    "company_id": "<company name>",
                    "wams_number": "<number WAMS>",
                    "attachment_ids": [
                        {
                            "name": <name file>,
                            "datas": "<base64>",
                            "api_done": 1
                        }
                    ]
                }
            }
        }
    }
    

ตารางข้อมูล

Field Type Mandatory Comment
model String Y กำหนด "purchase.request"
name String Y หมายเลขเอกสาร Purchase Request ของระบบ Odoo
company_id String Y ชื่อบริษัท
wams_number String Y หมายเลขเอกสาร WAMS
attachment_ids List N ข้อมูลใน List จะประกอบไปด้วย
  • name ชื่อเอกสารแนบ
  • datas ข้อมูลไฟล์เป็น String Base64
  • api_done กำหนดเป็น 1 เพื่อไม่ให้ระบบส่งกลับเข้า WAMS
  • Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "purchase.request",
            "vals": {
                "payload": {
                    "name": "PR00015",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "wams_number": "WAMS0001",
                    "attachment_ids": [
                        {
                            "name": "Attachment 2",
                            "datas": "iVBORw0KGgoAAAANSUhEUgAABKsAAAHYCAIAAAANkvwXAAAAA3NCSVQICAjb4U/gAAAAEHRFWHRTb2Z0d2FyZQBTaHV0dGVyY4LQCQAAIABJREFUeNrs3X9wFHd+J/yPbexp+6xxm2XiBo/XE/Rk...",
                            "api_done": 1
                        }
                    ]
                }
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "id": 16,
                "name": "PR00001"
            },
            "messages": "Record updated successfully"
        }
    }
    


    การรับข้อมูล WAMS เมื่อการอนุมัติเสร็จสิ้น (Approve / Reject)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_update_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": <model>,
              "vals": {
                  "payload": {
                      "name": "<number PR>",
                      "company_id": "<company name>",
                      "wams_number": "<number WAMS>",
                      "wams_comment": "<comment of WAMS>",
                      "attachment_ids": [
                          {
                              "name": <name file>,
                              "datas": "<base64>",
                              "api_done": 1
                          }
                      ]
                  },
                  "method": "<method name>",
                  "state": "<state>",
                  "reason": "<comment>",
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "purchase.request"
    name String Y หมายเลขเอกสาร Purchase Request ของระบบ Odoo
    company_id String Y ชื่อบริษัท
    wams_number String Y หมายเลขเอกสาร WAMS
    wams_comment String Y เหตุผลการอนุมัติ ของทุกคน
    attachment_ids List N ข้อมูลใน List จะประกอบไปด้วย
  • name ชื่อเอกสารแนบ
  • datas ข้อมูลไฟล์เป็น String Base64
  • api_done กำหนดเป็น 1 เพื่อไม่ให้ระบบส่งกลับเข้า WAMS
  • method String Y กำหนด "update_validation" หมายถึง ชื่อ Function ในการเรียก
    state String Y สถานะการอนุมัติ (approve / reject)
    reason String Y เหตุผลการอนุมัติ ของทุกคน

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง (Approve)

    body = {
        "params": {
            "model": "purchase.request",
            "vals": {
                "payload": {
                    "name": "PR00094",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "wams_number": "WAMS0002",
                    "wams_comment": "comment OK",
                    "attachment_ids": []
                },
                "method": "update_validation",
                "state": "approve",
                "reason": "comment OK"
            }
        }
    }
    

    Output (Approve)

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "rfq_number": "RFQ023",
                    "po_number": "P00022"
                }
            ],
            "messages": "Record updated (Approve) successfully"
        }
    }
    

    ตัวอย่าง (Reject)

    body = {
        "params": {
            "model": "purchase.request",
            "vals": {
                "payload": {
                    "name": "PR00094",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "wams_number": "WAMS0002",
                    "wams_comment": "Not ok",
                    "attachment_ids": []
                },
                "method": "update_validation",
                "state": "reject",
                "reason": "Not ok"
            }
        }
    }
    

    Output (Reject)

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "rfq_number": "RFQ024"
                }
            ],
            "messages": "Record updated (Reject) successfully"
        }
    }
    


    การส่งข้อมูลยกเลิกการส่งเข้า WAMS

    TODO


    Expense / Advance

    การส่งข้อมูลสร้าง WAMS Template

    TODO


    การรับข้อมูล WAMS เมื่อการอนุมัติเสร็จสิ้น (Approve / Reject)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_update_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": <model>,
              "vals": {
                  "payload": {
                      "number": "<number EX/AV/CAV>",
                      "company_id": "<company name>",
                      "wams_number": "<number WAMS>",
                      "attachment_ids": [
                          {
                              "name": <name file>,
                              "datas": "<base64>",
                              "api_done": 1
                          }
                      ]
                  },
                  "method": "<function name>",
                  "state": "<status>",
                  "reason": "<all comment>"
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "hr.expense.sheet"
    number String Y หมายเลขเอกสาร Expense / Advance / Clearing ของระบบ Odoo
    company_id String Y ชื่อบริษัท
    wams_number String Y หมายเลขเอกสาร WAMS
    attachment_ids List N ข้อมูลใน List จะประกอบไปด้วย
  • name ชื่อเอกสารแนบ
  • datas ข้อมูลไฟล์เป็น String Base64
  • api_done กำหนดเป็น 1 เพื่อไม่ให้ระบบส่งกลับเข้า WAMS
  • method String Y กำหนด "update_validation" หมายถึง ชื่อ Function ในการเรียก
    state String Y สถานะการอนุมัติ (approve / reject)
    reason String Y เหตุผลการอนุมัติ ของทุกคน

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง (Approve)

    body = {
        "params": {
            "model": "hr.expense.sheet",
            "vals": {
                "payload": {
                    "number": "EX0011",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "wams_number": "WAMS0001",
                    "attachment_ids": [
                        {
                            "name": "Attachment 1",
                            "datas": "iVBORw0KGgoAAAANSUhEUgAABKsAAAHYCAIAAAANkvwXAAAAA3NCSVQICAjb4U/gAAAAEHRFWHRTb2Z0d2FyZQBTaHV0dGVyY4LQCQAAIABJREFUeNrs3X9wFHd+J/yPbexp+6xxm2XiBo/XE/Rk...",
                            "api_done": 1
                        }
                    ]
                },
                "method": "update_validation",
                "state": "approve",
                "reason": "comment ok"
            }
        }
    }
    

    Output (Approve)

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "sheet_number": "EX0011"
                }
            ],
            "messages": "Record updated (Approve) successfully"
        }
    }
    

    ตัวอย่าง (Reject)

    body = {
        "params": {
            "model": "hr.expense.sheet",
            "vals": {
                "payload": {
                    "number": "EX0011",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "wams_number": "WAMS0001",
                    "attachment_ids": [
                        {
                            "name": "Attachment 1",
                            "datas": "iVBORw0KGgoAAAANSUhEUgAABKsAAAHYCAIAAAANkvwXAAAAA3NCSVQICAjb4U/gAAAAEHRFWHRTb2Z0d2FyZQBTaHV0dGVyY4LQCQAAIABJREFUeNrs3X9wFHd+J/yPbexp+6xxm2XiBo/XE/Rk...",
                            "api_done": 1
                        }
                    ]
                },
                "method": "update_validation",
                "state": "reject",
                "reason": "comment not ok"
            }
        }
    }
    

    Output (Reject)

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "sheet_number": "EX0011"
                }
            ],
            "messages": "Record updated (Reject) successfully"
        }
    }
    


    การ Update Status WAMS หลังอนุมัติเสร็จสิ้น

    TODO


    Vendor Bills

    การรับข้อมูลเพื่อสร้างเอกสาร Vendor Bills

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "move_type": "<type document>",
                      "company_id": "<company name>",
                      "attachment_ids": [
                          {
                              "name": <name file>,
                              "datas": "<base64>",
                              "api_done": 1
                          }
                      ],
                      "wams_number": "<number WAMS>"
                  },
                  "po_number": "<number PO>",
                  "external_ref": "<number vendor reference>",
                  "amount_untaxed": <total amount untaxed>,
                  "tax_invoice_number": <tax invoice number>,
                  "tax_invoice_date": <tax invoice date>
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "account.move"
    move_type String Y กำหนด "in_invoice"
    company_id String Y ชื่อบริษัท
    attachment_ids List N ข้อมูลใน List จะประกอบไปด้วย
  • name ชื่อเอกสารแนบ
  • datas ข้อมูลไฟล์เป็น String Base64
  • api_done กำหนดเป็น 1 เพื่อไม่ให้ระบบส่งกลับเข้า WAMS
  • wams_number String Y หมายเลขเอกสาร WAMS
    po_number String Y หมายเลขเอกสาร Purchase Order
    external_ref String Y หมายเลขเอกสารอ้างอิงผู้ค้า
    amount_untaxed Float Y จำนวนเงินก่อน Vat
    tax_invoice_number String N หมายเลขใบกำกับภาษี
    tax_invoice_date String N วันที่ใบกำกับภาษี

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "account.move",
            "vals": {
                "payload": {
                    "move_type": "in_invoice",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "attachment_ids": [],
                    "wams_number": "WAMS00001"
                },
                "po_number": "P00026",
                "external_ref": "INV00107",
                "amount_untaxed": 27000.0,
                "tax_invoice_number": "INV/1222/1111",
                "tax_invoice_date": "2023-05-15"
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "id": 133,
                "name": "/"
            },
            "messages": "Record created successfully"
        }
    }
    


    การ Update Status WAMS หลังอนุมัติเสร็จสิ้น

    TODO


    WMS

    การค้นหาข้อมูลสินค้ารอรับ

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/search_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
      - Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "name": "<purchase number>",
                      "company_id": "<company name>"
                  }
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "purchase.order"
    name String Y หมายเลขเอกสารใบสั่งซื้อ (Purchase Order)
    company_id String Y ชื่อบริษัท

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "purchase.order",
            "vals": {
                "payload": {
                    "name": "PO2300010",
                    "company_id": "Absolute Assembly Co., Ltd."
                }
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "purchase_number": "PO2300010",
                    "purchase_data": "2023-07-22 07:46:29",
                    "vendor": "บริษัท ทดสอบ จำกัด",
                    "location": "Stock",
                    "purchase_state": "done",
                    "purchase_line": [
                        {
                            "id": 48,
                            "product_code": "a1",
                            "product_name": "Product A",
                            "description": "[a1] Product A",
                            "qty": 10.0,
                            "qty_received": 6.0,
                            "qty_outstanding": 4.0,
                            "uom": "Pcs"
                        },
                        {
                            "id": 49,
                            "product_code": "a2",
                            "product_name": "Product B",
                            "description": "[a2] Product B",
                            "qty": 5.0,
                            "qty_received": 4.0,
                            "qty_outstanding": 1.0,
                            "uom": "Units"
                        },
                        {
                            "id": 50,
                            "product_code": "a3",
                            "product_name": "Product C",
                            "description": "[a3] Product C",
                            "qty": 3.0,
                            "qty_received": 2.0,
                            "qty_outstanding": 1.0,
                            "uom": "Truck"
                        }
                    ],
                    "picking": [
                        {
                            "picking_number": "WH/IN/00023",
                            "picking_state": "assigned",
                            "picking_line": [
                                {
                                    "purchase_line_id": 48,
                                    "product_code": "a1",
                                    "description": "[a1] Product A",
                                    "qty": 4.0,
                                    "uom": "Pcs"
                                },
                                {
                                    "purchase_line_id": 49,
                                    "product_code": "a2",
                                    "description": "[a2] Product B",
                                    "qty": 1.0,
                                    "uom": "Units"
                                },
                                {
                                    "purchase_line_id": 50,
                                    "product_code": "a3",
                                    "description": "[a3] Product C",
                                    "qty": 1.0,
                                    "uom": "Truck"
                                }
                            ]
                        },
                        {
                            "picking_number": "WH/IN/00022",
                            "picking_state": "done",
                            "picking_line": [
                                {
                                    "purchase_line_id": 48,
                                    "product_code": "a1",
                                    "description": "[a1] Product A",
                                    "qty": 3.0,
                                    "uom": "Pcs"
                                },
                                {
                                    "purchase_line_id": 49,
                                    "product_code": "a2",
                                    "description": "[a2] Product B",
                                    "qty": 2.0,
                                    "uom": "Units"
                                },
                                {
                                    "purchase_line_id": 50,
                                    "product_code": "a3",
                                    "description": "[a3] Product C",
                                    "qty": 1.0,
                                    "uom": "Truck"
                                }
                            ]
                        },
                        {
                            "picking_number": "WH/IN/00021",
                            "picking_state": "done",
                            "picking_line": [
                                {
                                    "purchase_line_id": 48,
                                    "product_code": "a1",
                                    "description": "[a1] Product A",
                                    "qty": 3.0,
                                    "uom": "Pcs"
                                },
                                {
                                    "purchase_line_id": 49,
                                    "product_code": "a2",
                                    "description": "[a2] Product B",
                                    "qty": 2.0,
                                    "uom": "Units"
                                },
                                {
                                    "purchase_line_id": 50,
                                    "product_code": "a3",
                                    "description": "[a3] Product C",
                                    "qty": 1.0,
                                    "uom": "Truck"
                                }
                            ]
                        }
                    ]
                }
            ],
            "messages": "Record search successfully"
        }
    }
    


    การรับข้อมูลการรับสินค้า (Receipt)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_update_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "name": "<number IN>"
                      "company_id": "<company name>",
                      "external_ref": "<number vendor reference>",
                      "external_date": "<date vendor reference>",
                      "attachment_ids": [
                          {
                              "name": <name file>,
                              "datas": "<base64>",
                              "api_done": 1
                          }
                      ]
                  },
                  "method": "<function name>",
                  "data": [
                      {
                          "product_code": "<product code>",
                          "purchase_line_id": <PO Line Reference>,
                          "info_lot": [
                              {
                                  "serial_number": "<VIN Number>",
                                  "expiration_date": "<exp date>",
                                  "quantity": <qty>,
                                  "uom": "<Unit of Measure>"
                              },
                              {
                                  "serial_number": "<VIN Number>",
                                  "expiration_date": "<exp date>",
                                  "quantity": <qty>,
                                  "uom": "<Unit of Measure>"
                              }
                          ]
                      },
                      {
                          "product_code": "<product code>",
                          "purchase_line_id": <PO Line Reference>,
                          "quantity": <qty>,
                          "uom": "<Unit of Measure>"
                      }
                  ]
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "stock.picking"
    name String Y หมายเลขเอกสาร IN (ได้รับตอนระบบ Odoo ส่งเข้า WMS)
    company_id String Y ชื่อบริษัท
    external_ref String Y เอกสารอ้างอิงของทาง Vendor
    external_date Date N Format "YYYY-MM-DD"
    attachment_ids List N ข้อมูลใน List จะประกอบไปด้วย
  • name ชื่อเอกสารแนบ
  • datas ข้อมูลไฟล์เป็น String Base64
  • api_done กำหนดเป็น 1 เพื่อไม่ให้ระบบส่งกลับเข้า WAMS
  • method String Y กำหนด "api_function_update" หมายถึง ชื่อ Function ในการเรียก
    data List Y ข้อมูลบรรทัดการรับของ
    data/product_code String Y รหัสสินค้า
    data/purchase_line_id Integer Y ID อ้างอิงบรรทัด (ได้รับตอนระบบ Odoo ส่งเข้า WMS)
    data/quantity Float C จำนวนที่รับ *จำเป็นต้องส่ง เมื่อ Product ไม่ได้ตั้งค่า Serial Number (VIN)
    data/uom String C หน่วยนับ *จำเป็นต้องส่ง เมื่อ Product ไม่ได้ตั้งค่า Serial Number (VIN)
    data/info_lot List C ข้อมูล Serial Number (VIN) กรณีที่ Product มี Serial Number
    data/info_lot/serial_number String C Serial Number / VIN Number *จำเป็นต้องส่ง เมื่อ Product ตั้งค่า Serial Number (VIN)
    data/info_lot/expiration_date Date C วันหมดอายุ Format "YYYY-MM-DD HH:MM:SS" (เวลาจะต้องเป็น UTC เท่านั้น) *จำเป็นต้องส่ง เมื่อ Product ตั้งค่า Serial Number (VIN)
    data/info_lot/quantity Float C จำนวนที่รับ *จำเป็นต้องส่ง เมื่อ Product ตั้งค่า Serial Number (VIN)
    data/info_lot/uom String C หน่วยนับ *จำเป็นต้องส่ง เมื่อ Product ตั้งค่า Serial Number (VIN)

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "stock.picking",
            "vals": {
                "payload": {
                    "name": "WH/IN/00022",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "external_ref": "PO2300009",
                    "external_date": "2023-10-30"
                },
                "method": "api_function_update",
                "data": [
                    {
                        "product_code": "a1",
                        "purchase_line_id": 48,
                        "info_lot": [
                            {
                                "serial_number": "000000216",
                                "expiration_date": "2023-10-10 13:00:00",
                                "quantity": 1,
                                "uom": "Pcs"
                            },
                            {
                                "serial_number": "000000217",
                                "expiration_date": "2023-10-10 00:00:00",
                                "quantity": 1,
                                "uom": "Pcs"
                            },
                            {
                                "serial_number": "000000218",
                                "expiration_date": "2023-10-10 00:00:00",
                                "quantity": 1,
                                "uom": "Pcs"
                            }
                        ]
                    },
                    {
                        "product_code": "a2",
                        "purchase_line_id": 49,
                        "quantity": 2,
                        "uom": "Units"
                    },
                    {
                        "product_code": "a3",
                        "purchase_line_id": 50,
                        "quantity": 1,
                        "uom": "Truck"
                    }
                ]
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "picking_id": 126,
                "picking_number": "WH/IN/00022",
                "next_picking_id": 127,
                "next_picking_number": "WH/IN/00023",
                "next_picking_line": [
                    {
                        "purchase_line_id": 48,
                        "product_code": "a1",
                        "description": "[a1] Product A",
                        "qty": 4.0,
                        "uom": "Pcs"
                    },
                    {
                        "purchase_line_id": 49,
                        "product_code": "a2",
                        "description": "[a2] Product B",
                        "qty": 1.0,
                        "uom": "Units"
                    },
                    {
                        "purchase_line_id": 50,
                        "product_code": "a3",
                        "description": "[a3] Product C",
                        "qty": 1.0,
                        "uom": "Truck"
                    }
                ]
            },
            "messages": "Record updated (Picking) successfully"
        }
    }
    

    Note

    ในกรณีที่สินค้านั้นยังรับไม่หมด ระบบจะแสดงหมายเลขเอกสารการรับสินค้าในครั้งถัดไป (next_picking_number) เพื่อให้ระบบ WMS สามารถส่งข้อมูลกลับมาที่ระบบ Odoo สำหรับเอกสารการรับสินค้าครั้งถัดไปได้ถูกต้อง


    การค้นหาข้อมูลสินค้าคงเหลือ (Product on hand)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/search_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "code": ["<product code>"],
                      "company_id": "<company name>"
                  }
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "product.template"
    code List Y รหัสสินค้า
    company_id String Y ชื่อบริษัท

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "product.template",
            "vals": {
                "payload": {
                    "code": ["04-44501J00018", "03-DYX3250BEV"],
                    "company_id": "Absolute Assembly Co.,Ltd."
                }
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "code": "04-44501J00018",
                    "location": "Plant01/RM Center WH-BUS/AA0-006-4",
                    "qty_available": 20.0
                },
                {
                    "code": "04-44501J00018",
                    "location": "Office/Center WH/O1-CW-SHZZ",
                    "qty_available": 2.0
                },
                {
                    "code": "03-DYX3250BEV",
                    "location": "Office/Center WH/O1-CW-SHZZ",
                    "qty_available": 2.0
                }
            ],
            "messages": "Record search successfully"
        }
    }
    

    การย้ายสินค้าภายใน (Internal Transfer)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "picking_type_code": "<code picking type>",
                      "analytic_account_code": "<code analytic>",
                      "company_id": "<company name>",
                      "partner_id": "<partner name>",
                      "operating_unit_code": "<cost center>",
                      "source_location": "<from location>",
                      "dest_location": "<to location>"
                  },
                  "data": [
                      {
                          "product_code": "<product code>",
                          "product_line": "<product line>",
                          "boi": "<boi>",
                          "quantity": <qty>,
                          "uom": "<Unit of Measure>"
                      },
                      {
                          "product_code": "<product code>",
                          "product_line": "<product line>",
                          "boi": "<boi>",
                          "quantity": <qty>,
                          "uom": "<Unit of Measure>"
                          "info_lot": [
                              {
                                  "serial_number": "<serial number>"
                              },
                              {
                                  "serial_number": "<serial number>"
                              }
                          ]
                      }
                  ]
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "stock.picking"
    picking_type_code String Y กำหนด "INT"
    analytic_account_code String Y รหัส Project
    company_id String Y ชื่อบริษัท
    partner_id String N ชื่อผู้ติดต่อ
    operating_unit_code String Y Cost Center
    source_location String Y ชื่อ Location ต้นทาง
    dest_location String Y ชื่อ Location ปลายทาง
    data List Y ข้อมูลบรรทัดการย้ายของ
    data/product_code String Y รหัสสินค้า
    data/product_line String Y Product Line
    data/boi String Y BOI
    data/quantity Float Y จำนวนที่ต้องการย้ายของ
    data/uom String Y หน่วยนับ
    data/info_lot List C ข้อมูล Serial Number / Vin Number
    data/info_lot/serial_number String C รหัส Serial Number ที่ต้องการย้าย

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "stock.picking",
            "vals": {
                "payload": {
                    "picking_type_code": "INT",
                    "analytic_account_code": "P20013",
                    "company_id": "Absolute Assembly Co.,Ltd.",
                    "partner_id": "Absolute Assembly Co.,Ltd. (00001)",
                    "operating_unit_code": "D9_AF00",
                    "source_location": "Shelf: O1-CW",
                    "dest_location": "FG: Center WH"
                },
                "data": [
                    {
                        "product_code": "03-DYX3311BEV",
                        "product_line": "[5BOT] EV Boat Project",
                        "boi": "[BON] BOI บัตร N - WIND PND",
                        "quantity": 2,
                        "uom": "pc"
                    },
                    {
                        "product_code": "03-DYX5150BEV",
                        "product_line": "[5BOT] EV Boat Project",
                        "boi": "[BOE] BOI บัตร E - Solar ESLO",
                        "quantity": 2,
                        "uom": "pc",
                        "info_lot": [
                            {
                                "serial_number": "000100003"
                            },
                            {
                                "serial_number": "000100004"
                            }
                        ]
                    }
                ]
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "picking_id": 89,
                "picking_number": "WH/INT/00037",
                "next_picking_id": false,
                "next_picking_number": false
            },
            "messages": "Record updated (Picking) successfully"
        }
    }
    


    การเบิกสินค้าไปใช้ (Inventory Request)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "picking_type_code": "<code picking type>",
                      "analytic_account_code": "<code analytic>",
                      "company_id": "<company name>",
                      "partner_id": "<partner name>",
                      "operating_unit_code": "<cost center>",
                      "fiscal_position_id": "<fiscal position>"
                  },
                  "data": [
                      {
                          "product_code": "<product code>",
                          "product_line": "<product line>",
                          "boi": "<boi>",
                          "quantity": <qty>,
                          "uom": "<Unit of Measure>"
                      },
                      {
                          "product_code": "<product code>",
                          "product_line": "<product line>",
                          "boi": "<boi>",
                          "quantity": <qty>,
                          "uom": "<Unit of Measure>"
                          "info_lot": [
                              {
                                  "serial_number": "<serial number>"
                              },
                              {
                                  "serial_number": "<serial number>"
                              }
                          ]
                      }
                  ]
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "stock.picking"
    picking_type_code String Y กำหนด "RQ"
    analytic_account_code String Y รหัส Project
    company_id String Y ชื่อบริษัท
    partner_id String N ชื่อผู้ติดต่อ
    operating_unit_code String Y Cost Center
    fiscal_position_id String Y Account Mapping
    data List Y ข้อมูลบรรทัดการย้ายของ
    data/product_code String Y รหัสสินค้า
    data/product_line String Y Product Line
    data/boi String Y BOI
    data/quantity Float Y จำนวนที่ต้องการย้ายของ
    data/uom String Y หน่วยนับ
    data/info_lot List C ข้อมูล Serial Number / Vin Number
    data/info_lot/serial_number String C รหัส Serial Number ที่ต้องการเบิก

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "stock.picking",
            "vals": {
                "payload": {
                    "picking_type_code": "RQ",
                    "analytic_account_code": "P20013",
                    "company_id": "Absolute Assembly Co.,Ltd.",
                    "partner_id": "Absolute Assembly Co.,Ltd. (00001)",
                    "operating_unit_code": "D9_AF00",
                    "fiscal_position_id": "สร้างสินทรัพย์ Office Equipment"
                },
                "data": [
                    {
                        "product_code": "03-DYX3311BEV",
                        "product_line": "[5BOT] EV Boat Project",
                        "boi": "[BON] BOI บัตร N - WIND PND",
                        "quantity": 2,
                        "uom": "pc"
                    },
                    {
                        "product_code": "03-DYX5150BEV",
                        "product_line": "[5BOT] EV Boat Project",
                        "boi": "[BOE] BOI บัตร E - Solar ESLO",
                        "quantity": 2,
                        "uom": "pc",
                        "info_lot": [
                            {
                                "serial_number": "000100003"
                            },
                            {
                                "serial_number": "000100004"
                            }
                        ]
                    }
                ]
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "picking_id": 204,
                "picking_number": "WH/RQ/00021",
                "next_picking_id": false,
                "next_picking_number": false
            },
            "messages": "Record updated (Picking) successfully"
        }
    }
    

    WEB

    การรับข้อมูลในการสร้างคู่ค้า (Partner)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "company_type": "<type partner>",
                      // Company Only
                      "name_company": "<name company>",
                      "name": "<name company>",
                      // Individual Only
                      "firstname": "<firstname>",
                      "lastname": "<lastname>",
                      "parent_id": "<company name>",
                      // Common
                      "street": "<street>",
                      "street2": "<street2>",
                      "city": "<city>",
                      "state_id": "<state>",
                      "zip": "<zip>",
                      "vat": "<tax id>",
                      "branch": "<branch>",
                      "phone": "<phone>",
                      "mobile": "<mobile>",
                      "email": "<email>"
                  }
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "res.partner"
    company_type String Y กำหนด "company" สำหรับบริษัท
    กำหนด "person" สำหรับบุคคล
    name_company String N* ชื่อบริษัท *จำเป็นต้องส่ง เมื่อ company_type เป็น company
    name String N* ชื่อบริษัท *จำเป็นต้องส่ง เมื่อ company_type เป็น company
    firstname String N* ชื่อ *จำเป็นต้องส่ง เมื่อ company_type เป็น person
    lastname String N* นามสกุล *จำเป็นต้องส่ง เมื่อ company_type เป็น person
    parent_id String N ชื่อบริษัทในระบบ (บริษัทแม่)
    street String Y ที่อยู่
    street2 String N ที่อยู่2
    city String N เขต
    state_id String N จังหวัด
    zip String N รหัสไปรษณีย์
    vat String Y เลขผู้เสียภาษี
    branch String N รหัสสาขา
    phone String N หมายเลขโทรศัพท์
    mobile String N หมายเลขโทรศัพท์
    email String N email

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง (บริษัท)

    body = {
        "params": {
            "model": "res.partner",
            "vals": {
                "payload": {
                    "company_type": "company",
                    "name_company": "บริษัท ทดสอบ จำกัด",
                    "name": "บริษัท ทดสอบ จำกัด",
                    "street": "111/11 ถ.อออดดดก",
                    "zip": "00101",
                    "vat": "1100111001113",
                    "branch": "00000",
                    "phone": "0888888888",
                    "mobile": "0888888888",
                    "email": "email@email.email"
                }
            }
        }
    }
    

    ตัวอย่าง (บุคคล)

    body = {
        "params": {
            "model": "res.partner",
            "vals": {
                "payload": {
                    "company_type": "person",
                    "firstname": "นายทดสอบ",
                    "lastname": "นามสกุล",
                    "street": "111/11 ถ.อออดดดก",
                    "zip": "00101",
                    "vat": "1100111001112",
                    "branch": "00000",
                    "phone": "0888888888",
                    "mobile": "0888888888",
                    "email": "email@email.email"
                }
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "id": 2907,
                "ref": false
            },
            "messages": "Record created successfully"
        }
    }
    


    การรับข้อมูลในการสร้างสินค้า (Product)

    • HTTP Route: /api/create_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "product.template",
              "vals": {
                  "payload": {
                      "name": "<product name>",
                      "default_code": "<product code>",
                      "sale_ok": <type sale>,
                      "purchase_ok": <type purchase>,
                      "detailed_type": "<type product>",
                      "list_price": <sale price>,
                      "standard_price": <cost>
                  }
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Comment
    model String กำหนด "product.template"
    name String ชื่อสินค้า
    default_code String รหัสสินค้า
    sale_ok Integer กำหนด 1 สำหรับสินค้าขาย
    กำหนด 0 สำหรับสินค้าที่ไม่ขาย
    purchase_ok Integer กำหนด 1 สำหรับสินค้าซื้อ
    กำหนด 0 สำหรับสินค้าที่ไม่ซื้อ
    detailed_type String กำหนด "consu" สำหรับสินค้าที่ไม่นับ Stock
    กำหนด "product" สำหรับสินค้าที่นับ Stock
    list_price Float ราคาขาย (ถ้ามี)
    standard_price Float ราคาต้นทุน (ถ้ามี)

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "product.template",
            "vals": {
                "payload": {
                    "name": "Cheese Burger",
                    "default_code": "CODE0001",
                    "sale_ok": 1,
                    "purchase_ok": 1,
                    "detailed_type": "product",
                    "list_price": 105,
                    "standard_price": 100
                }
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": {
                "id": 65812,
                "name": "Cheese Burger"
            },
            "messages": "Record created successfully"
        }
    }
    


    MRP Online

    การรับข้อมูลสร้างการผลิต (Create MO)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "bom_reference": "<reference bom>",
                      "product_code": "<product code>",
                      "analytic_account_code": "<code analytic>",
                      "operating_unit_code": "<costcenter>",
                      "product_line": "<product line>",
                      "boi": "<boi>",
                      "company_id": "<company name>",
                      "info_lot": [
                          {
                              "serial_number": "<VIN number>",
                              "job_number": "<job number>",
                              "motor_number": "<motor number>",
                          }
                      ]
                  }
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "mrp.production"
    bom_reference String Y สูตรการผลิต
    product_code String Y รหัสสินค้า
    analytic_account_code String Y รหัส Project
    operating_unit_code String Y Cost Center
    product_line String Y Product Line
    boi String Y BOI
    company_id String Y ชื่อบริษัท
    info_lot List Y ข้อมูล Serial Number / Vin Number ของ Finish Goods
    info_lot/serial_number String Y รหัส VIN Number
    info_lot/job_number String Y รหัส Job Number
    info_lot/motor_number String Y รหัส Motor Number

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "mrp.production",
            "vals": {
                "payload": {
                    "bom_reference": "mrp",
                    "product_code": "03-XML6720JEV",
                    "analytic_account_code": "P20013",
                    "operating_unit_code": "OU01",
                    "product_line": "[5BOT] EV Boat Project",
                    "boi": "[BOF] BOI บัตร F - Solar ESN",
                    "company_id": "Absolute Assembly Co., Ltd.",
                    "info_lot": [
                        {
                            "serial_number": "vin00001131",
                            "job_number": "job001",
                            "motor_number": "motor001",
                        }
                    ]
                }
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "mo_number": "WH/MO/00054",
                    "info_rm": [
                        {
                            "product_code": "codeA",
                            "serial_number": "0000010"
                        },
                        {
                            "product_code": "codeA",
                            "serial_number": "0000011"
                        }
                    ],
                    "duplicate_vin_number": "vin00001131"  # จะเห็นเมื่อ vin number ซ้ำ
                }
            ],
            "messages": "Record updated (MO) successfully"
        }
    }
    


    การรับข้อมูลหลังผลิตเสร็จสิ้น (Update MO)

    • Hostname: https://odoo.absoluteassembly.co.th
    • HTTP Route: /api/create_update_data
    • Header:

      {
          "Content-Type": "application/json",
          "db": "<database name>",
          "login": "<login>",
          "password": "<password>",
      }
      
    • Body:

      {
          "params": {
              "model": "<model>",
              "vals": {
                  "payload": {
                      "name": "<MO number>",
                      "company_id": "<company name>",
                  },
                  "method": "<method>",
                  "sale_lot_number": "<sale lot>",
                  "data": [
                      {
                          "product_code": "<product code>",
                          "quantity": <qty>,
                          "uom": "<Unit of Measure>"
                      },
                      {
                          "product_code": "<product code>",
                          "quantity": <quantity>,
                          "uom": "<Unit of Measure>"
                          "info_lot": [
                              {
                                  "serial_number": "<VIN number>",
                              },
                              {
                                  "serial_number": "<VIN number>",
                              }
                          ]
                      }
                  ]
              }
          }
      }
      

    ตารางข้อมูล

    Field Type Mandatory Comment
    model String Y กำหนด "mrp.production"
    name String Y รหัสเอกสาร MO
    company_id String Y ชื่อบริษัท
    method String Y กำหนด "api_function_update" หมายถึง ชื่อ Function ในการเรียก
    sale_lot_number String Y Lot ในการขาย
    data List Y ข้อมูลบรรทัดการผลิต
    data/product_code String Y รหัสสินค้าที่ใช้ในการผลิต
    data/quantity Float Y จำนวนที่ใช้ในการผลิต
    data/uom String Y หน่วยนับ
    data/info_lot List C ข้อมูล Serial Number / Vin Number
    data/info_lot/serial_number String C รหัส Serial Number ที่ใช้ในการผลิต

    Y = จำเป็นต้องส่ง, N = ไม่จำเป็นต้องส่ง, C = จำเป็นตามเงื่อนไข

    ตัวอย่าง

    body = {
        "params": {
            "model": "mrp.production",
            "vals": {
                "payload": {
                    "name": "WH/MO/00117",
                    "company_id": "Absolute Assembly Co.,Ltd."
                },
                "method": "api_function_update",
                "data": [
                    {
                        "product_code": "codeA",
                        "quantity": 1,
                        "uom": "Pcs"
                    },
                    {
                        "product_code": "codeB",
                        "quantity": 5,
                        "uom": "m"
                    },
                    {
                        "product_code": "codeC_Serial",
                        "quantity": 3,
                        "uom": "Packs",
                        "info_lot": [
                            {
                                "serial_number": "00000x1"
                            },
                            {
                                "serial_number": "00000x2"
                            },
                            {
                                "serial_number": "00000x3"
                            }
                        ]
                    }
                ]
            }
        }
    }
    

    Output

    {
        "jsonrpc": "2.0",
        "id": null,
        "result": {
            "is_success": true,
            "result": [
                {
                    "mo_number": "WH/MO/00117"
                }
            ],
            "messages": "Record updated (MO) successfully"
        }
    }