Untitled
unknown
plain_text
10 months ago
5.5 kB
13
Indexable
import 'package:bcc_core/data.dart';
import 'package:bcc_transfers/src/common/data/dtos/transfer_common_response.dart';
import 'package:bcc_transfers/src/features/transfer_swift/data/dtos/swift_rate_dto.dart';
import 'package:dio/dio.dart';
import 'package:retrofit/retrofit.dart';
part 'swift_mci_source.g.dart';
@RestApi()
abstract class SwiftMciSource {
factory SwiftMciSource(
Dio dio, {
String baseUrl,
}) = _SwiftMciSource;
@POST('/!pkg_w_mb_main.operation?ACTION=GET_NATH_RATE')
@FormUrlEncoded()
Future<MciResponseDto<List<SwiftRateDto>>> getRate({
@Query('RATE_TYPE') String? rateType,
//TODO these field needed for correct requests, they don't affect the response, mb it will be removed in future
@Field('CURRENCY_DB') String currencyDebit = 'KZT',
@Field('CURRENCY_CR') String currencyCredit = 'USD',
});
@POST('/!pkg_w_mb_main.operation?ACTION=GET_SWIFT_COMMISSION')
@FormUrlEncoded()
Future<String> getCommission(
@Field('AMOUNT') double amount,
@Field('AMOUNT_CURRENCY') String currency,
@Field('ACCOUNT_ID') String accountId,
);
@POST('/!pkg_w_mb_main.operation?ACTION=SEND_OTP')
@FormUrlEncoded()
Future<TransferCommonResponse> sendOtp({
@Field('ACCOUNT_ID') required String accountId,
@Field('DESTBANK_FULLNAME') required String countryName,
@Field('BENEFICIARY_ACCOUNT') required String beneficiaryAccount,
@Field('BENEFICIARY_RESIDENCE_COUNTRY_CODE') required String countryCode,
@Field('TRANSFER_AMOUNT') required double transferAmount,
@Field('AMOUNT') required double amount,
@Field('PURPOSE_CODE') required String purposeCode,
@Field('COMMISSION_AMOUNT') required double? commissionAmount,
@Field('COMMISSION_CURRENCY') required String? commissionCurrency,
@Field('TRANSFER_CURRENCY') required String transferCurrency,
@Field('BENEFICIARY_CITY') required String beneficiaryCity,
@Field('DEST_BANK_BIC') required String destBankBic,
@Field('AMOUNT_CURRENCY') required String amountCurrency,
@Field('BENEFICIARY_NAME_ADDRESS1') required String beneficiaryFio,
@Field('BENEFICIARY_RESIDENT') required int beneficiaryResident,
@Field('PURPOSE_DESCRIPTION') required String? purposeDescription,
@Field('IDEMPOTENCY_KEY') required String? idempotencyKey,
@Field('UAE_PURPOSE_CODE') required String? uaePurposeCode,
@Field('COMMISSION_ACCOUNT_ID') required String? commissionAccountId,
@Field('COMMISSION_ACCOUNT') required String? commissionAccount,
@Field('INTERIM_BANK_ACCOUNT') required String? interimBankAccount,
@Field('INTERIM_BANK_BIC') required String? interimBankBic,
@Field('BENEFICIARY_JURFL') required int? beneficiaryJurfl,
@Field('CONFIRMATIONDOCUMENT_DATE')
required String? confirmationDocumentDate,
@Field('CONFIRMATIONDOCUMENT_NUMBER')
required String? confirmationDocumentNumber,
@Field('PURPOSE_CODEVO') required String? ruVoCode,
@Field('BENEFICIARY_INN') required String? ruIin,
@Field('BENEFICIARY_KPP') required String? ruKpp,
@Field('DESTBANK_FULLADDRESS') required String? ruBankName,
@Field('DEST_BANK_BIC') required String? ruDestBankBin,
@Field('CONFIRMATIONDOCUMENT_TYPE') String? confirmationDocumentType = '01',
});
@POST('/!pkg_w_mb_main.operation?ACTION=SWIFT_TRANSFER')
@FormUrlEncoded()
Future<String> makeSwiftTransfer({
@Field('ACCOUNT_ID') required String accountId,
@Field('DESTBANK_FULLNAME') required String countryName,
@Field('BENEFICIARY_ACCOUNT') required String beneficiaryAccount,
@Field('BENEFICIARY_RESIDENCE_COUNTRY_CODE') required String countryCode,
@Field('TRANSFER_AMOUNT') required double transferAmount,
@Field('AMOUNT') required double amount,
@Field('PURPOSE_CODE') required String purposeCode,
@Field('COMMISSION_AMOUNT') required double? commissionAmount,
@Field('COMMISSION_CURRENCY') required String? commissionCurrency,
@Field('TRANSFER_CURRENCY') required String transferCurrency,
@Field('BENEFICIARY_CITY') required String beneficiaryCity,
@Field('DEST_BANK_BIC') required String destBankBic,
@Field('AMOUNT_CURRENCY') required String amountCurrency,
@Field('BENEFICIARY_NAME_ADDRESS1') required String beneficiaryFio,
@Field('BENEFICIARY_RESIDENT') required int beneficiaryResident,
@Field('VERIFY_CODE') required String verifyOtpCode,
@Field('BENEFICIARY_JURFL') required int beneficiaryJurfl,
@Field('PURPOSE_DESCRIPTION') required String? purposeDescription,
@Field('IDEMPOTENCY_KEY') required String? idempotencyKey,
@Field('UAE_PURPOSE_CODE') required String? uaePurposeCode,
@Field('COMMISSION_ACCOUNT_ID') required String? commissionAccountId,
@Field('COMMISSION_ACCOUNT') required String? commissionAccount,
@Field('INTERIM_BANK_ACCOUNT') required String? interimBankAccount,
@Field('INTERIM_BANK_BIC') required String? interimBankBic,
@Field('CONFIRMATIONDOCUMENT_DATE')
required String? confirmationDocumentDate,
@Field('CONFIRMATIONDOCUMENT_NUMBER')
required String? confirmationDocumentNumber,
@Field('PURPOSE_CODEVO') required String? ruVoCode,
@Field('BENEFICIARY_INN') required String? ruIin,
@Field('BENEFICIARY_KPP') required String? ruKpp,
@Field('DESTBANK_FULLADDRESS') required String? ruBankName,
@Field('DEST_BANK_BIC') required String? ruDestBankBin,
@Field('CONFIRMATIONDOCUMENT_TYPE') String? confirmationDocumentType = '01',
});
}
Editor is loading...
Leave a Comment