swagger: '2.0'
info:
  title: 接口文档
  description: 宝马ocr/biz_logic接口文档
  version: 1.0.0
host: li19dkocruat01vm.bmwgroup.net
basePath: /
tags:
- name: info
  description: 比对结果
schemes:
- https
security:
- OAuth2: []
paths:
  /api/compare/settlement/cms/v1:
    post:
      tags:
      - info
      summary: CMS上传比对信息
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/CMS'
      responses:
        200:
          description: ok
          schema:
            $ref: '#/definitions/ApiResponse'
securityDefinitions:
  OAuth2:
    type: oauth2
    flow: application
    description: 'This API uses OAuth 2 with the application(clientCredentials) grant
      flow.

      client_id=sMlciTkppsMzARwHpCVarm5q7DP2Vucj3ny8JFhw

      client_secret=WNoOilDx140ZLcenDKfsnikv7S2LIFs60DciYoqnrZaYLqYsKpcmt7mJIL69o9AEf84uQvRnS3K2UioxfjNyImjR4UOyXbDcF6qYgTLC4KDVByKFdVhKfrn2Lc4q4BNW

      scopes=write

      '
    tokenUrl: https://li19dkocruat01vm.bmwgroup.net/api/oauth/token/
    scopes:
      write: Grants write access
responses:
  ErrorResponse:
    description: 调用异常, 具体情况请参考`HTTP`状态码和`code`字段
    schema:
      $ref: '#/definitions/ApiResponse'
  NoContent:
    description: 后台接收请求,但是没有响应内容
    schema:
      $ref: '#/definitions/ApiResponse'
