# Create or Update Codeguard Products

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v3/products/serials:
    post:
      summary: Create or Update Codeguard Products
      deprecated: false
      description: >
        สร้างหรือแก้ไขข้อมูล codeguard สำหรับผูก serial number กับ product



        error description (400)


        product not found : product code นี้ไม่พบในระบบ

        serial not found : running number นี้ไม่พบในระบบ

        product code required (new codeguard) : product code required
        เนื่องจากเป็นการสร้าง serial ใหม่

        running number required : ต้องใส่ running number

        product code required : ต้องใส่ product code (กรณีไม่ส่ง status มา)

        empty payload : empty payload


        error description (401)


        user not found
      tags:
        - Venio/Product
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                runningNumber:
                  type: string
                  description: running number จากระบบ
                productCode:
                  type: string
                  description: >-
                    product code ที่มีในระบบ (จำเป็นต้องมี ถ้า status
                    ไม่ได้ส่งมา)
                serialNumber:
                  type: string
                  description: serial number ของ client ที่ต้องการระบุ
                  nullable: true
                status:
                  type: boolean
                  description: >-
                    เปิดปิด การใช้งาน serial นั้นๆ ถ้าเป็น null จะ
                    อ้างอิงตามข้อมูลเดิม และถ้าเป็นการสร้างใหม่ จะ set true เป็น
                    default
                  nullable: true
              required:
                - runningNumber
              x-apidog-orders:
                - runningNumber
                - productCode
                - serialNumber
                - status
            example:
              runningNumber: MN00001
              productCode: PD001
              serialNumber: IXX0010
              status: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      runningNumber:
                        type: string
                      productCode:
                        type: string
                      serialNumber:
                        type: string
                      status:
                        type: boolean
                      productId:
                        type: integer
                    required:
                      - runningNumber
                      - productCode
                      - serialNumber
                      - status
                      - productId
                    x-apidog-orders:
                      - runningNumber
                      - productCode
                      - serialNumber
                      - status
                      - productId
                  httpStatusCode:
                    type: integer
                  statusCode:
                    type: integer
                required:
                  - data
                  - httpStatusCode
                  - statusCode
                x-apidog-orders:
                  - data
                  - httpStatusCode
                  - statusCode
              example:
                data:
                  runningNumber: MN00001
                  serialNumber: IXX0010
                  status: true
                  productId: 1
                httpStatusCode: 200
                statusCode: 1000
          headers: {}
          x-apidog-name: Success
        '400':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  hasError:
                    type: boolean
                  errorMessages:
                    type: array
                    items:
                      type: string
                  statusCode:
                    type: integer
                  httpStatusCode:
                    type: integer
                required:
                  - hasError
                  - errorMessages
                  - statusCode
                  - httpStatusCode
                x-apidog-orders:
                  - hasError
                  - errorMessages
                  - statusCode
                  - httpStatusCode
              example:
                hasError: true
                errorMessages:
                  - product not found
                statusCode: 400
                httpStatusCode: 400
          headers: {}
          x-apidog-name: Bad Request
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  hasError:
                    type: boolean
                  errorMessages:
                    type: array
                    items:
                      type: string
                  statusCode:
                    type: integer
                  httpStatusCode:
                    type: integer
                required:
                  - hasError
                  - errorMessages
                  - statusCode
                  - httpStatusCode
                x-apidog-orders:
                  - hasError
                  - errorMessages
                  - statusCode
                  - httpStatusCode
              example:
                hasError: true
                errorMessages:
                  - user not found
                statusCode: 401
                httpStatusCode: 401
          headers: {}
          x-apidog-name: Unauthorized
      security:
        - bearerAuth: []
          x-apidog:
            schemeGroups:
              - id: uyL_cJmK7q60QJZRTi5ot
                schemeIds:
                  - bearerAuth
            required: true
            use:
              id: uyL_cJmK7q60QJZRTi5ot
            scopes:
              uyL_cJmK7q60QJZRTi5ot:
                bearerAuth: []
      x-apidog-folder: Venio/Product
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/351895/apis/api-6657280-run
components:
  schemas: {}
  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: []

```
