plaid 11.0.0 → 14.0.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +102 -3
- data/CONTRIBUTING.md +15 -59
- data/Dockerfile +12 -0
- data/Gemfile.lock +48 -35
- data/LICENSE.txt +1 -1
- data/Makefile +21 -0
- data/PUBLISH.md +7 -7
- data/README.md +117 -85
- data/Rakefile +8 -79
- data/UPGRADING.md +4 -0
- data/docs/ACHClass.md +15 -0
- data/docs/APR.md +24 -0
- data/docs/AccountAssets.md +40 -0
- data/docs/AccountAssetsAllOf.md +24 -0
- data/docs/AccountBalance.md +26 -0
- data/docs/AccountBase.md +32 -0
- data/docs/AccountFiltersResponse.md +24 -0
- data/docs/AccountIdentity.md +34 -0
- data/docs/AccountIdentityAllOf.md +18 -0
- data/docs/AccountSubtype.md +15 -0
- data/docs/AccountType.md +15 -0
- data/docs/AccountsBalanceGetRequest.md +24 -0
- data/docs/AccountsBalanceGetRequestOptions.md +18 -0
- data/docs/AccountsGetRequest.md +24 -0
- data/docs/AccountsGetRequestOptions.md +18 -0
- data/docs/AccountsGetResponse.md +22 -0
- data/docs/Address.md +20 -0
- data/docs/AddressData.md +26 -0
- data/docs/Amount.md +20 -0
- data/docs/AssetReport.md +28 -0
- data/docs/AssetReportAuditCopyCreateRequest.md +24 -0
- data/docs/AssetReportAuditCopyCreateResponse.md +20 -0
- data/docs/AssetReportAuditCopyGetRequest.md +22 -0
- data/docs/AssetReportAuditCopyRemoveRequest.md +22 -0
- data/docs/AssetReportAuditCopyRemoveResponse.md +20 -0
- data/docs/AssetReportCreateRequest.md +26 -0
- data/docs/AssetReportCreateRequestOptions.md +22 -0
- data/docs/AssetReportCreateResponse.md +22 -0
- data/docs/AssetReportFilterRequest.md +24 -0
- data/docs/AssetReportFilterResponse.md +22 -0
- data/docs/AssetReportGetRequest.md +24 -0
- data/docs/AssetReportGetResponse.md +22 -0
- data/docs/AssetReportItem.md +26 -0
- data/docs/AssetReportPDFGetRequest.md +22 -0
- data/docs/AssetReportRefreshRequest.md +26 -0
- data/docs/AssetReportRefreshRequestOptions.md +22 -0
- data/docs/AssetReportRefreshResponse.md +22 -0
- data/docs/AssetReportRemoveRequest.md +22 -0
- data/docs/AssetReportRemoveResponse.md +20 -0
- data/docs/AssetReportTransaction.md +58 -0
- data/docs/AssetReportTransactionAllOf.md +20 -0
- data/docs/AssetReportUser.md +30 -0
- data/docs/AssetsErrorWebhook.md +24 -0
- data/docs/AssetsProductReadyWebhook.md +22 -0
- data/docs/AuthGetNumbers.md +24 -0
- data/docs/AuthGetRequest.md +24 -0
- data/docs/AuthGetRequestOptions.md +18 -0
- data/docs/AuthGetResponse.md +24 -0
- data/docs/AutomaticallyVerifiedWebhook.md +24 -0
- data/docs/BankTransfer.md +50 -0
- data/docs/BankTransferBalance.md +20 -0
- data/docs/BankTransferBalanceGetRequest.md +22 -0
- data/docs/BankTransferBalanceGetResponse.md +22 -0
- data/docs/BankTransferCancelRequest.md +22 -0
- data/docs/BankTransferCancelResponse.md +18 -0
- data/docs/BankTransferCreateRequest.md +46 -0
- data/docs/BankTransferCreateResponse.md +20 -0
- data/docs/BankTransferDirection.md +15 -0
- data/docs/BankTransferEvent.md +40 -0
- data/docs/BankTransferEventListRequest.md +40 -0
- data/docs/BankTransferEventListResponse.md +20 -0
- data/docs/BankTransferEventSyncRequest.md +24 -0
- data/docs/BankTransferEventSyncResponse.md +20 -0
- data/docs/BankTransferEventType.md +15 -0
- data/docs/BankTransferFailure.md +20 -0
- data/docs/BankTransferGetRequest.md +22 -0
- data/docs/BankTransferGetResponse.md +20 -0
- data/docs/BankTransferListRequest.md +32 -0
- data/docs/BankTransferListResponse.md +20 -0
- data/docs/BankTransferMigrateAccountRequest.md +26 -0
- data/docs/BankTransferMigrateAccountResponse.md +22 -0
- data/docs/BankTransferNetwork.md +15 -0
- data/docs/BankTransferReceiverDetails.md +18 -0
- data/docs/BankTransferStatus.md +15 -0
- data/docs/BankTransferType.md +15 -0
- data/docs/BankTransferUser.md +22 -0
- data/docs/CategoriesGetResponse.md +20 -0
- data/docs/Category.md +22 -0
- data/docs/Cause.md +20 -0
- data/docs/CountryCode.md +15 -0
- data/docs/CreditCardLiability.md +34 -0
- data/docs/CreditFilter.md +18 -0
- data/docs/DefaultUpdateWebhook.md +26 -0
- data/docs/DepositSwitchAddressData.md +26 -0
- data/docs/DepositSwitchAltCreateRequest.md +24 -0
- data/docs/DepositSwitchAltCreateResponse.md +20 -0
- data/docs/DepositSwitchCreateRequest.md +24 -0
- data/docs/DepositSwitchCreateResponse.md +20 -0
- data/docs/DepositSwitchGetRequest.md +22 -0
- data/docs/DepositSwitchGetResponse.md +38 -0
- data/docs/DepositSwitchTargetAccount.md +24 -0
- data/docs/DepositSwitchTargetUser.md +28 -0
- data/docs/DepositSwitchTokenCreateRequest.md +22 -0
- data/docs/DepositSwitchTokenCreateResponse.md +22 -0
- data/docs/DepositoryFilter.md +18 -0
- data/docs/Email.md +22 -0
- data/docs/Employee.md +22 -0
- data/docs/EmployeeIncomeSummaryFieldString.md +20 -0
- data/docs/Employer.md +24 -0
- data/docs/EmployerIncomeSummaryFieldString.md +20 -0
- data/docs/EmployersSearchRequest.md +24 -0
- data/docs/EmployersSearchResponse.md +20 -0
- data/docs/Error.md +34 -0
- data/docs/ExternalPaymentSchedule.md +24 -0
- data/docs/HealthIncident.md +24 -0
- data/docs/HistoricalBalance.md +24 -0
- data/docs/HistoricalUpdateWebhook.md +26 -0
- data/docs/Holding.md +34 -0
- data/docs/HoldingsDefaultUpdateWebhook.md +28 -0
- data/docs/IdentityGetRequest.md +24 -0
- data/docs/IdentityGetRequestOptions.md +18 -0
- data/docs/IdentityGetResponse.md +22 -0
- data/docs/IncidentUpdate.md +22 -0
- data/docs/IncomeBreakdown.md +24 -0
- data/docs/IncomeSummary.md +30 -0
- data/docs/IncomeSummaryFieldNumber.md +20 -0
- data/docs/IncomeSummaryFieldString.md +20 -0
- data/docs/IncomeVerificationCreateRequest.md +22 -0
- data/docs/IncomeVerificationCreateResponse.md +20 -0
- data/docs/IncomeVerificationDocumentsDownloadRequest.md +22 -0
- data/docs/IncomeVerificationDocumentsDownloadResponse.md +18 -0
- data/docs/IncomeVerificationPaystubGetRequest.md +22 -0
- data/docs/IncomeVerificationPaystubGetResponse.md +20 -0
- data/docs/IncomeVerificationStatusWebhook.md +24 -0
- data/docs/IncomeVerificationSummaryGetRequest.md +22 -0
- data/docs/IncomeVerificationSummaryGetResponse.md +20 -0
- data/docs/IncomeVerificationWebhookStatus.md +18 -0
- data/docs/InflowModel.md +26 -0
- data/docs/InitialUpdateWebhook.md +26 -0
- data/docs/Institution.md +36 -0
- data/docs/InstitutionStatus.md +30 -0
- data/docs/InstitutionsGetByIdRequest.md +26 -0
- data/docs/InstitutionsGetByIdRequestOptions.md +20 -0
- data/docs/InstitutionsGetByIdResponse.md +20 -0
- data/docs/InstitutionsGetRequest.md +28 -0
- data/docs/InstitutionsGetRequestOptions.md +24 -0
- data/docs/InstitutionsGetResponse.md +22 -0
- data/docs/InstitutionsSearchAccountFilter.md +24 -0
- data/docs/InstitutionsSearchRequest.md +28 -0
- data/docs/InstitutionsSearchRequestOptions.md +22 -0
- data/docs/InstitutionsSearchResponse.md +20 -0
- data/docs/InvestmentFilter.md +18 -0
- data/docs/InvestmentHoldingsGetRequestOptions.md +18 -0
- data/docs/InvestmentTransaction.md +44 -0
- data/docs/InvestmentsDefaultUpdateWebhook.md +28 -0
- data/docs/InvestmentsHoldingsGetRequest.md +24 -0
- data/docs/InvestmentsHoldingsGetResponse.md +26 -0
- data/docs/InvestmentsTransactionsGetRequest.md +28 -0
- data/docs/InvestmentsTransactionsGetRequestOptions.md +22 -0
- data/docs/InvestmentsTransactionsGetResponse.md +28 -0
- data/docs/Item.md +32 -0
- data/docs/ItemAccessTokenInvalidateRequest.md +22 -0
- data/docs/ItemAccessTokenInvalidateResponse.md +20 -0
- data/docs/ItemErrorWebhook.md +24 -0
- data/docs/ItemGetRequest.md +22 -0
- data/docs/ItemGetResponse.md +24 -0
- data/docs/ItemImportRequest.md +26 -0
- data/docs/ItemImportRequestOptions.md +18 -0
- data/docs/ItemImportRequestUserAuth.md +20 -0
- data/docs/ItemImportResponse.md +20 -0
- data/docs/ItemProductReadyWebhook.md +24 -0
- data/docs/ItemPublicTokenCreateRequest.md +22 -0
- data/docs/ItemPublicTokenCreateResponse.md +22 -0
- data/docs/ItemPublicTokenExchangeRequest.md +22 -0
- data/docs/ItemPublicTokenExchangeResponse.md +22 -0
- data/docs/ItemRemoveRequest.md +22 -0
- data/docs/ItemRemoveResponse.md +18 -0
- data/docs/ItemStatus.md +22 -0
- data/docs/ItemStatusInvestments.md +20 -0
- data/docs/ItemStatusLastWebhook.md +20 -0
- data/docs/ItemStatusTransactions.md +20 -0
- data/docs/ItemWebhookUpdateRequest.md +24 -0
- data/docs/ItemWebhookUpdateResponse.md +20 -0
- data/docs/JWKPublicKey.md +34 -0
- data/docs/JWTHeader.md +18 -0
- data/docs/LiabilitiesGetRequest.md +24 -0
- data/docs/LiabilitiesGetRequestOptions.md +18 -0
- data/docs/LiabilitiesGetResponse.md +24 -0
- data/docs/LiabilitiesObject.md +22 -0
- data/docs/LiabilityOverride.md +66 -0
- data/docs/LinkTokenAccountFilters.md +24 -0
- data/docs/LinkTokenCreateRequest.md +48 -0
- data/docs/LinkTokenCreateRequestAccountSubtypes.md +24 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesCredit.md +18 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesDepository.md +18 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesInvestment.md +18 -0
- data/docs/LinkTokenCreateRequestAccountSubtypesLoan.md +18 -0
- data/docs/LinkTokenCreateRequestDepositSwitch.md +18 -0
- data/docs/LinkTokenCreateRequestIncomeVerification.md +20 -0
- data/docs/LinkTokenCreateRequestPaymentInitiation.md +18 -0
- data/docs/LinkTokenCreateRequestUser.md +32 -0
- data/docs/LinkTokenCreateResponse.md +22 -0
- data/docs/LinkTokenGetMetadataResponse.md +30 -0
- data/docs/LinkTokenGetRequest.md +22 -0
- data/docs/LinkTokenGetResponse.md +26 -0
- data/docs/LoanFilter.md +18 -0
- data/docs/Location.md +32 -0
- data/docs/MFA.md +26 -0
- data/docs/Meta.md +22 -0
- data/docs/MortgageInterestRate.md +20 -0
- data/docs/MortgageLiability.md +56 -0
- data/docs/MortgagePropertyAddress.md +26 -0
- data/docs/NullableAccessToken.md +15 -0
- data/docs/NullableAddress.md +20 -0
- data/docs/NullableAddressData.md +26 -0
- data/docs/NullableItemStatus.md +22 -0
- data/docs/NullableNumbersACH.md +24 -0
- data/docs/NullableNumbersBACS.md +22 -0
- data/docs/NullableNumbersEFT.md +24 -0
- data/docs/NullableNumbersInternational.md +22 -0
- data/docs/NullableRecipientBACS.md +20 -0
- data/docs/Numbers.md +32 -0
- data/docs/NumbersACH.md +24 -0
- data/docs/NumbersBACS.md +22 -0
- data/docs/NumbersEFT.md +24 -0
- data/docs/NumbersInternational.md +22 -0
- data/docs/OverrideAccounts.md +38 -0
- data/docs/Owner.md +24 -0
- data/docs/OwnerOverride.md +24 -0
- data/docs/PSLFStatus.md +22 -0
- data/docs/PayFrequency.md +20 -0
- data/docs/PayPeriodDetails.md +26 -0
- data/docs/PaymentAmount.md +20 -0
- data/docs/PaymentInitiationAddress.md +24 -0
- data/docs/PaymentInitiationPaymentCreateRequest.md +28 -0
- data/docs/PaymentInitiationPaymentCreateResponse.md +22 -0
- data/docs/PaymentInitiationPaymentGetRequest.md +22 -0
- data/docs/PaymentInitiationPaymentGetResponse.md +34 -0
- data/docs/PaymentInitiationPaymentListRequest.md +24 -0
- data/docs/PaymentInitiationPaymentListResponse.md +22 -0
- data/docs/PaymentInitiationPaymentTokenCreateRequest.md +22 -0
- data/docs/PaymentInitiationPaymentTokenCreateResponse.md +22 -0
- data/docs/PaymentInitiationRecipient.md +26 -0
- data/docs/PaymentInitiationRecipientBacs.md +20 -0
- data/docs/PaymentInitiationRecipientCreateRequest.md +28 -0
- data/docs/PaymentInitiationRecipientCreateResponse.md +20 -0
- data/docs/PaymentInitiationRecipientGetRequest.md +22 -0
- data/docs/PaymentInitiationRecipientGetResponse.md +28 -0
- data/docs/PaymentInitiationRecipientListRequest.md +20 -0
- data/docs/PaymentInitiationRecipientListResponse.md +20 -0
- data/docs/PaymentMeta.md +32 -0
- data/docs/PaymentStatusUpdateWebhook.md +30 -0
- data/docs/Paystub.md +30 -0
- data/docs/PaystubDeduction.md +22 -0
- data/docs/PaystubYTDDetails.md +20 -0
- data/docs/PendingExpirationWebhook.md +24 -0
- data/docs/PhoneNumber.md +22 -0
- data/docs/PlaidApi.md +5580 -0
- data/docs/ProcessorApexProcessorTokenCreateRequest.md +24 -0
- data/docs/ProcessorAuthGetRequest.md +22 -0
- data/docs/ProcessorAuthGetResponse.md +22 -0
- data/docs/ProcessorBalanceGetRequest.md +22 -0
- data/docs/ProcessorBalanceGetResponse.md +20 -0
- data/docs/ProcessorIdentityGetRequest.md +22 -0
- data/docs/ProcessorIdentityGetResponse.md +20 -0
- data/docs/ProcessorNumber.md +24 -0
- data/docs/ProcessorStripeBankAccountTokenCreateRequest.md +24 -0
- data/docs/ProcessorStripeBankAccountTokenCreateResponse.md +20 -0
- data/docs/ProcessorTokenCreateRequest.md +26 -0
- data/docs/ProcessorTokenCreateResponse.md +20 -0
- data/docs/ProductStatus.md +22 -0
- data/docs/ProductStatusBreakdown.md +24 -0
- data/docs/Products.md +15 -0
- data/docs/ProjectedIncomeSummaryFieldNumber.md +20 -0
- data/docs/RecaptchaRequiredError.md +30 -0
- data/docs/RecipientBACS.md +20 -0
- data/docs/SandboxBankTransferSimulateRequest.md +26 -0
- data/docs/SandboxBankTransferSimulateResponse.md +18 -0
- data/docs/SandboxItemFireWebhookRequest.md +24 -0
- data/docs/SandboxItemFireWebhookResponse.md +20 -0
- data/docs/SandboxItemResetLoginRequest.md +22 -0
- data/docs/SandboxItemResetLoginResponse.md +20 -0
- data/docs/SandboxItemSetVerificationStatusRequest.md +26 -0
- data/docs/SandboxItemSetVerificationStatusResponse.md +18 -0
- data/docs/SandboxProcessorTokenCreateRequest.md +24 -0
- data/docs/SandboxProcessorTokenCreateRequestOptions.md +20 -0
- data/docs/SandboxProcessorTokenCreateResponse.md +20 -0
- data/docs/SandboxPublicTokenCreateRequest.md +26 -0
- data/docs/SandboxPublicTokenCreateRequestOptions.md +24 -0
- data/docs/SandboxPublicTokenCreateRequestOptionsTransactions.md +20 -0
- data/docs/SandboxPublicTokenCreateResponse.md +20 -0
- data/docs/Security.md +46 -0
- data/docs/ServicerAddressData.md +26 -0
- data/docs/StandaloneAccountType.md +26 -0
- data/docs/StandaloneCurrencyCodeList.md +20 -0
- data/docs/StandaloneInvestmentTransactionSubtype.md +104 -0
- data/docs/StandaloneInvestmentTransactionType.md +28 -0
- data/docs/StudentLoan.md +66 -0
- data/docs/StudentLoanRepaymentModel.md +22 -0
- data/docs/StudentLoanStatus.md +20 -0
- data/docs/StudentRepaymentPlan.md +20 -0
- data/docs/Transaction.md +54 -0
- data/docs/TransactionCode.md +15 -0
- data/docs/TransactionData.md +26 -0
- data/docs/TransactionOverride.md +26 -0
- data/docs/TransactionsGetRequest.md +28 -0
- data/docs/TransactionsGetRequestOptions.md +22 -0
- data/docs/TransactionsGetResponse.md +26 -0
- data/docs/TransactionsRefreshRequest.md +22 -0
- data/docs/TransactionsRefreshResponse.md +18 -0
- data/docs/TransactionsRemovedWebhook.md +26 -0
- data/docs/UserCustomPassword.md +28 -0
- data/docs/UserPermissionRevokedWebhook.md +24 -0
- data/docs/VerificationExpiredWebhook.md +24 -0
- data/docs/VerificationStatus.md +15 -0
- data/docs/Warning.md +22 -0
- data/docs/WebhookUpdateAcknowledgedWebhook.md +26 -0
- data/docs/WebhookVerificationKeyGetRequest.md +22 -0
- data/docs/WebhookVerificationKeyGetResponse.md +20 -0
- data/docs/YTDGrossIncomeSummaryFieldNumber.md +20 -0
- data/docs/YTDNetIncomeSummaryFieldNumber.md +20 -0
- data/lib/plaid.rb +343 -61
- data/lib/plaid/api/plaid_api.rb +4414 -0
- data/lib/plaid/api_client.rb +383 -0
- data/lib/plaid/api_error.rb +57 -0
- data/lib/plaid/configuration.rb +297 -0
- data/lib/plaid/models/account_assets.rb +406 -0
- data/lib/plaid/models/account_assets_all_of.rb +263 -0
- data/lib/plaid/models/account_balance.rb +269 -0
- data/lib/plaid/models/account_base.rb +345 -0
- data/lib/plaid/models/account_filters_response.rb +246 -0
- data/lib/plaid/models/account_identity.rb +369 -0
- data/lib/plaid/models/account_identity_all_of.rb +226 -0
- data/lib/plaid/models/account_subtype.rb +101 -0
- data/lib/plaid/models/account_type.rb +41 -0
- data/lib/plaid/models/accounts_balance_get_request.rb +254 -0
- data/lib/plaid/models/accounts_balance_get_request_options.rb +222 -0
- data/lib/plaid/models/accounts_get_request.rb +254 -0
- data/lib/plaid/models/accounts_get_request_options.rb +222 -0
- data/lib/plaid/models/accounts_get_response.rb +256 -0
- data/lib/plaid/models/ach_class.rb +50 -0
- data/lib/plaid/models/address.rb +235 -0
- data/lib/plaid/models/address_data.rb +277 -0
- data/lib/plaid/models/amount.rb +274 -0
- data/lib/plaid/models/apr.rb +296 -0
- data/lib/plaid/models/asset_report.rb +301 -0
- data/lib/plaid/models/asset_report_audit_copy_create_request.rb +260 -0
- data/lib/plaid/models/asset_report_audit_copy_create_response.rb +240 -0
- data/lib/plaid/models/asset_report_audit_copy_get_request.rb +245 -0
- data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +245 -0
- data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +240 -0
- data/lib/plaid/models/asset_report_create_request.rb +299 -0
- data/lib/plaid/models/asset_report_create_request_options.rb +239 -0
- data/lib/plaid/models/asset_report_create_response.rb +255 -0
- data/lib/plaid/models/asset_report_filter_request.rb +262 -0
- data/lib/plaid/models/asset_report_filter_response.rb +255 -0
- data/lib/plaid/models/asset_report_get_request.rb +255 -0
- data/lib/plaid/models/asset_report_get_response.rb +256 -0
- data/lib/plaid/models/asset_report_item.rb +287 -0
- data/lib/plaid/models/asset_report_pdf_get_request.rb +245 -0
- data/lib/plaid/models/asset_report_refresh_request.rb +288 -0
- data/lib/plaid/models/asset_report_refresh_request_options.rb +239 -0
- data/lib/plaid/models/asset_report_refresh_response.rb +255 -0
- data/lib/plaid/models/asset_report_remove_request.rb +245 -0
- data/lib/plaid/models/asset_report_remove_response.rb +240 -0
- data/lib/plaid/models/asset_report_transaction.rb +511 -0
- data/lib/plaid/models/asset_report_transaction_all_of.rb +235 -0
- data/lib/plaid/models/asset_report_user.rb +287 -0
- data/lib/plaid/models/assets_error_webhook.rb +265 -0
- data/lib/plaid/models/assets_product_ready_webhook.rb +255 -0
- data/lib/plaid/models/auth_get_numbers.rb +258 -0
- data/lib/plaid/models/auth_get_request.rb +254 -0
- data/lib/plaid/models/auth_get_request_options.rb +222 -0
- data/lib/plaid/models/auth_get_response.rb +270 -0
- data/lib/plaid/models/automatically_verified_webhook.rb +270 -0
- data/lib/plaid/models/bank_transfer.rb +444 -0
- data/lib/plaid/models/bank_transfer_balance.rb +239 -0
- data/lib/plaid/models/bank_transfer_balance_get_request.rb +241 -0
- data/lib/plaid/models/bank_transfer_balance_get_response.rb +250 -0
- data/lib/plaid/models/bank_transfer_cancel_request.rb +245 -0
- data/lib/plaid/models/bank_transfer_cancel_response.rb +225 -0
- data/lib/plaid/models/bank_transfer_create_request.rb +459 -0
- data/lib/plaid/models/bank_transfer_create_response.rb +239 -0
- data/lib/plaid/models/bank_transfer_direction.rb +37 -0
- data/lib/plaid/models/bank_transfer_event.rb +388 -0
- data/lib/plaid/models/bank_transfer_event_list_request.rb +418 -0
- data/lib/plaid/models/bank_transfer_event_list_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_event_sync_request.rb +301 -0
- data/lib/plaid/models/bank_transfer_event_sync_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_event_type.rb +42 -0
- data/lib/plaid/models/bank_transfer_failure.rb +231 -0
- data/lib/plaid/models/bank_transfer_get_request.rb +245 -0
- data/lib/plaid/models/bank_transfer_get_response.rb +239 -0
- data/lib/plaid/models/bank_transfer_list_request.rb +336 -0
- data/lib/plaid/models/bank_transfer_list_response.rb +241 -0
- data/lib/plaid/models/bank_transfer_migrate_account_request.rb +275 -0
- data/lib/plaid/models/bank_transfer_migrate_account_response.rb +255 -0
- data/lib/plaid/models/bank_transfer_network.rb +38 -0
- data/lib/plaid/models/bank_transfer_receiver_details.rb +255 -0
- data/lib/plaid/models/bank_transfer_status.rb +40 -0
- data/lib/plaid/models/bank_transfer_type.rb +37 -0
- data/lib/plaid/models/bank_transfer_user.rb +246 -0
- data/lib/plaid/models/categories_get_response.rb +242 -0
- data/lib/plaid/models/category.rb +257 -0
- data/lib/plaid/models/cause.rb +235 -0
- data/lib/plaid/models/country_code.rb +42 -0
- data/lib/plaid/models/credit_card_liability.rb +339 -0
- data/lib/plaid/models/credit_filter.rb +227 -0
- data/lib/plaid/models/default_update_webhook.rb +280 -0
- data/lib/plaid/models/deposit_switch_address_data.rb +285 -0
- data/lib/plaid/models/deposit_switch_alt_create_request.rb +258 -0
- data/lib/plaid/models/deposit_switch_alt_create_response.rb +240 -0
- data/lib/plaid/models/deposit_switch_create_request.rb +260 -0
- data/lib/plaid/models/deposit_switch_create_response.rb +240 -0
- data/lib/plaid/models/deposit_switch_get_request.rb +245 -0
- data/lib/plaid/models/deposit_switch_get_response.rb +381 -0
- data/lib/plaid/models/deposit_switch_target_account.rb +303 -0
- data/lib/plaid/models/deposit_switch_target_user.rb +288 -0
- data/lib/plaid/models/deposit_switch_token_create_request.rb +245 -0
- data/lib/plaid/models/deposit_switch_token_create_response.rb +255 -0
- data/lib/plaid/models/depository_filter.rb +227 -0
- data/lib/plaid/models/email.rb +289 -0
- data/lib/plaid/models/employee.rb +242 -0
- data/lib/plaid/models/employee_income_summary_field_string.rb +245 -0
- data/lib/plaid/models/employer.rb +261 -0
- data/lib/plaid/models/employer_income_summary_field_string.rb +245 -0
- data/lib/plaid/models/employers_search_request.rb +262 -0
- data/lib/plaid/models/employers_search_response.rb +242 -0
- data/lib/plaid/models/error.rb +360 -0
- data/lib/plaid/models/external_payment_schedule.rb +265 -0
- data/lib/plaid/models/health_incident.rb +253 -0
- data/lib/plaid/models/historical_balance.rb +262 -0
- data/lib/plaid/models/historical_update_webhook.rb +280 -0
- data/lib/plaid/models/holding.rb +329 -0
- data/lib/plaid/models/holdings_default_update_webhook.rb +295 -0
- data/lib/plaid/models/identity_get_request.rb +254 -0
- data/lib/plaid/models/identity_get_request_options.rb +222 -0
- data/lib/plaid/models/identity_get_response.rb +256 -0
- data/lib/plaid/models/incident_update.rb +273 -0
- data/lib/plaid/models/income_breakdown.rb +253 -0
- data/lib/plaid/models/income_summary.rb +275 -0
- data/lib/plaid/models/income_summary_field_number.rb +238 -0
- data/lib/plaid/models/income_summary_field_string.rb +238 -0
- data/lib/plaid/models/income_verification_create_request.rb +245 -0
- data/lib/plaid/models/income_verification_create_response.rb +240 -0
- data/lib/plaid/models/income_verification_documents_download_request.rb +245 -0
- data/lib/plaid/models/income_verification_documents_download_response.rb +224 -0
- data/lib/plaid/models/income_verification_paystub_get_request.rb +245 -0
- data/lib/plaid/models/income_verification_paystub_get_response.rb +229 -0
- data/lib/plaid/models/income_verification_status_webhook.rb +270 -0
- data/lib/plaid/models/income_verification_summary_get_request.rb +245 -0
- data/lib/plaid/models/income_verification_summary_get_response.rb +242 -0
- data/lib/plaid/models/income_verification_webhook_status.rb +223 -0
- data/lib/plaid/models/inflow_model.rb +285 -0
- data/lib/plaid/models/initial_update_webhook.rb +281 -0
- data/lib/plaid/models/institution.rb +344 -0
- data/lib/plaid/models/institution_status.rb +307 -0
- data/lib/plaid/models/institutions_get_by_id_request.rb +271 -0
- data/lib/plaid/models/institutions_get_by_id_request_options.rb +234 -0
- data/lib/plaid/models/institutions_get_by_id_response.rb +239 -0
- data/lib/plaid/models/institutions_get_request.rb +305 -0
- data/lib/plaid/models/institutions_get_request_options.rb +254 -0
- data/lib/plaid/models/institutions_get_response.rb +257 -0
- data/lib/plaid/models/institutions_search_account_filter.rb +253 -0
- data/lib/plaid/models/institutions_search_request.rb +288 -0
- data/lib/plaid/models/institutions_search_request_options.rb +239 -0
- data/lib/plaid/models/institutions_search_response.rb +242 -0
- data/lib/plaid/models/investment_filter.rb +227 -0
- data/lib/plaid/models/investment_holdings_get_request_options.rb +222 -0
- data/lib/plaid/models/investment_transaction.rb +445 -0
- data/lib/plaid/models/investments_default_update_webhook.rb +295 -0
- data/lib/plaid/models/investments_holdings_get_request.rb +254 -0
- data/lib/plaid/models/investments_holdings_get_response.rb +290 -0
- data/lib/plaid/models/investments_transactions_get_request.rb +284 -0
- data/lib/plaid/models/investments_transactions_get_request_options.rb +285 -0
- data/lib/plaid/models/investments_transactions_get_response.rb +305 -0
- data/lib/plaid/models/item.rb +311 -0
- data/lib/plaid/models/item_access_token_invalidate_request.rb +245 -0
- data/lib/plaid/models/item_access_token_invalidate_response.rb +240 -0
- data/lib/plaid/models/item_error_webhook.rb +265 -0
- data/lib/plaid/models/item_get_request.rb +245 -0
- data/lib/plaid/models/item_get_response.rb +259 -0
- data/lib/plaid/models/item_import_request.rb +270 -0
- data/lib/plaid/models/item_import_request_options.rb +220 -0
- data/lib/plaid/models/item_import_request_user_auth.rb +240 -0
- data/lib/plaid/models/item_import_response.rb +240 -0
- data/lib/plaid/models/item_product_ready_webhook.rb +265 -0
- data/lib/plaid/models/item_public_token_create_request.rb +245 -0
- data/lib/plaid/models/item_public_token_create_response.rb +249 -0
- data/lib/plaid/models/item_public_token_exchange_request.rb +245 -0
- data/lib/plaid/models/item_public_token_exchange_response.rb +255 -0
- data/lib/plaid/models/item_remove_request.rb +245 -0
- data/lib/plaid/models/item_remove_response.rb +225 -0
- data/lib/plaid/models/item_status.rb +240 -0
- data/lib/plaid/models/item_status_investments.rb +232 -0
- data/lib/plaid/models/item_status_last_webhook.rb +232 -0
- data/lib/plaid/models/item_status_transactions.rb +232 -0
- data/lib/plaid/models/item_webhook_update_request.rb +260 -0
- data/lib/plaid/models/item_webhook_update_response.rb +239 -0
- data/lib/plaid/models/jwk_public_key.rb +299 -0
- data/lib/plaid/models/jwt_header.rb +224 -0
- data/lib/plaid/models/liabilities_get_request.rb +254 -0
- data/lib/plaid/models/liabilities_get_request_options.rb +222 -0
- data/lib/plaid/models/liabilities_get_response.rb +270 -0
- data/lib/plaid/models/liabilities_object.rb +249 -0
- data/lib/plaid/models/liability_override.rb +583 -0
- data/lib/plaid/models/link_token_account_filters.rb +246 -0
- data/lib/plaid/models/link_token_create_request.rb +390 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes.rb +246 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_credit.rb +222 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_depository.rb +222 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_investment.rb +222 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes_loan.rb +222 -0
- data/lib/plaid/models/link_token_create_request_deposit_switch.rb +225 -0
- data/lib/plaid/models/link_token_create_request_income_verification.rb +236 -0
- data/lib/plaid/models/link_token_create_request_payment_initiation.rb +225 -0
- data/lib/plaid/models/link_token_create_request_user.rb +295 -0
- data/lib/plaid/models/link_token_create_response.rb +255 -0
- data/lib/plaid/models/link_token_get_metadata_response.rb +287 -0
- data/lib/plaid/models/link_token_get_request.rb +245 -0
- data/lib/plaid/models/link_token_get_response.rb +266 -0
- data/lib/plaid/models/loan_filter.rb +227 -0
- data/lib/plaid/models/location.rb +298 -0
- data/lib/plaid/models/meta.rb +255 -0
- data/lib/plaid/models/mfa.rb +285 -0
- data/lib/plaid/models/mortgage_interest_rate.rb +232 -0
- data/lib/plaid/models/mortgage_liability.rb +430 -0
- data/lib/plaid/models/mortgage_property_address.rb +265 -0
- data/lib/plaid/models/nullable_access_token.rb +209 -0
- data/lib/plaid/models/nullable_address.rb +241 -0
- data/lib/plaid/models/nullable_address_data.rb +283 -0
- data/lib/plaid/models/nullable_item_status.rb +246 -0
- data/lib/plaid/models/nullable_numbers_ach.rb +272 -0
- data/lib/plaid/models/nullable_numbers_bacs.rb +261 -0
- data/lib/plaid/models/nullable_numbers_eft.rb +276 -0
- data/lib/plaid/models/nullable_numbers_international.rb +261 -0
- data/lib/plaid/models/nullable_recipient_bacs.rb +236 -0
- data/lib/plaid/models/numbers.rb +330 -0
- data/lib/plaid/models/numbers_ach.rb +266 -0
- data/lib/plaid/models/numbers_bacs.rb +255 -0
- data/lib/plaid/models/numbers_eft.rb +270 -0
- data/lib/plaid/models/numbers_international.rb +255 -0
- data/lib/plaid/models/override_accounts.rb +366 -0
- data/lib/plaid/models/owner.rb +278 -0
- data/lib/plaid/models/owner_override.rb +278 -0
- data/lib/plaid/models/pay_frequency.rb +272 -0
- data/lib/plaid/models/pay_period_details.rb +265 -0
- data/lib/plaid/models/payment_amount.rb +240 -0
- data/lib/plaid/models/payment_initiation_address.rb +252 -0
- data/lib/plaid/models/payment_initiation_payment_create_request.rb +284 -0
- data/lib/plaid/models/payment_initiation_payment_create_response.rb +255 -0
- data/lib/plaid/models/payment_initiation_payment_get_request.rb +245 -0
- data/lib/plaid/models/payment_initiation_payment_get_response.rb +363 -0
- data/lib/plaid/models/payment_initiation_payment_list_request.rb +267 -0
- data/lib/plaid/models/payment_initiation_payment_list_response.rb +257 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +245 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +255 -0
- data/lib/plaid/models/payment_initiation_recipient.rb +271 -0
- data/lib/plaid/models/payment_initiation_recipient_bacs.rb +237 -0
- data/lib/plaid/models/payment_initiation_recipient_create_request.rb +275 -0
- data/lib/plaid/models/payment_initiation_recipient_create_response.rb +240 -0
- data/lib/plaid/models/payment_initiation_recipient_get_request.rb +245 -0
- data/lib/plaid/models/payment_initiation_recipient_get_response.rb +286 -0
- data/lib/plaid/models/payment_initiation_recipient_list_request.rb +230 -0
- data/lib/plaid/models/payment_initiation_recipient_list_response.rb +242 -0
- data/lib/plaid/models/payment_meta.rb +298 -0
- data/lib/plaid/models/payment_status_update_webhook.rb +356 -0
- data/lib/plaid/models/paystub.rb +306 -0
- data/lib/plaid/models/paystub_deduction.rb +242 -0
- data/lib/plaid/models/paystub_ytd_details.rb +239 -0
- data/lib/plaid/models/pending_expiration_webhook.rb +270 -0
- data/lib/plaid/models/phone_number.rb +281 -0
- data/lib/plaid/models/processor_apex_processor_token_create_request.rb +260 -0
- data/lib/plaid/models/processor_auth_get_request.rb +245 -0
- data/lib/plaid/models/processor_auth_get_response.rb +253 -0
- data/lib/plaid/models/processor_balance_get_request.rb +245 -0
- data/lib/plaid/models/processor_balance_get_response.rb +239 -0
- data/lib/plaid/models/processor_identity_get_request.rb +245 -0
- data/lib/plaid/models/processor_identity_get_response.rb +239 -0
- data/lib/plaid/models/processor_number.rb +250 -0
- data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +260 -0
- data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +240 -0
- data/lib/plaid/models/processor_token_create_request.rb +275 -0
- data/lib/plaid/models/processor_token_create_response.rb +240 -0
- data/lib/plaid/models/product_status.rb +288 -0
- data/lib/plaid/models/product_status_breakdown.rb +300 -0
- data/lib/plaid/models/products.rb +46 -0
- data/lib/plaid/models/projected_income_summary_field_number.rb +245 -0
- data/lib/plaid/models/pslf_status.rb +243 -0
- data/lib/plaid/models/recaptcha_required_error.rb +314 -0
- data/lib/plaid/models/recipient_bacs.rb +230 -0
- data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +270 -0
- data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +225 -0
- data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +289 -0
- data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +240 -0
- data/lib/plaid/models/sandbox_item_reset_login_request.rb +245 -0
- data/lib/plaid/models/sandbox_item_reset_login_response.rb +240 -0
- data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +309 -0
- data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +225 -0
- data/lib/plaid/models/sandbox_processor_token_create_request.rb +253 -0
- data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +236 -0
- data/lib/plaid/models/sandbox_processor_token_create_response.rb +239 -0
- data/lib/plaid/models/sandbox_public_token_create_request.rb +271 -0
- data/lib/plaid/models/sandbox_public_token_create_request_options.rb +255 -0
- data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +230 -0
- data/lib/plaid/models/sandbox_public_token_create_response.rb +240 -0
- data/lib/plaid/models/security.rb +382 -0
- data/lib/plaid/models/servicer_address_data.rb +265 -0
- data/lib/plaid/models/standalone_account_type.rb +285 -0
- data/lib/plaid/models/standalone_currency_code_list.rb +240 -0
- data/lib/plaid/models/standalone_investment_transaction_subtype.rb +650 -0
- data/lib/plaid/models/standalone_investment_transaction_type.rb +300 -0
- data/lib/plaid/models/student_loan.rb +483 -0
- data/lib/plaid/models/student_loan_repayment_model.rb +255 -0
- data/lib/plaid/models/student_loan_status.rb +266 -0
- data/lib/plaid/models/student_repayment_plan.rb +266 -0
- data/lib/plaid/models/transaction.rb +478 -0
- data/lib/plaid/models/transaction_code.rb +48 -0
- data/lib/plaid/models/transaction_data.rb +285 -0
- data/lib/plaid/models/transaction_override.rb +280 -0
- data/lib/plaid/models/transactions_get_request.rb +284 -0
- data/lib/plaid/models/transactions_get_request_options.rb +285 -0
- data/lib/plaid/models/transactions_get_response.rb +288 -0
- data/lib/plaid/models/transactions_refresh_request.rb +240 -0
- data/lib/plaid/models/transactions_refresh_response.rb +225 -0
- data/lib/plaid/models/transactions_removed_webhook.rb +282 -0
- data/lib/plaid/models/user_custom_password.rb +297 -0
- data/lib/plaid/models/user_permission_revoked_webhook.rb +265 -0
- data/lib/plaid/models/verification_expired_webhook.rb +270 -0
- data/lib/plaid/models/verification_status.rb +40 -0
- data/lib/plaid/models/warning.rb +254 -0
- data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +280 -0
- data/lib/plaid/models/webhook_verification_key_get_request.rb +245 -0
- data/lib/plaid/models/webhook_verification_key_get_response.rb +239 -0
- data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +245 -0
- data/lib/plaid/models/ytd_net_income_summary_field_number.rb +245 -0
- data/lib/plaid/version.rb +13 -2
- data/pkg/plaid-14.0.0.beta.2.gem +0 -0
- data/plaid.gemspec +44 -49
- data/templates/ruby/api_client.mustache +266 -0
- data/templates/ruby/api_client_faraday_partial.mustache +120 -0
- data/templates/ruby/configuration.mustache +353 -0
- data/templates/ruby/gemspec.mustache +41 -0
- data/test/test_accounts.rb +103 -0
- data/test/test_asset_report.rb +147 -0
- data/test/test_auth.rb +61 -0
- data/test/test_bank_transfers.rb +219 -0
- data/test/test_categories.rb +10 -0
- data/test/test_configuration.rb +26 -0
- data/test/test_deposit_switch.rb +73 -0
- data/test/test_helper.rb +109 -0
- data/test/test_identity.rb +38 -0
- data/test/test_institutions.rb +159 -0
- data/test/test_investments.rb +208 -0
- data/test/test_item.rb +285 -0
- data/test/test_liabilities.rb +45 -0
- data/test/test_link_token.rb +97 -0
- data/test/test_payment_initiation.rb +95 -0
- data/test/test_processor.rb +67 -0
- data/test/test_transactions.rb +168 -0
- data/test/test_webhooks.rb +22 -0
- metadata +692 -102
- data/.circleci/config.yml +0 -21
- data/.env.sample +0 -3
- data/.github/workflows/add_to_project.yml +0 -21
- data/.rubocop.yml +0 -18
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/lib/plaid/client.rb +0 -190
- data/lib/plaid/errors.rb +0 -89
- data/lib/plaid/middleware.rb +0 -31
- data/lib/plaid/models.rb +0 -2082
- data/lib/plaid/products/accounts.rb +0 -63
- data/lib/plaid/products/asset_report.rb +0 -199
- data/lib/plaid/products/auth.rb +0 -42
- data/lib/plaid/products/base_product.rb +0 -64
- data/lib/plaid/products/categories.rb +0 -21
- data/lib/plaid/products/credit_details.rb +0 -40
- data/lib/plaid/products/deposit_switch.rb +0 -99
- data/lib/plaid/products/identity.rb +0 -31
- data/lib/plaid/products/income.rb +0 -31
- data/lib/plaid/products/institutions.rb +0 -88
- data/lib/plaid/products/investments.rb +0 -127
- data/lib/plaid/products/item.rb +0 -232
- data/lib/plaid/products/liabilities.rb +0 -39
- data/lib/plaid/products/link_token.rb +0 -45
- data/lib/plaid/products/payment_initiation.rb +0 -218
- data/lib/plaid/products/processor.rb +0 -190
- data/lib/plaid/products/sandbox.rb +0 -148
- data/lib/plaid/products/transactions.rb +0 -81
- data/lib/plaid/products/webhooks.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e8c05e8bb5cbfacc0902d2ba1e55caa9e598903400664b6e3af05194f9030f48
|
4
|
+
data.tar.gz: d91005c3e51594ffd83a0a018eeed137c4617cf34e19b6d213de72576f351925
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59a640409c54e4c585dff9597c99ee9cee2283d5b48299cc800e0e5572380e468d138553eb072523e209c21963850954f74d6310e77d58e153b2f50c8d2080f6
|
7
|
+
data.tar.gz: 7e951849c7ddc3da52f234959c7d598fe027445d1f7931e40f170937313993449b1247abef2abc27acbb1efbdfac246dc67e62b5cc68dbf6c5af4230da30f315
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,110 @@
|
|
1
|
+
# 14.0.0.beta.1
|
2
|
+
|
3
|
+
This version represents a transition in how we maintain our external client libraries. We are now using an [API spec](https://github.com/plaid/plaid-openapi) written in `OpenAPI 3.0.0` and running our definition file through [OpenAPITool's `python` generator](https://github.com/OpenAPITools/openapi-generator).
|
4
|
+
|
5
|
+
The minimum required ruby version is 2.7.1.
|
6
|
+
|
7
|
+
**Ruby Migration Guide:**
|
8
|
+
|
9
|
+
### Client initialization
|
10
|
+
From:
|
11
|
+
```ruby
|
12
|
+
client = Plaid::Client.new(env: :sandbox,
|
13
|
+
client_id: client_id,
|
14
|
+
secret: secret)
|
15
|
+
```
|
16
|
+
|
17
|
+
To:
|
18
|
+
```ruby
|
19
|
+
configuration = Plaid::Configuration.new
|
20
|
+
configuration.server_index = Plaid::Configuration::Environment["sandbox"]
|
21
|
+
configuration.api_key["PLAID-CLIENT-ID"] = ENV["PLAID_RUBY_CLIENT_ID"]
|
22
|
+
configuration.api_key["PLAID-SECRET"] = ENV["PLAID_RUBY_SECRET"]
|
23
|
+
configuration.api_key["Plaid-Version"] = "2020-09-14"
|
24
|
+
|
25
|
+
api_client = Plaid::ApiClient.new(
|
26
|
+
configuration
|
27
|
+
)
|
28
|
+
|
29
|
+
client = Plaid::PlaidApi.new(api_client)
|
30
|
+
```
|
31
|
+
|
32
|
+
### Endpoints
|
33
|
+
All endpoint requests now take a request model and the functions have been renamed to include `_`.
|
34
|
+
|
35
|
+
From:
|
36
|
+
```ruby
|
37
|
+
response = client.auth.get(access_token)
|
38
|
+
```
|
39
|
+
|
40
|
+
To:
|
41
|
+
```ruby
|
42
|
+
auth_get_request = Plaid::AuthGetRequest.new
|
43
|
+
auth_get_request.access_token = access_token
|
44
|
+
|
45
|
+
or
|
46
|
+
|
47
|
+
auth_get_request = Plaid::AuthGetRequest.new({:access_token => access_token})
|
48
|
+
|
49
|
+
response = client.auth_get(auth_get_request)
|
50
|
+
```
|
51
|
+
|
52
|
+
### Errors
|
53
|
+
|
54
|
+
From:
|
55
|
+
```ruby
|
56
|
+
begin
|
57
|
+
client.auth.get(auth_get_request)
|
58
|
+
rescue Plaid::PlaidAPIError => e
|
59
|
+
raise e if e.error_code != 'PRODUCT_NOT_READY'
|
60
|
+
sleep 1
|
61
|
+
end
|
62
|
+
```
|
63
|
+
|
64
|
+
To:
|
65
|
+
```ruby
|
66
|
+
begin
|
67
|
+
client.auth_get(auth_get_request)
|
68
|
+
rescue Plaid::ApiError => e
|
69
|
+
json_response = JSON.parse(e.response_body)
|
70
|
+
if json_response["error_code"] != "PRODUCT_NOT_READY"
|
71
|
+
end
|
72
|
+
```
|
73
|
+
|
74
|
+
# 13.0.0
|
75
|
+
- Add support for providing a payment initiation schedule
|
76
|
+
- Add back the (now deprecated) `/item/public_token/create` endpoint
|
77
|
+
- Add back the (now deprecated) `/payment_initiation/payment/token/create` endpoint
|
78
|
+
|
79
|
+
BREAKING CHANGES:
|
80
|
+
|
81
|
+
- Update minimum required Ruby version to 2.4
|
82
|
+
|
83
|
+
# 12.0.0
|
84
|
+
|
85
|
+
- The library has been pinned to the '2020-09-14' API release. Visit the [docs](https://plaid.com/docs/api/versioning/) to see what changed.
|
86
|
+
- the `/item/public_token/create` endpoint has been disabled in favor of the /link/token/create
|
87
|
+
endpoint
|
88
|
+
- The `/item/add_token/create endpoint` has been disabled in favor of the /link/token/create
|
89
|
+
- The `/payment_initiation/payment/token/create` endpoint has been disabled in favor of the /link/token/create
|
90
|
+
endpoint
|
91
|
+
- The `/item/remove` endpoint will no longer return a `removed` boolean.
|
92
|
+
- The `/institutions/get`, `/institutions/get_by_id`, and `/institutions/search` now require
|
93
|
+
`country_codes` to be passed in.
|
94
|
+
|
95
|
+
# 11.1.0
|
96
|
+
|
97
|
+
- Add support for Link Token get endpoint ([#301](https://github.com/plaid/plaid-ruby/pull/301))
|
98
|
+
- `link/token/get`
|
99
|
+
|
1
100
|
# 11.0.0
|
2
101
|
|
3
|
-
- Add `merchant_name` to `Transaction`
|
102
|
+
- Add `merchant_name` to `Transaction` (#294)
|
4
103
|
|
5
104
|
BREAKING CHANGES:
|
6
105
|
|
7
106
|
- Removes the public key as input to `Client`. The public key is no longer needed by the API. (#287)
|
8
|
-
- Add link/token/create support
|
107
|
+
- Add link/token/create support (#293)
|
9
108
|
|
10
109
|
# 10.1.0
|
11
110
|
|
@@ -170,4 +269,4 @@ BREAKING CHANGES:
|
|
170
269
|
|
171
270
|
# 2.0.0.alpha. 06-May-2016
|
172
271
|
|
173
|
-
- Rewrite everything.
|
272
|
+
- Rewrite everything.
|
data/CONTRIBUTING.md
CHANGED
@@ -1,67 +1,23 @@
|
|
1
|
-
|
1
|
+
# Contributing
|
2
2
|
|
3
|
-
|
3
|
+
Instructions for contributing to [plaid-ruby][1]. A ruby client library for the [Plaid API][2]. This library is fully generated from the [Plaid OpenAPI spec](3).
|
4
4
|
|
5
|
-
|
5
|
+
## Setup
|
6
6
|
|
7
|
-
|
7
|
+
1. Run `make pull-openapi`.
|
8
|
+
2. Install [Docker](https://docs.docker.com/desktop/) if you do not have it on your machine, this helps to isolate any dependency issues.
|
9
|
+
3. Run `make build-openapi` after you have finished your Docker setup. This generates all the code necessary to run the library.
|
8
10
|
|
9
|
-
|
10
|
-
live sandbox environment, creating items on the fly and calling various API
|
11
|
-
endpoints for them. For this to work you'll need real `client_id` and `secret`
|
12
|
-
from your Plaid dashboard. Create a file named `.env` based on `.env.sample`
|
13
|
-
which is provided:
|
11
|
+
If you find an issue, please investigate whether it is a type problem with [OpenAPI](3) or a problem with the [ruby faraday](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/ruby.md) generator. Then open an issue and Plaid will investigate further.
|
14
12
|
|
15
|
-
|
16
|
-
PLAID_RUBY_CLIENT_ID=the_real_client_id
|
17
|
-
PLAID_RUBY_SECRET=the_real_secret
|
18
|
-
```
|
19
|
-
This file will be loaded during the tests.
|
13
|
+
## Running Tests
|
20
14
|
|
21
|
-
|
22
|
-
[
|
23
|
-
|
15
|
+
1. To build the docker image for the client tests, run `docker build -t plaid-ruby .`.
|
16
|
+
2. Go to the [Plaid Dashboard](https://dashboard.plaid.com/) and copy and paste your `client_id` and sandbox `secret` into the following command.
|
17
|
+
3. Run `docker run --rm -e PLAID_RUBY_CLIENT_ID=$CLIENT_ID -e PLAID_RUBY_SECRET=$SECRET plaid-ruby`.
|
24
18
|
|
25
|
-
|
19
|
+
If you wish to run a single test, edit the `Rakefile` and rebuild the docker image using the command from step 1.
|
26
20
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
1. Make sure that `STUB_API=1 rake test` fails. It will fail saying something
|
31
|
-
like "... An HTTP request has been made that VCR does not know how to
|
32
|
-
handle".
|
33
|
-
2. Run `RECORD_MODE=all STUB_API=1 rake test`. This will run the whole suite
|
34
|
-
and re-record everything. If you only need to update data for one test class,
|
35
|
-
use this:
|
36
|
-
|
37
|
-
```
|
38
|
-
RECORD_MODE=all STUB_API=1 ruby -w -I"lib:test" -rminitest/pride -rdotenv/load test/test_which_fails.rb
|
39
|
-
```
|
40
|
-
3. Run `rake vcr_hide_credentials`. This step is essential, because
|
41
|
-
newly recorded files will contain your real `client_id` and friends. This
|
42
|
-
Rake task will go over all recorded files and replace real values with
|
43
|
-
stubbed ones used by `STUB_API=1 rake test`.
|
44
|
-
4. Run `STUB_API=1 rake test` and verify that everything works.
|
45
|
-
|
46
|
-
|
47
|
-
## Running lint
|
48
|
-
|
49
|
-
```bash
|
50
|
-
bundle exec rubocop
|
51
|
-
```
|
52
|
-
|
53
|
-
## Contributing
|
54
|
-
|
55
|
-
1. Make one or more atomic commits, and ensure that each commit has a
|
56
|
-
descriptive commit message. Commit messages should be line wrapped
|
57
|
-
at 72 characters.
|
58
|
-
|
59
|
-
2. Make sure that there are tests for the code you wrote.
|
60
|
-
|
61
|
-
3. Make sure that you've documented all public methods using [TomDoc](http://tomdoc.org/).
|
62
|
-
|
63
|
-
4. Run tests (in both modes, see above) and address any errors. Preferably,
|
64
|
-
fix commits in place using `git rebase` or `git commit --amend` to make the
|
65
|
-
changes easier to review.
|
66
|
-
|
67
|
-
5. Open a pull request.
|
21
|
+
[1]: https://github.com/plaid/plaid-ruby
|
22
|
+
[2]: https://plaid.com
|
23
|
+
[3]: https://github.com/plaid/plaid-openapi
|
data/Dockerfile
ADDED
data/Gemfile.lock
CHANGED
@@ -1,58 +1,71 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
plaid (
|
5
|
-
faraday
|
6
|
-
faraday_middleware
|
7
|
-
hashie (>= 3.4.3)
|
4
|
+
plaid (14.0.0.beta.2)
|
5
|
+
faraday (~> 1.0, >= 1.0.1)
|
8
6
|
|
9
7
|
GEM
|
10
8
|
remote: https://rubygems.org/
|
11
9
|
specs:
|
12
|
-
ast (2.4.
|
13
|
-
|
14
|
-
|
10
|
+
ast (2.4.1)
|
11
|
+
diff-lcs (1.4.4)
|
12
|
+
dotenv (2.7.6)
|
13
|
+
faraday (1.3.0)
|
14
|
+
faraday-net_http (~> 1.0)
|
15
15
|
multipart-post (>= 1.2, < 3)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
minitest (5.
|
20
|
-
minitest-around (0.4.1)
|
16
|
+
ruby2_keywords
|
17
|
+
faraday-net_http (1.0.1)
|
18
|
+
minitest (5.14.2)
|
19
|
+
minitest-around (0.5.0)
|
21
20
|
minitest (~> 5.0)
|
22
21
|
multipart-post (2.1.1)
|
23
|
-
parallel (1.
|
24
|
-
parser (2.
|
25
|
-
ast (~> 2.4.
|
26
|
-
powerpack (0.1.1)
|
22
|
+
parallel (1.20.1)
|
23
|
+
parser (2.7.2.0)
|
24
|
+
ast (~> 2.4.1)
|
27
25
|
rainbow (3.0.0)
|
28
|
-
rake (
|
29
|
-
|
30
|
-
|
26
|
+
rake (13.0.1)
|
27
|
+
regexp_parser (1.8.0)
|
28
|
+
rexml (3.2.4)
|
29
|
+
rspec (3.10.0)
|
30
|
+
rspec-core (~> 3.10.0)
|
31
|
+
rspec-expectations (~> 3.10.0)
|
32
|
+
rspec-mocks (~> 3.10.0)
|
33
|
+
rspec-core (3.10.0)
|
34
|
+
rspec-support (~> 3.10.0)
|
35
|
+
rspec-expectations (3.10.0)
|
36
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
37
|
+
rspec-support (~> 3.10.0)
|
38
|
+
rspec-mocks (3.10.0)
|
39
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
+
rspec-support (~> 3.10.0)
|
41
|
+
rspec-support (3.10.0)
|
42
|
+
rubocop (0.91.1)
|
31
43
|
parallel (~> 1.10)
|
32
|
-
parser (>= 2.
|
33
|
-
powerpack (~> 0.1)
|
44
|
+
parser (>= 2.7.1.1)
|
34
45
|
rainbow (>= 2.2.2, < 4.0)
|
46
|
+
regexp_parser (>= 1.7)
|
47
|
+
rexml
|
48
|
+
rubocop-ast (>= 0.4.0, < 1.0)
|
35
49
|
ruby-progressbar (~> 1.7)
|
36
|
-
unicode-display_width (
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
50
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
51
|
+
rubocop-ast (0.4.2)
|
52
|
+
parser (>= 2.7.1.4)
|
53
|
+
ruby-progressbar (1.10.1)
|
54
|
+
ruby2_keywords (0.0.4)
|
55
|
+
unicode-display_width (1.7.0)
|
42
56
|
|
43
57
|
PLATFORMS
|
44
58
|
ruby
|
45
59
|
|
46
60
|
DEPENDENCIES
|
47
|
-
bundler (~>
|
61
|
+
bundler (~> 2.2.9)
|
48
62
|
dotenv
|
49
|
-
minitest (~> 5.
|
50
|
-
minitest-around (~> 0.
|
63
|
+
minitest (~> 5.14)
|
64
|
+
minitest-around (~> 0.5.0)
|
51
65
|
plaid!
|
52
|
-
rake (>=
|
53
|
-
|
54
|
-
|
55
|
-
vcr (~> 4.0.0)
|
66
|
+
rake (>= 13.0)
|
67
|
+
rspec (~> 3.6, >= 3.6.0)
|
68
|
+
rubocop (~> 0.91.0)
|
56
69
|
|
57
70
|
BUNDLED WITH
|
58
|
-
|
71
|
+
2.2.9
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) 2020 Plaid Technologies, Inc.
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/Makefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
CURRENT_DIR:=$(shell pwd)
|
2
|
+
OPENAPI_FILE:=2020-09-14.yml
|
3
|
+
# Theres a bug in 5.0.1 for ruby generation. https://github.com/OpenAPITools/openapi-generator/issues/8677
|
4
|
+
OPENAPI_GENERATOR_5:=docker run --rm -v $(CURRENT_DIR):/local openapitools/openapi-generator-cli:v5.0.0 generate
|
5
|
+
OPENAPI_VERSION:=1.5.0-beta
|
6
|
+
# Ruby embeds the version in the generator where as others dont os its not possible to cat for it.
|
7
|
+
RUBY_PACKAGE_VERSION="14.0.0.beta.2"
|
8
|
+
|
9
|
+
.PHONY: pull-openapi
|
10
|
+
pull-openapi:
|
11
|
+
curl https://raw.githubusercontent.com/plaid/plaid-openapi/$(OPENAPI_VERSION)/$(OPENAPI_FILE) --output $(CURRENT_DIR)/$(OPENAPI_FILE)
|
12
|
+
|
13
|
+
.PHONY: build-openapi
|
14
|
+
build-openapi:
|
15
|
+
$(OPENAPI_GENERATOR_5) -g ruby \
|
16
|
+
-i local/$(OPENAPI_FILE) \
|
17
|
+
-o local/ \
|
18
|
+
--global-property=apiTests=false,modelTests=false \
|
19
|
+
--library=faraday \
|
20
|
+
-p gemName=plaid,gemRequiredRubyVersion=">= 2.7.1",gemVersion=$(RUBY_PACKAGE_VERSION) \
|
21
|
+
-t local/templates/ruby
|
data/PUBLISH.md
CHANGED
@@ -4,17 +4,17 @@ The module is published to [RubyGems][1] under the gem name [plaid][2].
|
|
4
4
|
|
5
5
|
Prepare release:
|
6
6
|
|
7
|
-
1.
|
8
|
-
2.
|
9
|
-
3.
|
10
|
-
4.
|
7
|
+
1. Update `Makefile -> RUBY_PACKAGE_VERSION`, and `CHANGELOG.md` files.
|
8
|
+
2. Run `bundle` to bump the version in `Gemfile.lock`.
|
9
|
+
3. Create and merge a PR with the changes from 1 and 2.
|
10
|
+
4. Authenticate with rubygems with `gem signin` or manually set up your `~/.gem/credentials`.
|
11
11
|
|
12
12
|
Publish:
|
13
13
|
|
14
14
|
1. `git checkout master` and `git pull` (makes sure your `HEAD` is up-to-date).
|
15
|
-
2.
|
16
|
-
3.
|
17
|
-
4. `bundle exec rake
|
15
|
+
2. Run `make pull-openapi` and `make build-openapi`.
|
16
|
+
3. Check that tests are passing on latest `master` build and (optional) `docker build -t plaid-ruby . && docker run -e PLAID_RUBY_CLIENT_ID=$(CLIENT_ID) -e PLAID_RUBY_SECRET=$(SECRET) plaid-ruby)` run tests locally.
|
17
|
+
4. `bundle exec rake release` (builds the gem, creates a tag, pushes the gem to RubyGems and tag to GitHub). **NOTE:** if this step hangs indefinitely, you need to set your MFA settings to "UI Only" [here](https://rubygems.org/profile/edit).
|
18
18
|
|
19
19
|
[1]: https://rubygems.org/
|
20
20
|
[2]: https://rubygems.org/gems/plaid
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
$ gem install plaid
|
20
20
|
|
21
|
-
The gem supports Ruby 2.
|
21
|
+
The gem supports Ruby 2.7.1+ only.
|
22
22
|
|
23
23
|
### Versioning
|
24
24
|
|
@@ -26,7 +26,8 @@ Each major version of `plaid-ruby` targets a specific version of the Plaid API:
|
|
26
26
|
|
27
27
|
| API version | plaid-ruby release |
|
28
28
|
| ----------- | ------------------ |
|
29
|
-
| [`
|
29
|
+
| [`2020-09-14`][api-version-2020-09-14] (**latest**) | `12.x.x`, `13.x.x`, `14.x.x` |
|
30
|
+
| [`2019-05-29`][api-version-2019-05-29] | `11.x.x`, `10.x.x`, `9.x.x`, `8.x.x`, `7.x.x` |
|
30
31
|
| [`2018-05-22`][api-version-2018-05-22] | `6.x.x` |
|
31
32
|
| `2017-03-08` | `5.x.x` |
|
32
33
|
|
@@ -35,9 +36,7 @@ For information about what has changed between versions and how to update your i
|
|
35
36
|
|
36
37
|
## Usage
|
37
38
|
|
38
|
-
This gem wraps the Plaid API, which is fully described in the [documentation](https://plaid.com/docs/api).
|
39
|
-
|
40
|
-
The RubyDoc for the gem is available [here](http://plaid.github.io/plaid-ruby/).
|
39
|
+
This gem wraps the Plaid API, which is fully described in the [documentation](https://plaid.com/docs/api) and in the [plaid-openapi](https://github.com/plaid/plaid-openapi) spec.
|
41
40
|
|
42
41
|
### Creating a Plaid client
|
43
42
|
|
@@ -46,24 +45,32 @@ Create an instance of the client using the `client_id` and `secret` from your Pl
|
|
46
45
|
```ruby
|
47
46
|
require 'plaid'
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
configuration = Plaid::Configuration.new
|
49
|
+
configuration.server_index = Plaid::Configuration::Environment["sandbox"]
|
50
|
+
configuration.api_key["PLAID-CLIENT-ID"] = "***"
|
51
|
+
configuration.api_key["PLAID-SECRET"] = "***"
|
52
|
+
configuration.api_key["Plaid-Version"] = "2020-09-14"
|
53
|
+
|
54
|
+
api_client = Plaid::ApiClient.new(
|
55
|
+
configuration
|
56
|
+
)
|
57
|
+
|
58
|
+
client = Plaid::PlaidApi.new(api_client)
|
52
59
|
```
|
53
60
|
|
54
|
-
The `
|
61
|
+
The `server_index` field is the environment which the client will be running in. Your choices for the `server_index` field include:
|
55
62
|
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
63
|
+
- `Plaid::Configuration::Environment["sandbox"]` allows you to do your initial integrations tests against preloaded data without being billed or making expensive API calls. More information about using the API sandbox can be found on the [API Sandbox documentation](https://plaid.com/docs/api#sandbox).
|
64
|
+
- `Plaid::Configuration::Environment["development"]` allows you to test against both real and test accounts without being billed. More information about Plaid test accounts can be found in our [API documentation](https://plaid.com/docs/api/#sandbox).
|
65
|
+
- `Plaid::Configuration::Environment["production"]` is the production environment where you can launch your production ready application and be charged for your Plaid usage.
|
59
66
|
|
60
67
|
### Tuning Faraday
|
61
68
|
|
62
69
|
The gem uses Faraday to wrap HTTPS connections, which allows you to tune certain params:
|
63
70
|
|
64
71
|
```ruby
|
65
|
-
client = Plaid::
|
66
|
-
Plaid::
|
72
|
+
client = Plaid::Configuration.new do |builder|
|
73
|
+
Plaid::Configuration.default()
|
67
74
|
|
68
75
|
# Increase network timeout
|
69
76
|
builder.options[:timeout] = 60*20 # 20 minutes
|
@@ -72,54 +79,89 @@ end
|
|
72
79
|
|
73
80
|
## Examples
|
74
81
|
|
82
|
+
### Create a new link_token
|
83
|
+
|
84
|
+
```ruby
|
85
|
+
# Grab the client_user_id by searching for the current user in your database
|
86
|
+
user = User.find_by!(email: '***')
|
87
|
+
client_user_id = user.id
|
88
|
+
|
89
|
+
# Create the link_token with all of your configurations
|
90
|
+
link_token_create_request = Plaid::LinkTokenCreateRequest.new({
|
91
|
+
:user => { :client_user_id => client_user_id.to_s },
|
92
|
+
:client_name => 'My app',
|
93
|
+
:products => %w[auth transactions],
|
94
|
+
:country_codes => ['US'],
|
95
|
+
:language => 'en'
|
96
|
+
})
|
97
|
+
|
98
|
+
link_token_response = client.link_token_create(
|
99
|
+
link_token_create_request
|
100
|
+
)
|
101
|
+
|
102
|
+
# Pass the result to your client-side app to initialize Link
|
103
|
+
# and retrieve a public_token
|
104
|
+
link_token = link_token_response.link_token
|
105
|
+
```
|
106
|
+
|
75
107
|
### Exchanging a Link public_token for a Plaid access_token
|
76
108
|
|
77
|
-
If you have a [Link](https://github.com/plaid/link) `public token`, use this function to get an `access_token`: `client.
|
109
|
+
If you have a [Link](https://github.com/plaid/link) `public token`, use this function to get an `access_token`: `client.item_public_token_exchange(request)`
|
78
110
|
|
79
111
|
An example of the function's usage if you have a `public_token` in hand:
|
80
112
|
|
81
113
|
```ruby
|
82
|
-
|
114
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
115
|
+
request.public_token = public_token
|
116
|
+
|
117
|
+
response = client.item.public_token_exchange(request)
|
83
118
|
access_token = response.access_token
|
84
119
|
```
|
85
120
|
|
86
121
|
### Deleting an item
|
87
122
|
|
88
123
|
```ruby
|
89
|
-
|
90
|
-
|
91
|
-
client = Plaid::Client.new(env: :sandbox,
|
92
|
-
client_id: '***',
|
93
|
-
secret: '***')
|
124
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
125
|
+
request.public_token = public_token
|
94
126
|
|
95
|
-
|
96
|
-
access_token =
|
127
|
+
response = client.item.public_token_exchange(request)
|
128
|
+
access_token = response.access_token
|
97
129
|
|
98
130
|
# Provide the access_token for the Item you want to remove
|
99
|
-
|
131
|
+
item_remove_request = Plaid::ItemRemoveRequest.new
|
132
|
+
item_remove_request.access_token = access_token
|
133
|
+
|
134
|
+
client.item_remove(item_remove_request)
|
100
135
|
```
|
101
136
|
|
102
137
|
### Get paginated transactions
|
103
138
|
```ruby
|
104
|
-
|
139
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
140
|
+
request.public_token = public_token
|
105
141
|
|
106
|
-
|
107
|
-
|
108
|
-
secret: '***')
|
142
|
+
response = client.item.public_token_exchange(request)
|
143
|
+
access_token = response.access_token
|
109
144
|
|
110
|
-
|
111
|
-
access_token =
|
145
|
+
transactions_get_request = Plaid::TransactionsGetRequest.new
|
146
|
+
transactions_get_request.access_token = access_token
|
147
|
+
transactions_get_request.start_date = "2020-01-01"
|
148
|
+
transactions_get_request.end_date = "2021-01-01"
|
112
149
|
|
113
|
-
transaction_response = client.
|
150
|
+
transaction_response = client.transactions_get(transactions_get_request)
|
114
151
|
transactions = transaction_response.transactions
|
115
152
|
|
116
153
|
# the transactions in the response are paginated, so make multiple calls while
|
117
154
|
# increasing the offset to retrieve all transactions
|
118
155
|
while transactions.length < transaction_response['total_transactions']
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
156
|
+
options_payload = {}
|
157
|
+
options_payload[:offset] = transactions.length
|
158
|
+
|
159
|
+
transactions_get_request = Plaid::TransactionsGetRequest.new
|
160
|
+
transactions_get_request.access_token = access_token
|
161
|
+
transactions_get_request.start_date = "2020-01-01"
|
162
|
+
transactions_get_request.end_date = "2021-01-01"
|
163
|
+
|
164
|
+
transaction_response = client.transactions_get(transactions_get_request)
|
123
165
|
transactions += transaction_response.transactions
|
124
166
|
end
|
125
167
|
|
@@ -129,55 +171,55 @@ end
|
|
129
171
|
|
130
172
|
If you have an `access_token`, you can use following code to retreive data:
|
131
173
|
```ruby
|
132
|
-
|
174
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
175
|
+
request.public_token = public_token
|
133
176
|
|
134
|
-
|
135
|
-
|
136
|
-
secret: '***')
|
177
|
+
response = client.item.public_token_exchange(request)
|
178
|
+
access_token = response.access_token
|
137
179
|
|
138
|
-
|
139
|
-
access_token =
|
180
|
+
auth_get_request = Plaid::AuthGetRequest.new
|
181
|
+
auth_get_request.access_token = access_token
|
140
182
|
|
141
|
-
auth_response = client.
|
183
|
+
auth_response = client.auth_get(access_token)
|
142
184
|
auth = auth_response.auth
|
143
185
|
```
|
144
186
|
|
187
|
+
There are also a number of other methods you can use to retrieve data:
|
188
|
+
|
189
|
+
* `client.accounts_get(Plaid::AccountsGetRequest({:access_token => access_token, ...}))`: accounts
|
190
|
+
* `client.accounts_balance_get(Plaid::AccountsBalanceGetRequest({:access_token => access_token, ...}))`: real-time balances
|
191
|
+
* `client.auth_get(Plaid::AuthGetRequest({:access_token => access_token, ...}))`: auth
|
192
|
+
* `client.identity_get(Plaid::IdentityGetRequest({:access_token => access_token, ...}))`: identity
|
193
|
+
* `client.transactions_get(Plaid::TransactionsGetRequest({:access_token => access_token, ...}))`: transactions
|
194
|
+
* `client.investments_transactions_get(Plaid::InvestmentsTransactionsGetRequest({:access_token => access_token, ...}))`: investment-account transactions
|
195
|
+
* `client.investments_holdings_get(Plaid::InvestmentsHoldingsGetRequest({:access_token => access_token, ...}))`: investment-account holdings
|
196
|
+
|
197
|
+
All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
|
198
|
+
|
145
199
|
### Create a Stripe bank_account_token
|
146
200
|
|
147
201
|
Exchange a Plaid Link `public_token` for an API `access_token` and a Stripe `bank_account_token`:
|
148
202
|
```ruby
|
149
|
-
|
203
|
+
request = Plaid::ItemPublicTokenExchangeRequest.new
|
204
|
+
request.public_token = public_token
|
150
205
|
|
151
|
-
|
152
|
-
|
153
|
-
secret: '***')
|
206
|
+
response = client.item.public_token.exchange(request)
|
207
|
+
access_token = response.access_token
|
154
208
|
|
155
|
-
|
156
|
-
access_token =
|
209
|
+
processor_token_create_request = Plaid::ProcessorStripeBankAccountTokenCreateRequest.new
|
210
|
+
processor_token_create_request.access_token = access_token
|
211
|
+
processor_token_create_request.account_id = '[Account ID]'
|
157
212
|
|
158
|
-
stripe_response = client.
|
213
|
+
stripe_response = client.processor_stripe_bank_account_token_create(processor_token_create_request)
|
159
214
|
bank_account_token = stripe_response.stripe_bank_account_token
|
160
215
|
```
|
161
216
|
|
162
|
-
There are also a number of other methods you can use to retrieve data:
|
163
|
-
|
164
|
-
* `client.accounts.get(access_token, ...)`: accounts
|
165
|
-
* `client.accounts.balance.get(access_token, ...)`: real-time balances
|
166
|
-
* `client.auth.get(access_token, ...)`: auth
|
167
|
-
* `client.identity.get(access_token, ...)`: identity
|
168
|
-
* `client.transactions.get(access_token, ...)`: transactions
|
169
|
-
* `client.credit_details.get(access_token, ...)`: credit details
|
170
|
-
* `client.investments.transactions.get(access_token, ...)`: investment-account transactions
|
171
|
-
* `client.investments.holdings.get(access_token, ...)`: investment-account holdings
|
172
|
-
|
173
|
-
All of these methods return appropriate data. More information can be found on the [API documentation](https://plaid.com/docs/api).
|
174
|
-
|
175
217
|
### Categories
|
176
218
|
|
177
219
|
You can request category information:
|
178
220
|
|
179
221
|
```ruby
|
180
|
-
categories = client.
|
222
|
+
categories = client.categories_get # Array of all known categories
|
181
223
|
```
|
182
224
|
|
183
225
|
### Institutions
|
@@ -185,7 +227,13 @@ categories = client.categories.get # Array of all known categories
|
|
185
227
|
Financial institution information is available as shown below where the function arguments represent count and offset:
|
186
228
|
|
187
229
|
```ruby
|
188
|
-
|
230
|
+
institutions_get_request = Plaid::InstitutionsGetRequest.new({
|
231
|
+
:count => 3,
|
232
|
+
:offset => 1,
|
233
|
+
:country_codes => ["US"],
|
234
|
+
})
|
235
|
+
|
236
|
+
response = client.institutions_get(institutions_get_request)
|
189
237
|
```
|
190
238
|
|
191
239
|
## Errors
|
@@ -193,17 +241,7 @@ institutions = client.institutions.get(count: 3, offset: 1)
|
|
193
241
|
Any methods making API calls will result in an exception raised unless the response code is "200: Success" or
|
194
242
|
"210: MFA Required".
|
195
243
|
|
196
|
-
`Plaid::
|
197
|
-
|
198
|
-
`Plaid::InvalidInputError` is returned when all fields are provided and are in the correct format, but the values provided are incorrect in some way.
|
199
|
-
|
200
|
-
`Plaid::RateLimitExceededError` returned when the request is valid but has exceeded established rate limits.
|
201
|
-
|
202
|
-
`Plaid::APIError` is returned during planned maintenance windows and in response to API internal server errors.
|
203
|
-
|
204
|
-
`Plaid::ItemError` indicates that information provided for the Item (such as credentials or MFA) may be invalid or that the Item is not supported on Plaid's platform.
|
205
|
-
|
206
|
-
`Plaid::InstitutionError` is returned when there are errors for the requested financial institution.
|
244
|
+
`Plaid::Error` is returned in response to API internal server errors.
|
207
245
|
|
208
246
|
Read more about response codes and their meaning in the
|
209
247
|
[Plaid documentation](https://plaid.com/docs/api).
|
@@ -215,13 +253,6 @@ Any API call returns a response object which is accessible by dot notation
|
|
215
253
|
and `response['foo']['bar']`. Expected keys for all types of responses are defined,
|
216
254
|
and any attempt to access an unknown key will cause `NoMethodError` exception.
|
217
255
|
|
218
|
-
## Network Timeout
|
219
|
-
|
220
|
-
A network timeout value is currently defaulted at 600 seconds = 10 minutes.
|
221
|
-
Some requests from the Plaid API may take longer than others and we want to
|
222
|
-
make sure that all valid requests have a chance to complete. Adjust this value
|
223
|
-
if necessary (see "Tuning Faraday").
|
224
|
-
|
225
256
|
## Contributing
|
226
257
|
|
227
258
|
Bug reports and pull requests are welcome on GitHub at https://github.com/plaid/plaid-ruby. See also [contributing guidelines](CONTRIBUTING.md).
|
@@ -235,6 +266,7 @@ The gem is available as open source under the terms of the [MIT License](http://
|
|
235
266
|
If you're looking for a Ruby client that works with the legacy Plaid API, use the [`plaid-legacy` gem][2].
|
236
267
|
|
237
268
|
[2]: https://github.com/plaid/plaid-ruby-legacy
|
238
|
-
[version-changelog]: https://plaid.com/docs/api
|
239
|
-
[api-version-2018-05-22]: https://plaid.com/docs/api
|
240
|
-
[api-version-2019-05-29]: https://plaid.com/docs/api
|
269
|
+
[version-changelog]: https://plaid.com/docs/api/versioning/
|
270
|
+
[api-version-2018-05-22]: https://plaid.com/docs/api/versioning/#2018-05-22
|
271
|
+
[api-version-2019-05-29]: https://plaid.com/docs/api/versioning/#2019-05-29
|
272
|
+
[api-version-2020-09-14]: https://plaid.com/docs/api/versioning/#2020-09-14
|