definitions:
  associatedServices:
    description: associatedServices
    type: object
    required:
    - associatedServices
    - price
    - financed
    - total
    properties:
      associatedServices:
        description: associatedServices
        type: string
        example: 机动车保险
      price:
        description: price
        type: number
        format: float
        example: 1234.56
      financed:
        description: financed
        type: number
        format: float
        example: 1234.56
      total:
        description: total
        type: number
        format: float
        example: 1234.56
  paymentSchedule:
    description: paymentSchedule
    type: object
    required:
    - false
    - grossRentalAmount
    properties:
      false:
        description: false
        type: integer
        example: 3
      grossRentalAmount:
        description: grossRentalAmount
        type: number
        format: float
        example: 1234.56
  IDInformation:
    description: IDInformation
    type: object
    required:
    - idType
    - idNum
    - idExpiryDate
    properties:
      idType:
        description: idType
        type: string
        example: ITARI
      idNum:
        description: idNum
        type: string
        example: 111111199404251111
      idExpiryDate:
        description: idExpiryDate
        type: string
        example: 2027-04-30
  applicantInformation:
    description: applicantInformation
    type: object
    required:
    - applicantType
    - customersubType
    - name
    - legalRepName
    - IDInformation
    properties:
      applicantType:
        description: applicantType
        type: string
        example: Borrower
      customersubType:
        description: customersubType
        type: string
        example: TCCOR
      selfEmployedSubType:
        description: selfEmployedSubType
        type: string
        example: CSIBM
      name:
        description: name
        type: string
        example: 李四
      legalRepName:
        description: legalRepName
        type: string
        example: 张三
      dateOfBirth:
        description: dateOfBirth
        type: string
        example: 2027-04-30
      nationality:
        description: nationality
        type: string
        example: 中国
      establishmentDate:
        description: establishmentDate
        type: string
        example: 2027-04-30
      IDInformation:
        description: IDInformation
        type: array
        items:
          $ref: '#/definitions/IDInformation'
  CMS:
    type: object
    required:
    - content
    properties:
      content:
        description: content
        type: object
        required:
        - financeCompany
        - contractNo
        - status
        - branch
        - fpCampaign
        - applicationVersion
        - submissionDate
        - mortgageType
        - dealerRegion
        - insuranceRealNameCity
        - totalFinanceAmount
        - terms
        - dealerName
        - tier
        - province
        - fapiaoIssuerDealer
        - customerName
        - customerIdNo
        - vehicleStatus
        - applicationSource
        - contractSource
        - applicationRating
        - applicantInformation
        - autoApprovedDetails
        - financialInformation
        - paymentSchedule
        - associatedServices
        - vehicleInformation
        - bankAccountDetails
        - insuranceDetails
        - corporateFinancialInformation
        - settlemnetVerification
        properties:
          financeCompany:
            description: financeCompany
            type: string
            example: 宝马汽车金融有限公司
          contractNo:
            description: contractNo
            type: string
            example: CH-B100000123
          status:
            description: status
            type: string
            example: HIL
          branch:
            description: branch
            type: string
            example: 宝马汽车金融有限公司
          fpCampaign:
            description: fpCampaign
            type: string
            example: Q1_2021_BMW_BASIC
          applicationVersion:
            description: applicationVersion
            type: integer
            example: 1
          submissionDate:
            description: submissionDate
            type: string
            example: 2020-01-01
          mortgageType:
            description: mortgageType
            type: string
            example: Mortgage Contract
          dealerRegion:
            description: dealerRegion
            type: string
            example: West
          insuranceRealNameCity:
            description: insuranceRealNameCity
            type: boolean
            example: false
          totalFinanceAmount:
            description: totalFinanceAmount
            type: number
            format: float
            example: 1234.56
          terms:
            description: terms
            type: integer
            example: 24
          dealerName:
            description: dealerName
            type: string
            example: 乐山长宝汽车销售服务有限公司
          tier:
            description: tier
            type: string
            example: 2
          province:
            description: province
            type: string
            example: 四川省
          fapiaoIssuerDealer:
            description: fapiaoIssuerDealer
            type: string
            example: 乐山长宝汽车销售服务有限公司
          customerName:
            description: customerName
            type: string
            example: 蔡红
          customerIdNo:
            description: customerIdNo
            type: string
            example: 511102196706080000
          vehicleStatus:
            description: vehicleStatus
            type: string
            example: Used
          applicationSource:
            description: applicationSource
            type: string
            example: eApp
          contractSource:
            description: contractSource
            type: string
            example: Online Sign
          applicationRating:
            description: applicationRating
            type: integer
            example: 100
          applicantInformation:
            description: applicantInformation
            type: array
            items:
              $ref: '#/definitions/applicantInformation'
          autoApprovedDetails:
            description: autoApprovedDetails
            type: object
            required:
            - aaType
            properties:
              aaType:
                description: aaType
                type: string
                example: CAA1
          financialInformation:
            description: financialInformation
            type: object
            required:
            - vehiclePrice
            - grossPrice
            - associatedServicePrice
            - vehiclePrincipal
            - associatedServicePrincipal
            - originationPrincipal
            - totalDownPayment
            - vehicleDownPaymentRatio
            - optionAmount
            - sumOfMSRPAndOption
            properties:
              vehiclePrice:
                description: vehiclePrice
                type: number
                format: float
                example: 1234.56
              grossPrice:
                description: grossPrice
                type: number
                format: float
                example: 1234.56
              associatedServicePrice:
                description: associatedServicePrice
                type: number
                format: float
                example: 1234.56
              vehiclePrincipal:
                description: vehiclePrincipal
                type: number
                format: float
                example: 1234.56
              associatedServicePrincipal:
                description: associatedServicePrincipal
                type: number
                format: float
                example: 1234.56
              originationPrincipal:
                description: originationPrincipal
                type: number
                format: float
                example: 1234.56
              totalDownPayment:
                description: totalDownPayment
                type: number
                format: float
                example: 1234.56
              vehicleDownPaymentRatio:
                description: vehicleDownPaymentRatio
                type: number
                format: float
                example: 1234.56
              optionAmount:
                description: optionAmount
                type: number
                format: float
                example: 1234.56
              sumOfMSRPAndOption:
                description: sumOfMSRPAndOption
                type: number
                format: float
                example: 1234.56
          paymentSchedule:
            description: paymentSchedule
            type: array
            items:
              $ref: '#/definitions/paymentSchedule'
          associatedServices:
            description: associatedServices
            type: array
            items:
              $ref: '#/definitions/associatedServices'
          vehicleInformation:
            description: vehicleInformation
            type: object
            required:
            - vinNo
            properties:
              vinNo:
                description: vinNo
                type: string
                example: LBV23482934DJFKD
          bankAccountDetails:
            description: bankAccountDetails
            type: object
            required:
            - bankName
            - accountHolderName
            - accountNo
            properties:
              bankName:
                description: bankName
                type: string
                example: 中国银行
              accountHolderName:
                description: accountHolderName
                type: string
                example: 张三
              accountNo:
                description: accountNo
                type: string
                example: 12312123123123123
          insuranceDetails:
            description: insuranceDetails
            type: object
            required:
            - insuranceType
            - insuranceAmount
            - startDate
            - endDate
            properties:
              insuranceType:
                description: insuranceType
                type: string
                example: ComprehensiveInsurance
              insuranceAmount:
                description: insuranceAmount
                type: string
                example: 60000000.0
              startDate:
                description: startDate
                type: string
                example: 2020-01-01
              endDate:
                description: endDate
                type: string
                example: 2020-01-01
          corporateFinancialInformation:
            description: corporateFinancialInformation
            type: object
            required:
            - hashCode
            - borrowerName
            - fiscalYear
            - totaAssets
            - totalLiabilitiesAndOwnersEquity
            - cashAndCashEquivalentAtEndOfPeriod
            - netProfit
            properties:
              hashCode:
                description: hashCode
                type: string
                example: 238231
              borrowerName:
                description: borrowerName
                type: string
                example: 张三
              fiscalYear:
                description: fiscalYear
                type: integer
                example: 2019
              totaAssets:
                description: totaAssets
                type: number
                format: float
                example: 1234.56
              totalLiabilitiesAndOwnersEquity:
                description: totalLiabilitiesAndOwnersEquity
                type: number
                format: float
                example: 1234.56
              cashAndCashEquivalentAtEndOfPeriod:
                description: cashAndCashEquivalentAtEndOfPeriod
                type: number
                format: float
                example: 1234.56
              netProfit:
                description: netProfit
                type: number
                format: float
                example: 1234.56
          settlemnetVerification:
            description: settlemnetVerification
            type: object
            required:
            - applicationNo
            properties:
              applicationNo:
                description: applicationNo
                type: string
                example: CH-B100000123
  ApiResponse:
    description: 响应对象,code字段用于表示响应的状态; data字段用于存放响应内容
    type: object
    required:
    - code
    - msg
    properties:
      code:
        type: integer
        format: uint8
        description: '0: success 1: need login 2: invalid params 3: internal error
          4: object not exist 5: async wait 6: no permission 7: illegal operation'
        example: 0
        enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
      msg:
        type: string
        example: success
      data:
        type: object