# SalesOrder Enquiry

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v2/salesorder/enquiry:
    post:
      summary: SalesOrder Enquiry
      deprecated: false
      description: การเรียกดูข้อมูลใบสั่งขาย โดยแสดงผลเป็นชุดใบสั่งขาย
      operationId: SalesOrderEnquiry
      tags:
        - Venio/SalesOrder
        - SalesOrderV2
      parameters:
        - name: Content-Type
          in: header
          description: ''
          required: false
          example: application/json
          schema:
            type: string
        - name: Ocp-Apim-Subscription-Key
          in: header
          description: รหัส subscription key ลูกค้า
          required: false
          example: <Your Subscription-Key>
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-apidog-refs: {}
              x-apidog-orders:
                - take
                - customerCode
                - skip
                - salesOrderNo
                - salesOrderStatus
                - salesPersonCode
                - createdByStaffCode
                - salesOrderDate
              properties:
                take:
                  type: integer
                  minimum: 1
                  maximum: 100
                  description: จำนวนรายการที่ต้องการแสดง
                  examples:
                    - 10
                customerCode:
                  type: string
                  description: รหัสลูกค้า
                  examples:
                    - C000001
                  nullable: true
                skip:
                  type: integer
                  minimum: 0
                  description: จำนวนรายการที่ต้องการข้าม
                  examples:
                    - 0
                  nullable: true
                salesOrderNo:
                  type: string
                  description: รหัสใบสั่งขาย
                  examples:
                    - SO260600039
                  nullable: true
                salesOrderStatus:
                  type: integer
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                  description: >-
                    <p>สถานะใบสั่งขาย<br>Draft= 1<br>Open= 2<br>Completed =
                    3<br>Rejected = 4<br>Cancelled = 5</p>
                  examples:
                    - 2
                  nullable: true
                salesPersonCode:
                  type: string
                  description: รหัสพนักงานขาย
                  examples:
                    - '00004'
                  nullable: true
                createdByStaffCode:
                  type: string
                  description: รหัสพนักงานที่สร้างใบสั่งขาย
                  examples:
                    - '00002'
                  nullable: true
                salesOrderDate:
                  type: string
                  format: date
                  description: 'วันที่ใบสั่งขาย โดยมี Format : YYYY-MM-DD'
                  examples:
                    - '2026-06-05'
                  nullable: true
              required:
                - take
              x-apidog-ignore-properties: []
            examples:
              basic:
                value:
                  take: 10
                summary: ดึงใบสั่งขายล่าสุด 10 ใบ
              filtered:
                value:
                  take: 20
                  skip: 0
                  salesOrderStatus: 2
                  salesPersonCode: '00004'
                summary: กรองด้วยสถานะและพนักงาน พร้อมแบ่งหน้า
              byNo:
                value:
                  take: 1
                  salesOrderNo: SO260600039
                summary: ค้นหาด้วยเลขที่ใบสั่งขาย
      responses:
        '200':
          description: Success — รวมกรณีไม่พบข้อมูล (data เป็น array ว่าง)
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    $ref: '#/components/schemas/StatusResponse'
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        salesOrderSubject:
                          type: string
                          description: หัวเรื่องใบสั่งขาย
                          examples:
                            - ATM Edit SO Full Detail
                        customerCode:
                          type: string
                          description: รหัสลูกค้า
                          examples:
                            - C000001
                        customerId:
                          type: integer
                          format: int64
                          description: ไอดีของลูกค้า
                          examples:
                            - 592512
                          nullable: true
                        salesOrderNo:
                          type: string
                          description: เลขใบสั่งขาย [Running No.]
                          examples:
                            - SO260600039
                        salesOrderStatus:
                          type: integer
                          description: >-
                            <p>สถานะใบสั่งขาย<br>Draft= 1<br>Open=
                            2<br>Completed = 3<br>Rejected = 4<br>Cancelled =
                            5</p>
                          examples:
                            - 2
                          nullable: true
                        salesOrderDate:
                          type: string
                          format: date-time
                          description: วันที่สั่งขาย
                          examples:
                            - 2026-06-05T00:00:00+0700
                          nullable: true
                        recipientName:
                          type: string
                          description: ชื่อผู้รับสินค้า
                          nullable: true
                        recipientAddress:
                          type: string
                          description: ที่อยู่จัดส่งสินค้า
                          nullable: true
                        headerTemplateId:
                          type: integer
                          description: หัวเอกสารใน PDF
                          nullable: true
                        warehouseCode:
                          type: string
                          description: รหัสคลังสินค้า
                          nullable: true
                        salesorderDetails:
                          type: array
                          description: รายการสินค้า
                          items:
                            $ref: '#/components/schemas/SalesorderDetail'
                        discountName:
                          type: string
                          description: ชื่อส่วนลดสินค้า
                          nullable: true
                        discountValue:
                          type: number
                          description: ส่วนลดสินค้า
                          nullable: true
                        discountType:
                          type: boolean
                          description: >-
                            <p>ประเภทส่วนลด <br>True คือคิดเป็น %, <br>False
                            คิดเป็นบาท</p>
                          nullable: true
                        paymentTerm:
                          type: string
                          description: เงื่อนไขการชำระเงิน
                          nullable: true
                        remark:
                          type: string
                          description: หมายเหตุใบสั่งขาย
                          nullable: true
                        staffCode:
                          type: string
                          description: รหัสพนักงานขาย
                          examples:
                            - '00004'
                        vatCalculation:
                          type: boolean
                          description: การคำนวณภาษีมูลค่าเพิ่ม
                        subTotal:
                          type: number
                          description: ยอดรวมของราคาสินค้า
                          examples:
                            - 2880
                        subTotalWithDiscount:
                          type: number
                          description: ยอดรวมสินค้าหลังหักส่วนลด
                          examples:
                            - 2304
                        grandTotal:
                          type: number
                          description: ผลรวมทั้งหมด
                          examples:
                            - 2304
                        totalVat:
                          type: number
                          description: ยอด VAT รวม (Amount)
                          examples:
                            - 150.73
                        privateNote:
                          type: string
                          description: บันทึกส่วนตัว (ไม่แสดงต่อลูกค้า)
                          nullable: true
                        referenceNo:
                          type: string
                          description: เลขที่อ้างอิง
                          nullable: true
                        contactId:
                          type: integer
                          description: ID ผู้ติดต่อที่เชื่อมโยงกับใบสั่งขาย
                          nullable: true
                        customerAddressId:
                          type: integer
                          format: int64
                          description: ID ที่อยู่ลูกค้า
                          nullable: true
                        currencyCode:
                          type: string
                          description: สกุลเงิน เช่น THB, USD
                          examples:
                            - USD
                          nullable: true
                        salesOrderId:
                          type: integer
                          format: int64
                          description: Id ใบสั่งขาย
                          examples:
                            - 281940
                        payment:
                          allOf:
                            - $ref: '#/components/schemas/SalesOrderPaymentModel'
                          description: ข้อมูลการชำระเงิน
                          type: 'null'
                        invoiceInfo:
                          allOf:
                            - $ref: '#/components/schemas/IntegrationInvoiceInfoDto'
                          description: ข้อมูล invoice จาก integration platform
                          type: 'null'
                        shippingDocumentUrl:
                          type: string
                          description: URL เอกสารการจัดส่ง
                          nullable: true
                        trackingNo:
                          type: string
                          description: For sale order from marketplace integration
                          nullable: true
                        discounts:
                          type: array
                          description: >-
                            Array ของส่วนลดสำหรับ order ที่มีส่วนลดหลายแบบ (จาก
                            3rd party)
                          items:
                            $ref: '#/components/schemas/SalesOrderDiscountDto'
                          nullable: true
                        integrationPlatform:
                          type: integer
                          description: >-
                            Enum platform id, not null ถ้าเป็น order ที่มาจาก
                            3rd party platform
                          nullable: true
                        isIntegrationOrderPaid:
                          type: boolean
                          description: >-
                            สถานะการชำระเงินที่รับมาจาก integration platform
                            (Shopee, NocNoc ฯลฯ)
                          nullable: true
                        recipient:
                          allOf:
                            - $ref: '#/components/schemas/SalesOrderRecipientModel'
                          description: ข้อมูลผู้รับสินค้า
                          type: 'null'
                        salesOrderCustomerAddress:
                          allOf:
                            - $ref: >-
                                #/components/schemas/SalesOrderCustomerAddressResponse
                          description: ที่อยู่ลูกค้าบนใบสั่งขาย
                          type: 'null'
                      x-apidog-refs: {}
                      x-apidog-orders:
                        - salesOrderSubject
                        - customerCode
                        - customerId
                        - salesOrderNo
                        - salesOrderStatus
                        - salesOrderDate
                        - recipientName
                        - recipientAddress
                        - headerTemplateId
                        - warehouseCode
                        - salesorderDetails
                        - discountName
                        - discountValue
                        - discountType
                        - paymentTerm
                        - remark
                        - staffCode
                        - vatCalculation
                        - subTotal
                        - subTotalWithDiscount
                        - grandTotal
                        - totalVat
                        - privateNote
                        - referenceNo
                        - contactId
                        - customerAddressId
                        - currencyCode
                        - salesOrderId
                        - payment
                        - invoiceInfo
                        - shippingDocumentUrl
                        - trackingNo
                        - discounts
                        - integrationPlatform
                        - isIntegrationOrderPaid
                        - recipient
                        - salesOrderCustomerAddress
                      x-apidog-ignore-properties: []
                x-apidog-refs: {}
                x-apidog-orders:
                  - status
                  - data
                x-apidog-ignore-properties: []
          headers: {}
          x-apidog-name: ''
        '400':
          description: Validation ไม่ผ่าน (take/skip/salesOrderStatus ไม่ถูกต้อง)
          content:
            application/json:
              schema: &ref_0
                $ref: '#/components/schemas/ServiceResponseV2Error'
              examples:
                takeRequired:
                  summary: take ไม่ส่งมา หรือ <= 0
                  value:
                    status:
                      code: '4002'
                      description: Business error with 1 or more errors
                    data:
                      errors:
                        - subCode: E1101
                          description: Take is required
                takeExceedsMax:
                  summary: take > 100
                  value:
                    status:
                      code: '4002'
                      description: Business error with 1 or more errors
                    data:
                      errors:
                        - subCode: E1102
                          description: take must not exceed 100
                skipNegative:
                  summary: skip ติดลบ
                  value:
                    status:
                      code: '4002'
                      description: Business error with 1 or more errors
                    data:
                      errors:
                        - subCode: E1102
                          description: skip must not be negative
                invalidStatus:
                  summary: salesOrderStatus ไม่อยู่ในช่วง 1–5
                  value:
                    status:
                      code: '4002'
                      description: Business error with 1 or more errors
                    data:
                      errors:
                        - subCode: E1102
                          description: salesOrderStatus is invalid
          headers: {}
          x-apidog-name: ''
        '401':
          description: ไม่ส่ง Authorization header หรือ token หมดอายุ
          headers: {}
          x-apidog-name: ''
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema: *ref_0
          headers: {}
          x-apidog-name: ''
      security:
        - bearer: []
          x-apidog:
            schemeGroups:
              - id: j8bSjVRZbMwje7Jdea_40
                schemeIds:
                  - bearer
            required: true
            use:
              id: j8bSjVRZbMwje7Jdea_40
            scopes:
              j8bSjVRZbMwje7Jdea_40:
                bearer: []
      x-apidog-folder: Venio/SalesOrder
      x-apidog-status: developing
      x-run-in-apidog: https://app.apidog.com/web/project/351895/apis/api-37947453-run
