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/v1:
    post:
      tags:
      - info
      summary: POS上传SE比对信息
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/SEComparison'
      responses:
        200:
          description: ok
          schema:
            $ref: '#/definitions/ApiResponse'
  /api/compare/v1:
    post:
      tags:
      - info
      summary: POS上传CA比对信息
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - in: body
        name: body
        required: true
        schema:
          $ref: '#/definitions/Comparison'
      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:
  individualCusInfo:
    type: object
    required:
    - applicantType
    - idType
    - customerChineseName
    - idNum
    - idExpiryDate
    - dateOfBirth
    - companyName
    - registeredCapital
    - selfEmployedSubType
    properties:
      applicantType:
        description: applicantType
        type: string
        example: COAPP
        enum:
        - COAPP
        - CUSTR
        - GAUTR1
        - GAUTR2
      idType:
        description: idType
        type: string
        example: ITARI
        enum:
        - ITARI
        - ITHKM
        - ITPRC
        - ITPSP
        - ITRES
        - ITTID
        - ITUSC
        - ITCCU
      secondIdType:
        description: secondIdType
        type: string
        example: ITARI
        enum:
        - ITARI
        - ITHKM
        - ITPRC
        - ITPSP
        - ITRES
        - ITTID
      customerChineseName:
        description: customerChineseName
        type: string
        example: 李四
      idNum:
        description: idNum
        type: string
        example: 111111199404251111
      secondIdNum:
        description: secondIdNum
        type: string
        example: 111111199404251111
      idExpiryDate:
        description: idExpiryDate
        type: string
        format: date
        example: '2027-04-30'
      dateOfBirth:
        description: dateOfBirth
        type: string
        format: date
        example: '2027-04-30'
      companyName:
        description: companyName
        type: string
        example: 北京思图场景数据科技服务有限公司
      registeredCapital:
        description: registeredCapital
        type: number
        format: float
        example: 1234.56
      selfEmployedSubType:
        description: selfEmployedSubType
        type: string
        example: CSIBM
        enum:
        - CSIBM
        - CSOTH
        - CSSME
  SEindividualCusInfo:
    type: object
    required:
    - customerType
    - applicantType
    - customerName
    - idType
    - idNum
    - dateOfBirth
    - idExpiryDate
    properties:
      customerType:
        description: customerType
        type: string
        example: TCCOR
        enum:
        - TCCOR
        - TCDAS
        - TCFRE
        - TCIAS
        - TCIND
        - TCSEP
        - TCURE
      applicantType:
        description: applicantType
        type: string
        example: COAPP
        enum:
        - COAPP
        - CUSTR
        - GAUTR1
        - GAUTR2
      customerName:
        description: customerName
        type: string
        example: 李四
      idType:
        description: idType
        type: string
        example: ITARI
        enum:
        - ITARI
        - ITHKM
        - ITPRC
        - ITPSP
        - ITRES
        - ITTID
        - ITUSC
        - ITCCU
      idNum:
        description: idNum
        type: string
        example: 111111199404251111
      secondIdType:
        description: secondIdType
        type: string
        example: ITARI
        enum:
        - ITARI
        - ITHKM
        - ITPRC
        - ITPSP
        - ITRES
        - ITTID
      secondIdNum:
        description: secondIdNum
        type: string
        example: 111111199404251111
      dateOfBirth:
        description: dateOfBirth
        type: string
        format: date
        example: '2027-04-30'
      idExpiryDate:
        description: idExpiryDate
        type: string
        format: date
        example: '2027-04-30'
      nationality:
        description: nationality
        type: string
        example: 中国
      countryregion:
        description: countryregion
        type: string
        example: 中国
      hukouProvince:
        description: hukouProvince
        type: string
        example: 山东省
      hukouCity:
        description: hukouCity
        type: string
        example: 日照市
      residentialProvince:
        description: residentialProvince
        type: string
        example: 江苏省
      residentialCity:
        description: residentialCity
        type: string
        example: 连云港市
      companyName:
        description: companyName
        type: string
        example: 北京思图场景数据科技服务有限公司
      registeredCapital:
        description: registeredCapital
        type: number
        format: float
        example: 1234.56
      selfEmployedSubType:
        description: selfEmployedSubType
        type: string
        example: CSIBM
        enum:
        - CSIBM
        - CSOTH
        - CSSME
  associatedServiceInfo:
    type: object
    required:
    - service
    - amount
    - financedAmount
    properties:
      service:
        description: service
        type: string
        example: test_service
      amount:
        description: amount
        type: number
        format: float
        example: 1234.56
      financedAmount:
        description: financedAmount
        type: number
        format: float
        example: 1234.56
  monthlyPaymentInfo:
    type: object
    required:
    - term
    - amount
    properties:
      term:
        description: term
        type: number
        example: 12
      amount:
        description: amount
        type: number
        format: float
        example: 1234.56
  SEComparison:
    type: object
    required:
    - content
    properties:
      content:
        description: SE比对内容信息
        type: object
        required:
        - uniqSeq
        - applicationId
        - applicationVersion
        - applicationEntity
        - customerType
        - firstSubmmisonDate
        - individualCusInfo
        - vehicleInfo
        - insuranceInfo
        - bankInfo
        - quotationtInfo
        properties:
          uniqSeq:
            description: uniqSeq
            type: string
            example: 201809301905121000
          applicationId:
            description: applicationId
            type: string
            example: CH-B100000123
          applicationVersion:
            description: applicationVersion
            type: integer
            example: 0
          applicationEntity:
            description: applicationEntity
            type: string
            example: HIL
            enum:
            - AFC
            - HIL
          customerType:
            description: customerType
            type: string
            example: TCCOR
            enum:
            - TCCOR
            - TCDAS
            - TCFRE
            - TCIAS
            - TCIND
            - TCSEP
            - TCURE
          firstSubmmisonDate:
            description: firstSubmmisonDate
            type: string
            format: date
            example: '2027-04-30'
          propertyDocumentPolicy:
            description: propertyDocumentPolicy
            type: string
            example: DOAOB
            enum:
            - DOAOB
            - DOHDP
            - DOAMP
            - DOHED
            - DOAGQ
            - DOSME
            - DOLHK
            - DORET
            - DOPCQ
            - DOSNF
            - DOYES
            - DOGRC
            - DOLLR
            - DOVDL
          individualCusInfo:
            description: individualCusInfo
            type: array
            items:
              $ref: '#/definitions/SEindividualCusInfo'
          corporateCusInfo:
            description: corporateCusInfo
            type: object
            required:
            - customerType
            - companyName
            - firstIdType
            - firstIdNo
            - businessLicenseNo
            - organizationCreditCode
            - taxRegistrationCertificateNo
            - establishmentDate
            - incorporationDate
            - businessLicenseDueDate
            - legalRepName
            - organizationType
            properties:
              customerType:
                description: customerType
                type: string
                example: TCCOR
                enum:
                - TCCOR
                - TCDAS
                - TCFRE
                - TCIAS
                - TCIND
                - TCSEP
                - TCURE
              companyName:
                description: companyName
                type: string
                example: 北京思图场景数据科技服务有限公司
              firstIdType:
                description: firstIdType
                type: string
                example: ITPRC
                enum:
                - ITARI
                - ITHKM
                - ITPRC
                - ITPSP
                - ITRES
                - ITTID
                - ITUSC
                - ITCCU
              firstIdNo:
                description: firstIdNo
                type: string
                example: MA007438143XJ1P
              businessLicenseNo:
                description: businessLicenseNo
                type: string
                example: MA007438143XJ1P
              organizationCreditCode:
                description: organizationCreditCode
                type: string
                example: MA007438143XJ1P
              taxRegistrationCertificateNo:
                description: taxRegistrationCertificateNo
                type: string
                example: MA007438143XJ1P
              establishmentDate:
                description: establishmentDate
                type: string
                format: date
                example: '2027-04-30'
              incorporationDate:
                description: incorporationDate
                type: string
                format: date
                example: '2027-04-30'
              businessLicenseDueDate:
                description: businessLicenseDueDate
                type: string
                format: date
                example: '2027-04-30'
              legalRepName:
                description: legalRepName
                type: string
                example: 王五
              organizationType:
                description: organizationType
                type: string
                example: OTINS
                enum:
                - OTINS
                - OTUNI
                - OTOTH
                - OTIND
                - OTCOR
              fleetCustomer:
                description: fleetCustomer
                type: boolean
                example: false
              beneficialOwnerName:
                description: beneficialOwnerName
                type: string
                example: 王五
              beneficialOwnerIdType:
                description: beneficialOwnerIdType
                type: string
                example: ITPRC
                enum:
                - ITARI
                - ITHKM
                - ITPRC
                - ITPSP
                - ITRES
                - ITTID
                - ITUSC
                - ITCCU
              beneficialOwnerIdNo:
                description: beneficialOwnerIdNo
                type: string
                example: 324124534534
              beneficialOwnerIdExpiryDate:
                description: beneficialOwnerIdExpiryDate
                type: string
                format: date
                example: '2027-04-30'
          vehicleInfo:
            description: vehicleInfo
            type: object
            required:
            - vehicleStatus
            - vehicleTransactionAmount
            - vinNo
            - dealer
            properties:
              vehicleStatus:
                description: vehicleStatus
                type: string
                example: Usedcar
              vehicleTransactionAmount:
                description: vehicleTransactionAmount
                type: number
                format: float
                example: 1234.56
              vinNo:
                description: vinNo
                type: string
                example: DFS2341JK23
              dealer:
                description: dealer
                type: string
                example: TestDealer
              option:
                description: option
                type: number
                format: float
                example: 1234.56
              msrp:
                description: msrp
                type: number
                format: float
                example: 1234.56
              totalAmount:
                description: totalAmount
                type: number
                format: float
                example: 1234.56
          insuranceInfo:
            description: insuranceInfo
            type: object
            required:
            - insuredAmount
            - insuranceType
            - startDate
            - endDate
            properties:
              insuredAmount:
                description: insuredAmount
                type: number
                format: float
                example: 1234.56
              insuranceType:
                description: insuranceType
                type: string
                example: ITCOM
                enum:
                - ITCOM
                - ITCOS
              startDate:
                description: startDate
                type: string
                format: date
                example: '2027-04-30'
              endDate:
                description: endDate
                type: string
                format: date
                example: '2027-04-30'
          bankInfo:
            description: bankInfo
            type: object
            required:
            - bankName
            - branchName
            - applicantType
            - accountHolderName
            - accountNo
            properties:
              bankName:
                description: bankName
                type: string
                example: 农业银行
              branchName:
                description: branchName
                type: string
                example: 回龙观支行
              applicantType:
                description: applicantType
                type: string
                example: COAPP
                enum:
                - COAPP
                - CUSTR
                - GAUTR1
                - GAUTR2
              accountHolderName:
                description: accountHolderName
                type: string
                example: 张三
              accountNo:
                description: accountNo
                type: string
                example: 634523426756756
              bankVerificationStatus:
                description: bankVerificationStatus
                type: string
                example: PASS
                enum:
                - PASS
                - FAIL
                - N/A
              isAllDocUploaded:
                description: isAllDocUploaded
                type: boolean
                example: false
          quotationtInfo:
            description: quotationtInfo
            type: object
            required:
            - totalLoanAmount
            - loanTerm
            - vehiclePrincipal
            - monthlyPaymentInfo
            properties:
              totalLoanAmount:
                description: totalLoanAmount
                type: number
                format: float
                example: 1234.56
              loanTerm:
                description: loanTerm
                type: number
                example: 12
              vehiclePrincipal:
                description: vehiclePrincipal
                type: number
                format: float
                example: 1234.56
              associatedServicePrincipal:
                description: associatedServicePrincipal
                type: number
                format: float
                example: 1234.56
              associatedServiceInfo:
                description: associatedServiceInfo
                type: array
                items:
                  $ref: '#/definitions/associatedServiceInfo'
              monthlyPaymentInfo:
                description: monthlyPaymentInfo
                type: array
                items:
                  $ref: '#/definitions/monthlyPaymentInfo'
  Comparison:
    type: object
    required:
    - content
    properties:
      content:
        description: 比对内容信息
        type: object
        required:
        - uniqSeq
        - applicationId
        - applicationEntity
        - customerType
        - applicationVersion
        - vehicleStatus
        - comments
        - individualCusInfo
        properties:
          uniqSeq:
            description: uniqSeq
            type: string
            example: 201809301905121000
          applicationId:
            description: applicationId
            type: string
            example: CH-B100000123
          applicationEntity:
            description: applicationEntity
            type: string
            example: HIL
            enum:
            - AFC
            - HIL
          customerType:
            description: customerType
            type: string
            example: TCCOR
            enum:
            - TCCOR
            - TCDAS
            - TCFRE
            - TCIAS
            - TCIND
            - TCSEP
            - TCURE
          applicationVersion:
            description: applicationVersion
            type: integer
            example: 0
          vehicleStatus:
            description: vehicleStatus
            type: string
            example: PCUSD
            enum:
            - PCUSD
            - PCNEW
          comments:
            description: comments
            type: array
            items:
              type: string
          individualCusInfo:
            description: individualCusInfo
            type: array
            items:
              $ref: '#/definitions/individualCusInfo'
          usedCarInfo:
            description: usedCarInfo
            type: object
            required:
            - vinNo
            - manufactureDate
            - firstRegistrationDate
            properties:
              vinNo:
                description: vinNo
                type: string
                example: LBVSFJSDLFJLSDJF
              manufactureDate:
                description: manufactureDate
                type: string
                format: date
                example: '2027-04-30'
              firstRegistrationDate:
                description: firstRegistrationDate
                type: string
                format: date
                example: '2027-04-30'
          corporateCusInfo:
            description: corporateCusInfo
            type: object
            required:
            - customerChineseName
            - legalRepName
            - idNum
            - businessLicenseNo
            - taxRegistrationCode
            - incorporationDate
            - businessLicenseDueDate
            - capitalRegAmount
            properties:
              customerChineseName:
                description: customerChineseName
                type: string
                example: 北京思图场景数据科技服务有限公司
              legalRepName:
                description: legalRepName
                type: string
                example: 李六
              idNum:
                description: idNum
                type: string
                example: MA007438143XJ1P
              businessLicenseNo:
                description: businessLicenseNo
                type: string
                example: MA007438143XJ1P
              taxRegistrationCode:
                description: taxRegistrationCode
                type: string
                example: MA007438143XJ1P
              incorporationDate:
                description: incorporationDate
                type: string
                format: date
                example: '2027-04-30'
              businessLicenseDueDate:
                description: businessLicenseDueDate
                type: string
                format: date
                example: '2027-04-30'
              capitalRegAmount:
                description: capitalRegAmount
                type: number
                format: float
                example: 1234.56
  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