diff --git a/spec/definitions/InternationalBankAccount.yaml b/spec/definitions/InternationalBankAccount.yaml index 388677f..3d20e1e 100644 --- a/spec/definitions/InternationalBankAccount.yaml +++ b/spec/definitions/InternationalBankAccount.yaml @@ -1,37 +1,23 @@ -description: Данные международного банковского счета +description: Данные международного банковского счёта type: object -required: - - accountHolder - - bankName - - bankAddress - - iban - - bic properties: - accountHolder: - description: Держатель счёта + number: + description: | + Номер счёта type: string - maxLength: 100 - bankName: - description: Наименование юридического лица банковской организации - type: string - maxLength: 100 - bankAddress: - description: Адрес юридического лица банковской организации - type: string - maxLength: 150 + pattern: '^[0-9A-Z]{8,40}$' + example: "123006951" iban: description: | International Bank Account Number [ISO 13616](https://en.wikipedia.org/wiki/International_Bank_Account_Number) + + _* Если `iban` задан, `bankDetails` не обязательны к заполнению._ type: string - pattern: '^[A-Z0-9]{3,34}$' + pattern: '^[A-Z0-9]{14,35}$' example: "GR1601101250000000012300695" - bic: - description: | - Business Identifier Code [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362) - type: string - pattern: '^([A-Z0-9]{8}|[A-Z0-9]{11})$' - example: "DEUTDEFF500" - localBankCode: - description: Национальный код банка - type: string - maxLength: 100 + bankDetails: + $ref: '#/definitions/InternationalBankDetails' + correspondentBankAccount: + allOf: + - description: Данные корреспондентского счёта указанного банка + - $ref: '#/definitions/InternationalBankAccount' diff --git a/spec/definitions/InternationalBankDetails.yaml b/spec/definitions/InternationalBankDetails.yaml new file mode 100644 index 0000000..eefcd39 --- /dev/null +++ b/spec/definitions/InternationalBankDetails.yaml @@ -0,0 +1,44 @@ +description: Данные международной банковской организации +type: object +properties: + bic: + description: | + Business Identifier Code [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362). + + _* Если `bic` задан, прочие данные не обязательны к заполнению._ + type: string + pattern: '^([A-Z0-9]{8}|[A-Z0-9]{11})$' + example: | + RZBAATWW + abartn: + description: | + [ABA Routing Transit Number](https://en.wikipedia.org/wiki/ABA_routing_transit_number) + банковской организации, специфичный для банковской системы USA. + + _* Если `abartn` задан, прочие данные не обязательны к заполнению._ + type: string + pattern: '^[0-9]{9}$' + example: "129131673" + name: + description: Наименование юридического лица банковской организации + type: string + # TODO + # readOnly: true + maxLength: 100 + example: | + RAIFFEISEN BANK INTERNATIONAL AG + countryCode: + description: | + Страна резиденции банковской организации, + alpha-2 код по стандарту [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) + type: string + # readOnly: true + pattern: '^[A-Z]{2}$' + example: "AT" + address: + description: Адрес юридического лица банковской организации + type: string + # readOnly: true + maxLength: 1000 + example: | + 1030, VIENNA, AM STADTPARK 9