components:
  schemas:
    SalesOrderCustomerAddressResponse:
      type: object
      description: ที่อยู่ลูกค้าบนใบสั่งขาย
      properties:
        addressId:
          type: integer
          format: int64
          description: ID ที่อยู่
        locationName:
          type: string
          description: ชื่อสถานที่/สาขา
          nullable: true
        location:
          type: string
          description: ที่อยู่ (ภาษาไทย)
          nullable: true
        locationEN:
          type: string
          description: ที่อยู่ (ภาษาอังกฤษ)
          nullable: true
        fullAddress:
          type: string
          description: ที่อยู่เต็ม (ภาษาไทย)
          nullable: true
        fullAddressEN:
          type: string
          description: ที่อยู่เต็ม (ภาษาอังกฤษ)
          nullable: true
        subdistrict:
          type: string
          description: ตำบล/แขวง (ภาษาไทย)
          nullable: true
        subdistrictEN:
          type: string
          description: ตำบล/แขวง (ภาษาอังกฤษ)
          nullable: true
        district:
          type: string
          description: อำเภอ/เขต (ภาษาไทย)
          nullable: true
        districtEN:
          type: string
          description: อำเภอ/เขต (ภาษาอังกฤษ)
          nullable: true
        province:
          type: string
          description: จังหวัด (ภาษาไทย)
          nullable: true
        provinceEN:
          type: string
          description: จังหวัด (ภาษาอังกฤษ)
          nullable: true
        zipCode:
          type: string
          description: รหัสไปรษณีย์
          nullable: true
        phone:
          type: string
          description: เบอร์โทรศัพท์
          nullable: true
      x-apidog-orders:
        - addressId
        - locationName
        - location
        - locationEN
        - fullAddress
        - fullAddressEN
        - subdistrict
        - subdistrictEN
        - district
        - districtEN
        - province
        - provinceEN
        - zipCode
        - phone
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    SalesOrderRecipientModel:
      type: object
      description: ข้อมูลผู้รับสินค้า
      properties:
        name:
          type: string
          description: ชื่อผู้รับสินค้า
          nullable: true
        email:
          type: string
          description: อีเมลผู้รับสินค้า
          nullable: true
        phone:
          type: string
          description: เบอร์โทรศัพท์ผู้รับสินค้า
          nullable: true
        country:
          type: string
          description: ประเทศ
          nullable: true
        province:
          type: string
          description: จังหวัด
          nullable: true
        district:
          type: string
          description: อำเภอ/เขต
          nullable: true
        subDistrict:
          type: string
          description: ตำบล/แขวง
          nullable: true
        zipCode:
          type: string
          description: รหัสไปรษณีย์
          nullable: true
        address:
          type: string
          description: ที่อยู่
          nullable: true
      x-apidog-orders:
        - name
        - email
        - phone
        - country
        - province
        - district
        - subDistrict
        - zipCode
        - address
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    SalesOrderDiscountDto:
      type: object
      description: รายการส่วนลด
      properties:
        discountName:
          type: string
          description: ชื่อส่วนลด
          nullable: true
        discountValue:
          type: number
          description: ส่วนลด
          nullable: true
        discountType:
          type: boolean
          description: <p>ประเภทส่วนลด <br>True คือคิดเป็น %, <br>False คิดเป็นบาท</p>
          nullable: true
      x-apidog-orders:
        - discountName
        - discountValue
        - discountType
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    IntegrationInvoiceInfoDto:
      type: object
      description: ข้อมูล invoice จาก integration platform (Shopee, NocNoc ฯลฯ)
      properties:
        id:
          type: integer
          format: int64
          description: ID ของ invoice
        integrationPlatform:
          type: integer
          description: Shopee - 400020, NocNoc - 400027
          nullable: true
        integrationBuyerId:
          type: string
          description: Identify for buyer depends on marketplace platform
          nullable: true
        type:
          type: integer
          description: Business - 13002, Individual - 13001
          nullable: true
        customerName:
          type: string
          description: ชื่อลูกค้า
          nullable: true
        taxId:
          type: string
          description: เลขประจำตัวผู้เสียภาษี
          nullable: true
        isEtax:
          type: boolean
          description: ออก e-Tax invoice หรือไม่
          nullable: true
        isHeadOffice:
          type: boolean
          description: เป็นสำนักงานใหญ่หรือไม่
          nullable: true
        branch:
          type: string
          description: ชื่อสาขา
          nullable: true
        branchCode:
          type: string
          description: รหัสสาขา
          nullable: true
        country:
          type: string
          description: ประเทศ
          nullable: true
        province:
          type: string
          description: จังหวัด
          nullable: true
        district:
          type: string
          description: อำเภอ/เขต
          nullable: true
        subDistrict:
          type: string
          description: ตำบล/แขวง
          nullable: true
        zipCode:
          type: string
          description: รหัสไปรษณีย์
          nullable: true
        phone:
          type: string
          description: เบอร์โทรศัพท์
          nullable: true
        address:
          type: string
          description: ที่อยู่
          nullable: true
        email:
          type: string
          description: อีเมล
          nullable: true
      x-apidog-orders:
        - id
        - integrationPlatform
        - integrationBuyerId
        - type
        - customerName
        - taxId
        - isEtax
        - isHeadOffice
        - branch
        - branchCode
        - country
        - province
        - district
        - subDistrict
        - zipCode
        - phone
        - address
        - email
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    SalesOrderPaymentModel:
      type: object
      description: ข้อมูลการชำระเงิน
      properties:
        valueType:
          type: integer
          description: <p>ประเภทมูลค่าการชำระ<br>None= 0<br>Number= 1<br>Percent= 2</p>
          enum:
            - 0
            - 1
            - 2
        schedulePayments:
          type: array
          description: รายการงวดการชำระเงิน
          items:
            $ref: '#/components/schemas/SchedulePayment'
          nullable: true
      x-apidog-orders:
        - valueType
        - schedulePayments
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    SchedulePayment:
      type: object
      description: งวดการชำระเงิน
      properties:
        installmentNumber:
          type: integer
          description: ลำดับงวดการชำระ
        installmentAmount:
          type: number
          description: จำนวนเงินของงวดนี้
        installmentPercent:
          type: number
          description: เปอร์เซ็นต์ของงวดนี้
        status:
          type: integer
          description: สถานะการชำระงวด
      x-apidog-orders:
        - installmentNumber
        - installmentAmount
        - installmentPercent
        - status
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    SalesorderDetail:
      type: object
      properties:
        productCode:
          type: string
          description: รหัสสินค้า
          examples:
            - PD002
        productName:
          type: string
          description: ชื่อสินค้า
          examples:
            - Venio Headphone
        price:
          type: number
          description: ราคาสินค้า
          examples:
            - 800
          nullable: true
        qty:
          type: number
          description: จำนวนสินค้า
          examples:
            - 2
          nullable: true
        productUnitName:
          type: string
          description: หน่วยสินค้า
          examples:
            - ชิ้น
          nullable: true
        productDescription:
          type: string
          description: รายละเอียดสินค้า
          nullable: true
        discountValue:
          type: number
          description: >-
            ส่วนลดสินค้า เมื่อ DiscountBasisType = 360002 (ต่อหน่วย)
            จะเป็นส่วนลดต่อหน่วย, เมื่อ = 360001 (ต่อรายการ)
            จะเป็นส่วนลดของทั้งบรรทัด
          nullable: true
        discountType:
          type: boolean
          description: <p>ประเภทส่วนลด <br>True คือคิดเป็น %, <br>False คิดเป็นบาท</p>
        vatTaxValue:
          type: number
          description: ภาษีมูลค่าเพิ่ม
          examples:
            - 7
          nullable: true
        whtTaxValue:
          type: number
          description: ภาษีหัก ณ ที่จ่าย
          nullable: true
        totalPrice:
          type: number
          description: ราคาสินค้ารวม (price x qty - discountValue)
          examples:
            - 1280
        unitId:
          type: integer
          description: รหัสหน่วยสินค้า
          nullable: true
        isShipping:
          type: boolean
          description: สินค้ามีการจัดส่งหรือไม่
          nullable: true
        warehouseCode:
          type: string
          description: รหัสคลังสินค้า
          nullable: true
        discountBasisType:
          type: integer
          enum:
            - 360001
            - 360002
          x-apidog-enum:
            - value: 360001
              name: PerItem
              description: คิดส่วนลดแบบต่อรายการ/ทั้งบรรทัด
            - value: 360002
              name: PerUnit
              description: คิดส่วนลดแบบต่อหน่วย
          description: รูปแบบของส่วนลด
      x-apidog-orders:
        - productCode
        - productName
        - price
        - qty
        - productUnitName
        - productDescription
        - discountValue
        - discountType
        - vatTaxValue
        - whtTaxValue
        - totalPrice
        - unitId
        - isShipping
        - warehouseCode
        - discountBasisType
      required:
        - discountBasisType
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    StatusResponse:
      type: object
      properties:
        code:
          type: string
          description: >-
            <p>สถานะของ Business Code ถ้า<br>Success = 1000<br>Error 1 ตัว =
            4001<br>Error มากกว่า 1 ตัว = 4002    <br>หรือเป็น Subcode
            ที่ต้องการจะแสดงเพื่อสื่อความหมายของ Error โดย subcode
            จะเป็นตัวเดียวกับ business error code หรือไม่ก็ได้
            เพื่อความสะดวกในการแสดงผล<p>
          examples:
            - '1000'
        description:
          type: string
          description: คำอธิบายข้อความที่จะแสดง
          examples:
            - Success
      x-apidog-orders:
        - code
        - description
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    ServiceResponseV2Error:
      type: object
      properties:
        status:
          type: object
          properties:
            code:
              type: string
              examples:
                - '4002'
            description:
              type: string
              examples:
                - Business error with 1 or more errors
          x-apidog-orders:
            - code
            - description
          x-apidog-ignore-properties: []
        data:
          type: object
          properties:
            errors:
              type: array
              items:
                $ref: '#/components/schemas/ErrorResponse'
          x-apidog-orders:
            - errors
          x-apidog-ignore-properties: []
      x-apidog-orders:
        - status
        - data
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    ErrorResponse:
      type: object
      properties:
        subCode:
          type: string
          description: Error sub-code (e.g., 'E1101', 'E1102')
          examples:
            - E1101
        description:
          type: string
          description: Error description
          examples:
            - Take is required
        metadata:
          type: object
          description: Additional error metadata
          properties: {}
          x-apidog-orders: []
          x-apidog-ignore-properties: []
          nullable: true
      x-apidog-orders:
        - subCode
        - description
        - metadata
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes:
    bearerAuth:
      type: jwt
      scheme: bearer
      bearerFormat: JWT
      description: ใส่ JWT Token ในรูปแบบ Bearer {token}
    bearer:
      type: bearer
      scheme: bearer
servers:
  - url: https://api.gofive.co.th
    description: Production
security:
  - bearerAuth: []
    x-apidog:
      schemeGroups:
        - id: uyL_cJmK7q60QJZRTi5ot
          schemeIds:
            - bearerAuth
      required: true
      use:
        id: uyL_cJmK7q60QJZRTi5ot
      scopes:
        uyL_cJmK7q60QJZRTi5ot:
          bearerAuth: []

```
