# Generated with protoc-gen-openapi
# https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi

openapi: 3.0.3
info:
    title: Cmb API
    version: 0.0.1
paths:
    /voucher/cmb/v1/decryptBody:
        post:
            tags:
                - Cmb
            operationId: Cmb_DecryptBody
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.EncryptBodyRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.DecryptBodyReply'
    /voucher/cmb/v1/order:
        post:
            tags:
                - Cmb
            operationId: Cmb_Order
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.CmbRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.CmbReply'
    /voucher/cmb/v1/orderMock:
        post:
            tags:
                - Cmb
            operationId: Cmb_OrderMock
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.CmbOrderRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.CmbRequest'
    /voucher/cmb/v1/orderRetry:
        post:
            tags:
                - Cmb
            operationId: Cmb_OrderRetry
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.OrderRetryRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.Empty'
    /voucher/cmb/v1/product/query:
        post:
            tags:
                - Cmb
            operationId: Cmb_QueryProduct
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.CmbRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.CmbReply'
    /voucher/cmb/v1/product/queryMock:
        post:
            tags:
                - Cmb
            operationId: Cmb_QueryProductMock
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.CmbQueryProductRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.CmbRequest'
    /voucher/cmb/v1/query:
        post:
            tags:
                - Cmb
            operationId: Cmb_Query
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.CmbRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.CmbReply'
    /voucher/cmb/v1/queryMock:
        post:
            tags:
                - Cmb
            operationId: Cmb_QueryMock
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: '#/components/schemas/api.v1.CmbQueryRequest'
                required: true
            responses:
                "200":
                    description: OK
                    content:
                        application/json:
                            schema:
                                $ref: '#/components/schemas/api.v1.CmbRequest'
components:
    schemas:
        api.v1.CmbOrderRequest:
            type: object
            properties:
                transactionId:
                    type: string
                    description: |-
                        业务参数
                         唯一流水号，需支持14天内幂等
                activityId:
                    type: string
                    description: 外部合作方权益批次号
                cmbUid:
                    type: string
                    description: 招商银行用户号 用户标识，比如手机号、支付宝openId
                appId:
                    type: string
                    description: 应用id
                cmbUidType:
                    type: string
                    description: 用户标识类型，0-手机号，1-支付宝openId
                timestamp:
                    type: string
                    description: 时间戳，长度为13位，精度为毫秒
                attach:
                    type: string
                    description: 拓展参数
        api.v1.CmbQueryProductRequest:
            type: object
            properties:
                activityId:
                    type: string
                    description: |-
                        业务参数
                         外部合作方权益批次号
        api.v1.CmbQueryRequest:
            type: object
            properties:
                codeNo:
                    type: string
                    description: |-
                        业务参数
                         外部合作方权益批次号
        api.v1.CmbReply:
            type: object
            properties:
                respCode:
                    type: string
                    description: |-
                        响应公共参数
                         接口调用返回码，1000 成功，1001 失败
                respMsg:
                    type: string
                    description: 返回话术，失败信息落此字段
                date:
                    type: string
                    description: 时间戳 yyyyMMddHHmmss
                keyAlias:
                    type: string
                    description: 合作方密钥对别名
                cmbKeyAlias:
                    type: string
                    description: 掌上生活密钥对别名
                encryptBody:
                    type: string
                    description: 加密报文，是否需要加密，请查看各API的说明文档
                sign:
                    type: string
                    description: 签名，具体详见签名规范
        api.v1.CmbRequest:
            type: object
            properties:
                mid:
                    type: string
                    description: |-
                        请求公共参数
                         合作方唯一ID，32位定长
                aid:
                    type: string
                    description: 应用唯一ID，32位定长
                date:
                    type: string
                    description: 时间戳 yyyyMMddHHmmss
                random:
                    type: string
                    description: 随机字符串，保证签名不可预测，不长于32位
                keyAlias:
                    type: string
                    description: 合作方密钥对别名
                cmbKeyAlias:
                    type: string
                    description: 掌上生活密钥对别名
                encryptBody:
                    type: string
                    description: 加密报文，是否需要加密，请查看各API的说明文档
                sign:
                    type: string
                    description: 签名，具体详见签名规范
        api.v1.DecryptBodyReply:
            type: object
            properties:
                decryptBody:
                    type: string
        api.v1.Empty:
            type: object
            properties: {}
            description: 空请求或返回
        api.v1.EncryptBodyRequest:
            type: object
            properties:
                encryptBody:
                    type: string
        api.v1.OrderRetryRequest:
            type: object
            properties:
                transactionIds:
                    type: array
                    items:
                        type: string
tags:
    - name: Cmb
