1. Antaca SDK Overview

1.1. What is Antaca SDK?

The Antaca SDK is a closed framework dedicated to management of virtual payment cards, their limits and budgets in the Verestro system.

1.2. How Antaca SDK works?

Antaca SDK is a closed framework providing services for virtual card management. After providing a valid configuration and successfully completing the registration process, you can create virtual cards, manage their limits and check their available budget.

Services provide methods to:

  • register in Verestro’s KYC,

  • check the card’s budget,

  • add, modify and delete limits,

  • manage virtual cards: get list of cards, add a new card or lock existing ones,

  • get details of a virtual payment card such as PAN, CVC/CVV2, expiration date.

Antaca SDK requires Mobile DC SDK as a dependency. It’s required for the Antaca SDK to work correctly and handles user’s session and data (e.g. cards).

Please read the Mobile DC SDK’s documentation to see more details about the installation and integration process.

In order to incorporate this SDK into your app, see Basic configuration

1.3. Versioning and backward compatibility

SDK is based on semantic versioning. For example: 1.0.0 ( MAJOR.MINOR.PATCH )

  • Major version compatibility-breaking changes in SDK public APIs. It is mandatory to update application code, to use SDK, when this is incremented.

  • Minor version tracks new, not compatibility-breaking changes in public API of SDK. It is optional to update application code, when this digit is incremented.

  • Patch version tracks internal changes in SDK. No updates in application code are necessary to update to version, which has this number incremented.

Changes not breaking compatibility:

  • Adding new optional interface to SDK setup

  • Adding new method to any domain

  • Adding new enum value to input or output

  • Adding new field in input or output model

2. Technical overview

This section describes basic information about Mobile DC SDK, Antaca SDK setup and available methods.

2.1. Basic information

2.1.1. Facade

Facade is entry point to communication with Antaca SDK.

2.1.2. Multiple facade types

Antaca SDK provides two types of public APIs with same functionalities, the APIs are:

CoroutineServices for projects which uses Kotlin programming language and Coroutines.
StdServices For projects which uses Kotlin or Java programming language and standard Callback.

The difference between the API’s is a way of providing data to SDK methods and getting the results from them. Input and output data models are the same.
This documentation presents I/O types in a Kotlin way as it’s easier to mark nullable fields (as question mark).

  • AntacaCoroutineService (deprecated) This is an aggregating class that integrates methods from other services.

  • AntacaAccountCoroutineService for balance management.

  • AntacaCardCoroutineService for card retrieval and management.

  • AntacaCustomerCoroutineService for customer information.

  • AntacaLimitCoroutineService for limit management.

  • AntacaStdService (deprecated) This is an aggregating class that integrates methods from other services.

  • AntacaAccountStdService for balance management.

  • AntacaCardStdService for card retrieval and management.

  • AntacaCustomerStdService for customer information.

  • AntacaLimitStdService for limit management.

2.1.3. Method structure

Every method description has same structure.

Execution type:
* Asynchronous - Operation could take more time and method is called on thread different than main. The result of execution is provided in callback (described below).
* Synchronous - Result of operation is provided as method return type.

Method type:
* Online - Operation requires Internet connection.
* Offline - Operation can be called without Internet connection.

Input
Input parameters with name, type and description.

Output
Result delivered by standard Callback with data or result is suspended until the Coroutine completes Multiple facade types.

2.2. Basic configuration

2.2.1. Min SDK Version

The minSdkVersion must be at least 23 (Android 6.0).

2.2.2. Artifactory

SDK is available on Verestro maven repository and can be configured in project using Gradle build system.

Username and password is provided by Verestro.

repositories{
        maven {
        credentials {
            username "<enter_username_here>"
            password "<enter_password_here>"
        }
        url "https://artifactory.upaid.pl/artifactory/libs-release-local/"
    }
}

2.2.3. SDKs version

Antaca SDK is available in two versions: debug and release.
The difference between version is debug allows to use application with debugger connected.
Debug version is ended with appendix "-debug" in version name. Samples below:

For release version, used on production environment in application uploaded to Google Play:

dependencies{
    implementation "pl.upaid.module:mobiledc:{version}"
    implementation 'com.verestro.sdk:antaca:{version}'
}

For debugging purposes:

dependencies{
    implementation "pl.upaid.module:mobiledc:{version}-debug"
    implementation 'com.verestro.sdk:antaca:{version}-debug'
}

2.2.4. Source code obfuscation and optimization

As SDK is written in Kotlin language we recommend to add following code to gradle configuration:

android {
    ...
    kotlinOptions {
        freeCompilerArgs = [
                '-Xno-param-assertions',
                '-Xno-call-assertions',
                '-Xno-receiver-assertions'
        ]
    }

    packagingOptions {
        exclude '/kotlin_metadata/**'
    }
    ...
}

And use newest tools for code shrinking, optimization and obfuscation from Google by enabling R8 instead Proguard in gradle.properties file:

android.enableR8=true

2.3. Antaca SDK Setup

Available configuration methods:

  • AntacaCoroutineApi.init(configuration: Configuration)

  • AntacaStdApi.init(configuration: Configuration)

2.3.1. Input

Configuration

Parameter Type Description

productName

String

Product name

url

String

API hostname URL (e.g. https://iban-management.upaidtest.pl)

2.3.2. Sample

AntacaStdApi
fun init(configuration: Configuration) {
    AntacaStdApi.init(configuration)
}
AntacaCoroutineApi
fun init(configuration: Configuration) {
    AntacaCoroutineApi.init(configuration)
}

2.4. Delivery Setup

Antaca SDK uses push notifications for asynchronous communication. On the application side you need to register the FCM service, and then pass the message to the MDC SDK through the process method in the onMessageReceive method (after verifying the message source - sender id). See the Technical documentation MDC SDK for more details. After initial setup register the appropriate event listener using the corresponding method on the facade.

2.5. Error handling

SDK returns errors by AntacaSdkException, which could be caught by application and shown on UI with detailed message. Table below describes general exception types.

AntacaSdkException

Exception Parameters Description

NoSessionException

Session expired

RequestCancelled

Request cancelled

TechnicalException

message:String?

Technical exception

HttpApiException

code:Int, message:String?

HTTP API exception

Specific types of exceptions are described for each method.

3. Antaca service

3.1. getAccountStatus

Asynchronous. Online.
This method is deprecated. Please use `getRegistrationStatus` from `AntacaCustomerService`
This method is used to get account status.

3.1.1. Input

No input parameters.

3.1.2. Output

Success

Success callback with GetAccountStatusResult model.

GetAccountStatusResult

Parameter Type Description

accountStatus

AccountStatus

Account status

reasons

List<AccountRejectReason>

List of AccountRejectReason

AccountStatus

Reason Description

IN_PROGRESS

Status in progress

ACCEPTED

Status accepted

UNKNOWN

Unknown status

AccountRejectReason

Reason Description

INVALID_CUSTOMER_DATA

Customer data invalid

BLURRED_DOCUMENT_PHOTO

Blurred document photo

INVALID_DOCUMENT_PHOTO

Invalid document photo

BLURRED_SELFIE

Blurred selfie

INVALID_SELFIE

Invalid selfie

UNKNOWN

Unknown reason

Failure

Failure callback with throwable.

3.2. register

Asynchronous. Online.
This method is deprecated. Please use `register` from `AntacaCustomerService`
This method is used to register a user in KYC verification process.

3.2.1. Input

RegisterData

Parameter Type Description

firstName

String

First name

lastName

String

Last name

birthDate

String

Birth date - in yyyy-mm-dd format

city

String

Billing address city

street

String

Billing address street

number

String?

Optional. Billing address street number

apartment

String?

Optional. Billing address apartment number

postCode

String

Billing address post code

country

String

Billing address country

identityCardNo

String?

Optional. Identity card number

personalId

Long?

Optional. Pesel number

imageFace

File?

Optional. Customer face photo

imageFront

File?

Optional. Front photo of document passed in request

documentType

RegisterDocumentType

Type of document passed in request

imageBack

File?

Optional. Back photo of document passed in request

nationality

String?

Optional. Nationality

isUsaResident

Boolean?

Optional. Customer is tax resident in USA

taxResidencies

List<String>?

Optional. List of customer’s tax residencies

sourcesOfFunds

List<SourceOfFundModel>?

Optional. List of customer’s sources of funds

RegisterDocumentType

Type Description

PERSONAL_ID

Id Card

PASSPORT

Passport

UNKNOWN

Unknown

SourceOfFundsModel

Type Parameters Description

BusinessActivity

tin: String?, regon: String?

Business activity

Salary

profession: String

Salary

Other

usersMessage: String

Other

DependentOnFamily

Dependent On Family

Investments

Investments

Rental

Rental

SocialBenefits

Social benefits

3.2.2. Output

Success

Success callback with RegisterResult model.

RegisterResult

Parameter Type Description

id

String

Registration identifier

Failure

Failure callback with throwable.Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CustomerVerificationInProgress

Verification status in progress

CustomerAlreadyRegistered

User already registered

VerificationNotFound

Verification status not found

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidReason

Invalid reason

InvalidNote

Invalid note

FieldIsRequired

Missing required field

FieldConditionallyRequired

Missing required conditionally field

DateIsInvalid

Invalid date

DateFormatIsInvalid

Invalid format date

UnknownValidationErrorStatus

Unknown error status

3.2.3. Sample

Standard Callback
fun register(registerData: RegisterData) {
    AntacaStdApi
        .antacaStdService
        .register(registerData, object: ApiCallback<RegisterResult> {
            override fun onSuccess(result: RegisterResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun register(registerData: RegisterData): RegisterResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .register(registerData)

3.3. getBalances

Asynchronous. Online.
This method is deprecated. Please use `getBalances` from `AntacaAccountService`
This method is used to getting all balances.

3.3.1. Input

No input parameters.

3.3.2. Output

Success

Success callback with GetBalancesResult model.

GetBalancesResult

Parameter Type Description

balances

Set<BalanceModel>

Set of balances

BalanceModel

Parameter Type Description

id

String

Balance identifier

cards

Set<CardModel>

Cards connected to the balance

balance

Long

Current balance. Minor currency unit.

currency

String

Currency associated with the card in ISO 4217 standard

description

String?

Optional balance description

CardModel

Parameter Type Description

id

Long

Card identifier

cardType

CardType

Card type

expiryDate

String

Expiration date. Format: yyyy-MM-dd

activationDate

String?

Card activation date. Format: yyyy-MM-dd

configId

String

Card configuration identifier

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CannotFindCustomer

Can’t find customer

3.3.3. Sample

Standard Callback
fun getBalances() {
    AntacaStdApi
        .antacaStdService
        .getBalances( object: ApiCallback<GetBalancesResult> {
            override fun onSuccess(result: GetBalancesResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getBalances(): GetBalancesResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getBalances()

3.4. getBalance

Asynchronous. Online.
This method is deprecated. Please use `getBalance` from `AntacaAccountService`
This method is used to get card’s balance.

3.4.1. Input

GetBalanceData

Parameter Type Description

balanceId

String

Balance identifier

3.4.2. Output

Success

Success callback with GetBalanceResult model.

GetBalanceResult

Parameter Type Description

balance

BalanceModel

BalanceModel

Parameter Type Description

id

String

Balance identifier

cards

Set<CardModel>

Cards connected to the balance

balance

Long

Current balance. Minor currency unit.

currency

String

Currency associated with the card in ISO 4217 standard

description

String?

Optional balance description

CardModel

Parameter Type Description

id

Long

Card identifier

cardType

CardType

Card type

expiryDate

String

Expiration date. Format: yyyy-MM-dd

activationDate

String?

Card activation date. Format: yyyy-MM-dd

configId

String

Card configuration identifier

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable.

3.4.3. Sample

Standard Callback
fun getBalance(getBalanceData: GetBalanceData) {
    AntacaStdApi
        .antacaStdService
        .getBalance(getBalanceData, object: ApiCallback<GetBalanceResult> {
            override fun onSuccess(result: GetBalanceResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getBalance(getBalanceData: GetBalanceData): GetBalanceResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getBalance(getBalanceData)

3.5. createVirtualCard

Asynchronous. Online.
This method is deprecated. Please use `createVirtualCard` from `AntacaCardService`
This method is used to create a virtual card.

3.5.1. Input

CreateVirtualCardData

Parameter Type Description

balanceId

String

Balance identifier

configId

String

Config identifier

3.5.2. Output

Success

Success callback with GetBalanceResult model.

CreateVirtualCardResult

Parameter Type Description

cardDetails

CardDetailsModel

Card details

CardDetailsModel

Parameter Type Description

id

Long

Virtual card identifier

type

CardType

Card type

cvv

Long

Virtual card CVC/CVV2 code

cardNumber

Long

Virtual card full number

expirationDate

Long

Virtual card expiration date. Format: yy/MM

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CustomerBalanceNotFound

Can’t find customer balance

CannotCreateLinkedCard

Can’t create linked card

CannotDecryptPayload

LocalPublicKeyUnavailable

LocalPrivateKeyUnavailable

InvalidPublicKey

Invalid public key

3.5.3. Sample

Standard Callback
fun createVirtualCard(createVirtualCardData: CreateVirtualCardData) {
    AntacaStdApi
        .antacaStdService
        .createVirtualCard(createVirtualCardData, object: ApiCallback<CreateVirtualCardResult> {
            override fun onSuccess(result: CreateVirtualCardResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun createVirtualCard(createVirtualCardData: CreateVirtualCardData): CreateVirtualCardResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .createVirtualCard(createVirtualCardData)

3.6. getCardDetails

Asynchronous. Online.
This method is deprecated. Please use `getCardDetails` from `AntacaCardService`
This method is used to getting card details.

3.6.1. Input

GetCardDetailsData

Parameter Type Description

cardId

Long

Card identifier

3.6.2. Output

Success

Success callback with GetBalanceResult model.

GetCardDetailsResult

Parameter Type Description

cardDetails

CardDetailsModel

Card details

CardDetailsModel

Parameter Type Description

id

Long

Virtual card identifier

type

CardType

Card type

cvv

Long

Virtual card CVC/CVV2 code

cardNumber

Long

Virtual card full number

expirationDate

Long

Virtual card expiration date. Format: yy/MM

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

InvalidPublicKey

Invalid public key

EncryptionRequired

LocalPublicKeyUnavailable

LocalPrivateKeyUnavailable

CannotDecryptPayload

3.6.3. Sample

Standard Callback
fun getCardDetails(getCardDetailsData: GetCardDetailsData) {
    AntacaStdApi
        .antacaStdService
        .getCardDetails(getCardDetailsData, object: ApiCallback<GetCardDetailsResult> {
            override fun onSuccess(result: GetCardDetailsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getCardDetails(getCardDetailsData: GetCardDetailsData): GetCardDetailsResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getCardDetails(getCardDetailsData)

3.7. lockCard

Asynchronous. Online.
This method is deprecated. Please use `lockCard` from `AntacaCardService`
This method is used to lock a card.

3.7.1. Input

LockCardData

Parameter Type Description

cardId

Long

Virtual card identifier

note

String

Virtual card lock reason description. Optional (can be empty string)

reason

LockCardReason

Reason for locking the card

LockCardReason

Reason Description

CARD_LOST

Card lost

CARD_STOLEN

Card stolen

PENDING_QUERY

Temporary card lock

CARD_CONSOLIDATION

Card consolidation

CARD_INACTIVE

Card inactive

PIN_TRIES_EXCEEDED

PIN tries exceeded

SUSPECTED_FRAUD

Suspected fraud

CARD_REPLACED

Card replaced

UNKNOWN

Unknown card reason

3.7.2. Output

Success

Success callback with LockCardResult model. LockCardResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CannotLockCard

Can’t lock card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidReason

Invalid reason

InvalidNote

Invalid note

FieldIsRequired

Missing required field

FieldConditionallyRequired

Missing required conditionally field

DateIsInvalid

Invalid date

DateFormatIsInvalid

Invalid format date

UnknownValidationErrorStatus

Unknown error status

3.7.3. Sample

Standard Callback
fun lockCard(lockCardData: LockCardData) {
    AntacaStdApi
        .antacaStdService
        .lockCard(lockCardData, object: ApiCallback<LockCardResult> {
            override fun onSuccess(result: LockCardResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun lockCard(lockCardData: LockCardData): LockCardResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .lockCard(lockCardData)

3.8. unlockCard

Asynchronous. Online.
This method is deprecated. Please use `unlockCard` from `AntacaCardService`
This method is used to unlock a card.

3.8.1. Input

UnlockCardData

Parameter Type Description

cardId

Long

Virtual card identifier

note

String

Virtual card’s unlock reason description. Optional (can be empty string)

3.8.2. Output

Success

Success callback with UnlockCardResult model. UnlockCardResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CannotUnlockCard

Can’t unlock card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidReason

Invalid reason

InvalidNote

Invalid note

FieldIsRequired

Missing required field

FieldConditionallyRequired

Missing required conditionally field

DateIsInvalid

Invalid date

DateFormatIsInvalid

Invalid format date

UnknownValidationErrorStatus

Unknown error status

3.8.3. Sample

Standard Callback
fun unlockCard(unlockCardData: UnlockCardData) {
    AntacaStdApi
        .antacaStdService
        .unlockCard(unlockCardData, object: ApiCallback<UnlockCardResult> {
            override fun onSuccess(result: UnlockCardResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun unlockCard(unlockCardData: UnlockCardData): UnlockCardResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .unlockCard(unlockCardData)

3.9. getLimits

Asynchronous. Online.
This method is deprecated. Please use `getLimits` from `AntacaLimitService`
This method is used to get card limits.

3.9.1. Input

GetLimitsData

Parameter Type Description

cardId

Long

Card identifier

wipe

Boolean

Any limit whose type occurs more than once will be deleted. Only the first limit of a given type will remain.

3.9.2. Output

Success

Success callback with GetLimitsResult model.

GetLimitsResult

Parameter Type Description

limits

List<LimitModel>

List of card limits

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

3.9.3. Sample

Standard Callback
fun getLimits(getLimitsData: GetLimitsData) {
    AntacaStdApi
        .antacaStdService
        .getLimits(getLimitsData, object: ApiCallback<GetLimitsResult> {
            override fun onSuccess(result: GetLimitsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getLimits(getLimitsData: GetLimitsData): GetLimitsResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getLimits(getLimitsData)

3.10. getLimit

Asynchronous. Online.
This method is deprecated. Please use `getLimit` from `AntacaLimitService`
This method is used to get card limit.

3.10.1. Input

GetLimitData

Parameter Type Description

cardId

Long

Card identifier

limitId

String

Limit identifier

3.10.2. Output

Success

Success callback with GetLimitResult model.

GetLimitResult

Parameter Type Description

limit

LimitModel

Card limit

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CardLimitNotFound

Can’t find limit by given limit ID

3.10.3. Sample

Standard Callback
fun getLimit(getLimitData: GetLimitData) {
    AntacaStdApi
        .antacaStdService
        .getLimit(getLimitsData, object: ApiCallback<GetLimitResult> {
            override fun onSuccess(result: GetLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getLimit(getLimitData: GetLimitData): GetLimitResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getLimit(getLimitData)

3.11. addLimit

Asynchronous. Online.
This method is deprecated. Please use `addLimit` from `AntacaLimitService`
This method is used to add card limit.

3.11.1. Input

AddLimitData

Parameter Type Description

cardId

Long

Card identifier

type

LimitType

Limit type

maxAmount

Long

Amount in minor currency units

period

LimitPeriod

Limit period

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

3.11.2. Output

Success

Success callback with AddLimitResult model. AddLimitResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidLimitParameters

Invalid limit parameters

InvalidMaxAmount

Invalid max amount

InvalidMaxAttempts

Invalid max attempts

CurrencyWithTypeMismatch

Currency isn’t available for given limit type

InvalidType

Invalid limit type

3.11.3. Sample

Standard Callback
fun addLimit(addLimitData: AddLimitData) {
    AntacaStdApi
        .antacaStdService
        .addLimit(addLimitData, object: ApiCallback<AddLimitResult> {
            override fun onSuccess(result: AddLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun addLimit(addLimitData: AddLimitData): AddLimitResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .addLimit(addLimitData)

3.12. updateLimit

Asynchronous. Online.
This method is deprecated. Please use `updateLimit` from `AntacaLimitService`
This method is used to update card limit.

3.12.1. Input

UpdateLimitData

Parameter Type Description

cardId

Long

Card identifier

limitId

String

Limit identifier

maxAmount

Long

Amount in minor currency units

period

LimitPeriod

Limit period

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

3.12.2. Output

Success

Success callback with UpdateLimitResult model. UpdateLimitResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CardLimitNotFound

Can’t find limit by given limit ID

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidLimitParameters

Invalid limit parameters

InvalidMaxAmount

Invalid max amount

InvalidMaxAttempts

Invalid max attempts

InvalidType

Invalid limit type

3.12.3. Sample

Standard Callback
fun updateLimit(updateLimitData: UpdateLimitData) {
    AntacaStdApi
        .antacaStdService
        .updateLimit(updateLimitData, object: ApiCallback<UpdateLimitResult> {
            override fun onSuccess(result: UpdateLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun updateLimit(updateLimitData: UpdateLimitData): UpdateLimitResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .updateLimit(updateLimitData)

3.13. deleteLimit

Asynchronous. Online.
This method is deprecated. Please use `deleteLimit` from `AntacaLimitService`
This method is used to delete card limit.

3.13.1. Input

DeleteLimitData

Parameter Type Description

cardId

Long

Card identifier

limitId

String

Limit identifier

3.13.2. Output

Success

Success callback with DeleteLimitResult model. DeleteLimitResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CardLimitNotFound

Can’t find limit by given limit ID

3.13.3. Sample

Standard Callback
fun deleteLimit(deleteLimitData: DeleteLimitData) {
    AntacaStdApi
        .antacaStdService
        .deleteLimit(deleteLimitData, object: ApiCallback<DeleteLimitResult> {
            override fun onSuccess(result: DeleteLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun deleteLimit(deleteLimitData: DeleteLimitData): DeleteLimitResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .deleteLimit(deleteLimitData)

3.14. changeLimits

Asynchronous. Online.
This method is deprecated. Please use `changeLimits` from `AntacaLimitService`
This method is used to change multiple limits at once.
Every limit with limit period set to NONE will be disabled, which means no limits will be applied for the limit type of the card.

3.14.1. Input

ChangeLimitsData

Parameter Type Description

cardId

Long

Card identifier

limits

List<LimitModel>

List of limit

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

3.14.2. Output

Success

Success callback with ChangeLimitsResult model. Returns list of all requested to change limits which can be:

  • successfully changed when throwable in ChangedLimitModel is null

  • failed when throwable in ChangedLimitModel is one of errors described below. Not changed limit model will be returned

ChangeLimitsResult

Parameter Type Description

changedLimits

List<ChangedLimitModel>

List of changed limits

ChangedLimitModel

Parameter Type Description

limitModel

LimitModel

Limit model depends on throwable. When it is null it means that limit is successfully changed otherwise not changed limit is returned

throwable

Throwable?

Error can be one of errors described below

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidLimitParameters

Invalid limit parameters

InvalidMaxAmount

Invalid max amount

InvalidMaxAttempts

Invalid max attempts

CurrencyWithTypeMismatch

Currency isn’t available for given limit type

InvalidType

Invalid limit type

3.14.3. Sample

Standard Callback
fun changeLimits(changeLimitsData: ChangeLimitsData) {
    AntacaStdApi
        .antacaStdService
        .changeLimits(changeLimitsData, object: ApiCallback<ChangeLimitsResult> {
            override fun onSuccess(result: ChangeLimitsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun changeLimits(changeLimitsData: ChangeLimitsData): ChangeLimitsResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .changeLimits(changeLimitsData)

3.15. addBalance

Asynchronous. Online.
This method is deprecated. Please use `addBalance` from `AntacaAccountService`
This method is used to add balance.

3.15.1. Input

AddBalanceData

Parameter Type Description

currency

String

Currency associated with the card in ISO 4217 standard

description

String?

Optional balance description

3.15.2. Output

Success

Success callback with AddBalanceResult model.

AddBalanceResult

Parameter Type Description

id

String

Identifier

balance

Long

Balance

currency

String

Currency associated with the card in ISO 4217 standard

description

String

Balance description

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

InvalidCurrencyException

status: String

Invalid currency

3.15.3. Sample

Standard Callback
fun addBalance(addBalanceData: AddBalanceData) {
    AntacaStdApi
        .antacaStdService
        .addBalance(addBalanceData, object: ApiCallback<AddBalanceResult> {
            override fun onSuccess(result: AddBalanceResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun addBalance(addBalanceData: AddBalanceData): AddBalanceResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .addBalance(addBalanceData)

3.16. getCardsConfig

Asynchronous. Online.
This method is deprecated. Please use `getCardsConfig` from `AntacaCardService`
This method is used to get cards configuration.

3.16.1. Input

No input parameters.

3.16.2. Output

Success

Success callback with GetCardsConfigResult model.

GetCardsConfigResult

Parameter Type Description

cardConfigs

List<CardConfigModel>

List of CardConfigModel

CardConfigModel

Parameter Type Description

id

String

Card identifier

name

String

Card name

currency

List<String>

List of currencies

bin

String

Bin

type

CardType

Card type

visualId

String

Id of card visual

CardType

Type Description

VIRTUAL

Virtual card

REAL

Real card

UNKNOWN

Unknown card

Failure

Failure callback with throwable.

3.16.3. Sample

Standard Callback
fun getCardsConfig() {
    AntacaStdApi
        .antacaStdService
        .getCardsConfig(object: ApiCallback<GetCardsConfigResult> {
            override fun onSuccess(result: GetCardsConfigResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getCardsConfig(): GetCardsConfigResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getCardsConfig()

3.17. getCustomerDetails

Asynchronous. Online.
This method is deprecated. Please use `getCustomerDetails` from `AntacaCustomerService`
This method retrieves customer details.

3.17.1. Input

No input parameters.

3.17.2. Output

Success

Success callback with GetCustomerDetailsResult model.

GetCustomerDetailsResult

Parameter Type Description

customerDetails

CustomerDetailsModel

Customer details and address

CustomerDetailsModel

Parameter Type Description

id

String

Customer identifier

firstName

String

First name

lastName

String

Last name

birthDate

String

Birth date

address

CustomerAddressModel

Customer address

CustomerAddressModel

Parameter Type Description

city

String

City

street

String

Street

houseNumber

String

House number

apartment

String?

Optional. Apartment number

postCode

String

Post code

country

String

Country

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CustomerNotFound

status: String

Customer not found

3.17.3. Sample

Standard Callback
fun getCustomerDetails() {
    AntacaStdApi
        .antacaStdService
        .getCustomerDetails(object: ApiCallback<GetCustomerDetailsResult> {
            override fun onSuccess(result: GetCustomerDetailsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getCustomerDetails(): GetCustomerDetailsResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getCustomerDetails()

3.18. changePin

Asynchronous. Online.
This method is deprecated. Please use `changePin` from `AntacaCardService`
This method is used to change card pin.

3.18.1. Input

ChangePinData

Parameter Type Description

cardId

Long

Card identifier

pin

CharArray

Card pin

3.18.2. Output

Success

Success callback with ChangePinResult model. ChangePinResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

InvalidCard

Invalid card

CantChangePin

Can’t change card pin

3.18.3. Sample

Standard Callback
fun changePin(changePinData: ChangePinData) {
    AntacaStdApi
        .antacaStdService
        .changePin(changePinData, object: ApiCallback<ChangePinResult> {
            override fun onSuccess(result: ChangePinResult) {
                /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
}
Kotlin Coroutines
suspend fun changePin(changePinData: ChangePinData): ChangePinResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .changePin(changePinData)

4. Antaca account service

4.1. getBalances

Asynchronous. Online.
This method is used to getting all balances.

4.1.1. Input

No input parameters.

4.1.2. Output

Success

Success callback with GetBalancesResult model.

GetBalancesResult

Parameter Type Description

balances

Set<BalanceModel>

Set of balances

BalanceModel

Parameter Type Description

id

String

Balance identifier

cards

Set<CardModel>

Cards connected to the balance

balance

Long

Current balance. Minor currency unit.

currency

String

Currency associated with the card in ISO 4217 standard

description

String?

Optional balance description

CardModel

Parameter Type Description

id

Long

Card identifier

cardType

CardType

Card type

expiryDate

String

Expiration date. Format: yyyy-MM-dd

activationDate

String?

Card activation date. Format: yyyy-MM-dd

configId

String

Card configuration identifier

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CannotFindCustomer

Can’t find customer

4.1.3. Sample

Standard Callback
fun getBalances() {
    AntacaStdApi
        .antacaAccountStdService
        .getBalances( object: ApiCallback<GetBalancesResult> {
            override fun onSuccess(result: GetBalancesResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getBalances(): GetBalancesResult =
    AntacaCoroutineApi
        .antacaAccountCoroutineService
        .getBalances()

4.2. getBalance

Asynchronous. Online.
This method is used to get card’s balance.

4.2.1. Input

GetBalanceData

Parameter Type Description

balanceId

String

Balance identifier

4.2.2. Output

Success

Success callback with GetBalanceResult model.

GetBalanceResult

Parameter Type Description

balance

BalanceModel

BalanceModel

Parameter Type Description

id

String

Balance identifier

cards

Set<CardModel>

Cards connected to the balance

balance

Long

Current balance. Minor currency unit.

currency

String

Currency associated with the card in ISO 4217 standard

description

String?

Optional balance description

CardModel

Parameter Type Description

id

Long

Card identifier

cardType

CardType

Card type

expiryDate

String

Expiration date. Format: yyyy-MM-dd

activationDate

String?

Card activation date. Format: yyyy-MM-dd

configId

String

Card configuration identifier

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable.

4.2.3. Sample

Standard Callback
fun getBalance(getBalanceData: GetBalanceData) {
    AntacaStdApi
        .antacaAccountStdService
        .getBalance(getBalanceData, object: ApiCallback<GetBalanceResult> {
            override fun onSuccess(result: GetBalanceResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getBalance(getBalanceData: GetBalanceData): GetBalanceResult =
    AntacaCoroutineApi
        .antacaAccountCoroutineService
        .getBalance(getBalanceData)

4.3. addBalance

Asynchronous. Online.
This method is used to add balance.

4.3.1. Input

AddBalanceData

Parameter Type Description

currency

String

Currency associated with the card in ISO 4217 standard

description

String?

Optional balance description

4.3.2. Output

Success

Success callback with AddBalanceResult model.

AddBalanceResult

Parameter Type Description

id

String

Identifier

balance

Long

Balance

currency

String

Currency associated with the card in ISO 4217 standard

description

String

Balance description

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

InvalidCurrencyException

status: String

Invalid currency

4.3.3. Sample

Standard Callback
fun addBalance(addBalanceData: AddBalanceData) {
    AntacaStdApi
        .antacaAccountStdService
        .addBalance(addBalanceData, object: ApiCallback<AddBalanceResult> {
            override fun onSuccess(result: AddBalanceResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun addBalance(addBalanceData: AddBalanceData): AddBalanceResult =
    AntacaCoroutineApi
        .antacaAccountCoroutineService
        .addBalance(addBalanceData)

5. Antaca card service

5.1. createVirtualCard

Asynchronous. Online.
This method is used to create a virtual card.

5.1.1. Input

CreateVirtualCardData

Parameter Type Description

balanceId

String

Balance identifier

configId

String

Config identifier

5.1.2. Output

Success

Success callback with GetBalanceResult model.

CreateVirtualCardResult

Parameter Type Description

cardDetails

CardDetailsModel

Card details

CardDetailsModel

Parameter Type Description

id

Long

Virtual card identifier

type

CardType

Card type

cvv

Long

Virtual card CVC/CVV2 code

cardNumber

Long

Virtual card full number

expirationDate

Long

Virtual card expiration date. Format: yy/MM

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CustomerBalanceNotFound

Can’t find customer balance

CannotCreateLinkedCard

Can’t create linked card

CannotDecryptPayload

LocalPublicKeyUnavailable

LocalPrivateKeyUnavailable

InvalidPublicKey

Invalid public key

5.1.3. Sample

Standard Callback
fun createVirtualCard(createVirtualCardData: CreateVirtualCardData) {
    AntacaStdApi
        .antacaCardStdService
        .createVirtualCard(createVirtualCardData, object: ApiCallback<CreateVirtualCardResult> {
            override fun onSuccess(result: CreateVirtualCardResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun createVirtualCard(createVirtualCardData: CreateVirtualCardData): CreateVirtualCardResult =
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .createVirtualCard(createVirtualCardData)

5.2. getCardDetails

Asynchronous. Online.
This method is used to getting card details.

5.2.1. Input

GetCardDetailsData

Parameter Type Description

cardId

Long

Card identifier

5.2.2. Output

Success

Success callback with GetBalanceResult model.

GetCardDetailsResult

Parameter Type Description

cardDetails

CardDetailsModel

Card details

CardDetailsModel

Parameter Type Description

id

Long

Virtual card identifier

type

CardType

Card type

cvv

Long

Virtual card CVC/CVV2 code

cardNumber

Long

Virtual card full number

expirationDate

Long

Virtual card expiration date. Format: yy/MM

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

InvalidPublicKey

Invalid public key

EncryptionRequired

LocalPublicKeyUnavailable

LocalPrivateKeyUnavailable

CannotDecryptPayload

5.2.3. Sample

Standard Callback
fun getCardDetails(getCardDetailsData: GetCardDetailsData) {
    AntacaStdApi
        .antacaCardStdService
        .getCardDetails(getCardDetailsData, object: ApiCallback<GetCardDetailsResult> {
            override fun onSuccess(result: GetCardDetailsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getCardDetails(getCardDetailsData: GetCardDetailsData): GetCardDetailsResult =
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .getCardDetails(getCardDetailsData)

5.3. lockCard

Asynchronous. Online.
This method is used to lock a card.

5.3.1. Input

LockCardData

Parameter Type Description

cardId

Long

Virtual card identifier

note

String

Virtual card lock reason description. Optional (can be empty string)

reason

LockCardReason

Reason for locking the card

LockCardReason

Reason Description

CARD_LOST

Card lost

CARD_STOLEN

Card stolen

PENDING_QUERY

Temporary card lock

CARD_CONSOLIDATION

Card consolidation

CARD_INACTIVE

Card inactive

PIN_TRIES_EXCEEDED

PIN tries exceeded

SUSPECTED_FRAUD

Suspected fraud

CARD_REPLACED

Card replaced

UNKNOWN

Unknown card reason

5.3.2. Output

Success

Success callback with LockCardResult model. LockCardResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CannotLockCard

Can’t lock card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidReason

Invalid reason

InvalidNote

Invalid note

FieldIsRequired

Missing required field

FieldConditionallyRequired

Missing required conditionally field

DateIsInvalid

Invalid date

DateFormatIsInvalid

Invalid format date

UnknownValidationErrorStatus

Unknown error status

5.3.3. Sample

Standard Callback
fun lockCard(lockCardData: LockCardData) {
    AntacaStdApi
        .antacaCardStdService
        .lockCard(lockCardData, object: ApiCallback<LockCardResult> {
            override fun onSuccess(result: LockCardResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun lockCard(lockCardData: LockCardData): LockCardResult =
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .lockCard(lockCardData)

5.4. unlockCard

Asynchronous. Online.
This method is used to unlock a card.

5.4.1. Input

UnlockCardData

Parameter Type Description

cardId

Long

Virtual card identifier

note

String

Virtual card’s unlock reason description. Optional (can be empty string)

5.4.2. Output

Success

Success callback with UnlockCardResult model. UnlockCardResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CannotUnlockCard

Can’t unlock card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidReason

Invalid reason

InvalidNote

Invalid note

FieldIsRequired

Missing required field

FieldConditionallyRequired

Missing required conditionally field

DateIsInvalid

Invalid date

DateFormatIsInvalid

Invalid format date

UnknownValidationErrorStatus

Unknown error status

5.4.3. Sample

Standard Callback
fun unlockCard(unlockCardData: UnlockCardData) {
    AntacaStdApi
        .antacaCardStdService
        .unlockCard(unlockCardData, object: ApiCallback<UnlockCardResult> {
            override fun onSuccess(result: UnlockCardResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun unlockCard(unlockCardData: UnlockCardData): UnlockCardResult =
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .unlockCard(unlockCardData)

5.5. getCardsConfig

Asynchronous. Online.
This method is used to get cards configuration.

5.5.1. Input

No input parameters.

5.5.2. Output

Success

Success callback with GetCardsConfigResult model.

GetCardsConfigResult

Parameter Type Description

cardConfigs

List<CardConfigModel>

List of CardConfigModel

CardConfigModel

Parameter Type Description

id

String

Card identifier

name

String

Card name

currency

List<String>

List of currencies

bin

String

Bin

type

CardType

Card type

CardType

Type Description

VIRTUAL

Virtual card

PHYSICAL

Physical card

UNKNOWN

Unknown card

Failure

Failure callback with throwable.

5.5.3. Sample

Standard Callback
fun getCardsConfig() {
    AntacaStdApi
        .antacaCardStdService
        .getCardsConfig(object: ApiCallback<GetCardsConfigResult> {
            override fun onSuccess(result: GetCardsConfigResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getCardsConfig(): GetCardsConfigResult =
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .getCardsConfig()

5.6. changePin

Asynchronous. Online.
This method is used to change card pin.

5.6.1. Input

ChangePinData

Parameter Type Description

cardId

Long

Card identifier

pin

CharArray

Card pin

5.6.2. Output

Success

Success callback with ChangePinResult model. ChangePinResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

InvalidCard

Invalid card

CantChangePin

Can’t change card pin

5.6.3. Sample

Standard Callback
fun changePin(changePinData: ChangePinData) {
    AntacaStdApi
        .antacaCardStdService
        .changePin(changePinData, object: ApiCallback<ChangePinResult> {
            override fun onSuccess(result: ChangePinResult) {
                /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
}
Kotlin Coroutines
suspend fun changePin(changePinData: ChangePinData): ChangePinResult =
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .changePin(changePinData)

5.7. orderPhysicalCard

Asynchronous. Online.
This method is used to order new physical card.

5.7.1. Input

OrderPhysicalCardData

Parameter Type Description

name

String

Cardholder name

surname

String

Cardholder surname

city

String

Delivery address city

street

String

Delivery address street

streetNo

String

Delivery address street number

postCode

String

Delivery address post code

country

String

Delivery address country name

balanceId

String

Id of balance

configId

String

Id of card configuration

5.7.2. Output

Success

Success callback with OrderPhysicalCardResult model. OrderPhysicalCardResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

InvalidCardholderDataException

Invalid cardholder name or surname

InvalidAddressException

Invalid delivery address field

InvalidBalanceIdException

Invalid id of balance

CannotMatchConfigurationException

Cannot find configuration with given id

5.7.3. Sample

Standard Callback
fun orderPhysicalCard(orderPhysicalCardData: OrderPhysicalCardData) {
    AntacaStdApi
        .antacaStdService
        .orderPhysicalCard(orderPhysicalCardData, object: ApiCallback<OrderPhysicalCardResult> {
            override fun onSuccess(result: OrderPhysicalCardResult) {
                /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
}
Kotlin Coroutines
suspend fun orderPhysicalCard(orderPhysicalCardData: OrderPhysicalCardData): OrderPhysicalCardResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .orderPhysicalCard(orderPhysicalCardData)

5.8. activateCard

Asynchronous. Online.
This method is used to activate previously ordered card.

5.8.1. Input

ActivateCardData

Parameter Type Description

cardId

Long

Card identifier

5.8.2. Output

Success

Success callback with ActivateCardResult model. ActivateCardResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

5.8.3. Sample

Standard Callback
fun activateCard(activateCardData: ActivateCardData) {
    AntacaStdApi
        .antacaStdService
        .activateCard(activateCardData, object: ApiCallback<ActivateCardResult> {
            override fun onSuccess(result: ActivateCardResult) {
                /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
}
Kotlin Coroutines
suspend fun activateCard(activateCardData: ActivateCardData): ActivateCardResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .activateCard(activateCardData)

6. Antaca customer service

6.1. getRegistrationStatus

Asynchronous. Online.
This method is used to get account status.

6.1.1. Input

No input parameters.

6.1.2. Output

Success

Success callback with GetRegistrationStatusResult model.

GetRegistrationStatusResult

Parameter Type Description

registrationStatus

RegistrationStatus

Registration status

reasons

List<RegistrationRejectReason>

List of RegistrationRejectReason

RegistrationStatus

Reason Description

IN_PROGRESS

Status in progress

ACCEPTED

Status accepted

UNKNOWN

Unknown status

RegistrationRejectReason

Reason Description

INVALID_CUSTOMER_DATA

Customer data invalid

BLURRED_DOCUMENT_PHOTO

Blurred document photo

INVALID_DOCUMENT_PHOTO

Invalid document photo

BLURRED_SELFIE

Blurred selfie

INVALID_SELFIE

Invalid selfie

UNKNOWN

Unknown reason

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

UnknownRegistrationRejectReason

Unknown registration reject reason

UnknownRegistrationStatus

Unknown registration status

6.2. register

Asynchronous. Online.
This method is used to register a user in KYC verification process.

6.2.1. Input

RegisterData

Parameter Type Description

firstName

String

First name

lastName

String

Last name

birthDate

String

Birth date - in yyyy-mm-dd format

city

String

Billing address city

street

String

Billing address street

number

String?

Optional. Billing address street number

apartment

String?

Optional. Billing address apartment number

postCode

String

Billing address post code

country

String

Billing address country

identityCardNo

String?

Optional. Identity card number

personalId

Long?

Optional. Pesel number

imageFace

File?

Optional. Customer face photo

imageFront

File?

Optional. Front photo of document passed in request

documentType

RegisterDocumentType

Type of document passed in request

imageBack

File?

Optional. Back photo of document passed in request

nationality

String?

Optional. Nationality

isUsaResident

Boolean?

Optional. Customer is tax resident in USA

taxResidencies

List<String>?

Optional. List of customer’s tax residencies

sourcesOfFunds

List<SourceOfFundModel>?

Optional. List of customer’s sources of funds

RegisterDocumentType

Type Description

PERSONAL_ID

Id Card

PASSPORT

Passport

UNKNOWN

Unknown

SourceOfFundsModel

Type Parameters Description

BusinessActivity

tin: String?, regon: String?

Business activity

Salary

profession: String

Salary

Other

usersMessage: String

Other

DependentOnFamily

Dependent On Family

Investments

Investments

Rental

Rental

SocialBenefits

Social benefits

6.2.2. Output

Success

Success callback with RegisterResult model.

RegisterResult

Parameter Type Description

id

String

Registration identifier

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CustomerVerificationInProgress

Verification status in progress

CustomerAlreadyRegistered

User already registered

VerificationNotFound

Verification status not found

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidReason

Invalid reason

InvalidNote

Invalid note

FieldIsRequired

Missing required field

FieldConditionallyRequired

Missing required conditionally field

DateIsInvalid

Invalid date

DateFormatIsInvalid

Invalid format date

UnknownValidationErrorStatus

Unknown error status

6.2.3. Sample

Standard Callback
fun register(registerData: RegisterData) {
    AntacaStdApi
        .antacaCustomerStdService
        .register(registerData, object: ApiCallback<RegisterResult> {
            override fun onSuccess(result: RegisterResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun register(registerData: RegisterData): RegisterResult =
    AntacaCoroutineApi
        .antacaCustomerCoroutineService
        .register(registerData)

6.3. getCustomerDetails

Asynchronous. Online.
This method retrieves customer details.

6.3.1. Input

No input parameters.

6.3.2. Output

Success

Success callback with GetCustomerDetailsResult model.

GetCustomerDetailsResult

Parameter Type Description

customerDetails

CustomerDetailsModel

Customer details and address

CustomerDetailsModel

Parameter Type Description

id

String

Customer identifier

firstName

String

First name

lastName

String

Last name

birthDate

String

Birth date

address

CustomerAddressModel

Customer address

CustomerAddressModel

Parameter Type Description

city

String

City

street

String

Street

houseNumber

String

House number

apartment

String?

Optional. Apartment number

postCode

String

Post code

country

String

Country

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CustomerNotFound

status: String

Customer not found

6.3.3. Sample

Standard Callback
fun getCustomerDetails() {
    AntacaStdApi
        .antacaCustomerStdService
        .getCustomerDetails(object: ApiCallback<GetCustomerDetailsResult> {
            override fun onSuccess(result: GetCustomerDetailsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getCustomerDetails(): GetCustomerDetailsResult =
    AntacaCoroutineApi
        .antacaCustomerCoroutineService
        .getCustomerDetails()

7. Antaca limit service

7.1. getLimits

Asynchronous. Online.
This method is used to get card limits.

7.1.1. Input

GetLimitsData

Parameter Type Description

cardId

Long

Card identifier

wipe

Boolean

Any limit whose type occurs more than once will be deleted. Only the first limit of a given type will remain.

7.1.2. Output

Success

Success callback with GetLimitsResult model.

GetLimitsResult

Parameter Type Description

limits

List<LimitModel>

List of card limits

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

7.1.3. Sample

Standard Callback
fun getLimits(getLimitsData: GetLimitsData) {
    AntacaStdApi
        .antacaLimitStdService
        .getLimits(getLimitsData, object: ApiCallback<GetLimitsResult> {
            override fun onSuccess(result: GetLimitsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        }
        )
}
Kotlin Coroutines
suspend fun getLimits(getLimitsData: GetLimitsData): GetLimitsResult =
    AntacaCoroutineApi
        .antacaCoroutineService
        .getLimits(getLimitsData)

7.2. getLimit

Asynchronous. Online.
This method is used to get card limit.

7.2.1. Input

GetLimitData

Parameter Type Description

cardId

Long

Card identifier

limitId

String

Limit identifier

7.2.2. Output

Success

Success callback with GetLimitResult model.

GetLimitResult

Parameter Type Description

limit

LimitModel

Card limit

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CardLimitNotFound

Can’t find limit by given limit ID

7.2.3. Sample

Standard Callback
fun getLimit(getLimitData: GetLimitData) {
    AntacaStdApi
        .antacaLimitStdService
        .getLimit(getLimitsData, object: ApiCallback<GetLimitResult> {
            override fun onSuccess(result: GetLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun getLimit(getLimitData: GetLimitData): GetLimitResult =
    AntacaCoroutineApi
        .antacaLimitCoroutineService
        .getLimit(getLimitData)

7.3. addLimit

Asynchronous. Online.
This method is used to add card limit.

7.3.1. Input

AddLimitData

Parameter Type Description

cardId

Long

Card identifier

type

LimitType

Limit type

maxAmount

Long

Amount in minor currency units

period

LimitPeriod

Limit period

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

7.3.2. Output

Success

Success callback with AddLimitResult model. AddLimitResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidLimitParameters

Invalid limit parameters

InvalidMaxAmount

Invalid max amount

InvalidMaxAttempts

Invalid max attempts

CurrencyWithTypeMismatch

Currency isn’t available for given limit type

InvalidType

Invalid limit type

7.3.3. Sample

Standard Callback
fun addLimit(addLimitData: AddLimitData) {
    AntacaStdApi
        .antacaLimitStdService
        .addLimit(addLimitData, object: ApiCallback<AddLimitResult> {
            override fun onSuccess(result: AddLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun addLimit(addLimitData: AddLimitData): AddLimitResult =
    AntacaCoroutineApi
        .antacaLimitCoroutineService
        .addLimit(addLimitData)

7.4. updateLimit

Asynchronous. Online.
This method is used to update card limit.

7.4.1. Input

UpdateLimitData

Parameter Type Description

cardId

Long

Card identifier

limitId

String

Limit identifier

maxAmount

Long

Amount in minor currency units

period

LimitPeriod

Limit period

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

7.4.2. Output

Success

Success callback with UpdateLimitResult model. UpdateLimitResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CardLimitNotFound

Can’t find limit by given limit ID

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidLimitParameters

Invalid limit parameters

InvalidMaxAmount

Invalid max amount

InvalidMaxAttempts

Invalid max attempts

InvalidType

Invalid limit type

7.4.3. Sample

Standard Callback
fun updateLimit(updateLimitData: UpdateLimitData) {
    AntacaStdApi
        .antacaLimitStdService
        .updateLimit(updateLimitData, object: ApiCallback<UpdateLimitResult> {
            override fun onSuccess(result: UpdateLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun updateLimit(updateLimitData: UpdateLimitData): UpdateLimitResult =
    AntacaCoroutineApi
        .antacaLimitCoroutineService
        .updateLimit(updateLimitData)

7.5. deleteLimit

Asynchronous. Online.
This method is used to delete card limit.

7.5.1. Input

DeleteLimitData

Parameter Type Description

cardId

Long

Card identifier

limitId

String

Limit identifier

7.5.2. Output

Success

Success callback with DeleteLimitResult model. DeleteLimitResult is empty class.

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

CardLimitNotFound

Can’t find limit by given limit ID

7.5.3. Sample

Standard Callback
fun deleteLimit(deleteLimitData: DeleteLimitData) {
    AntacaStdApi
        .antacaLimitStdService
        .deleteLimit(deleteLimitData, object: ApiCallback<DeleteLimitResult> {
            override fun onSuccess(result: DeleteLimitResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun deleteLimit(deleteLimitData: DeleteLimitData): DeleteLimitResult =
    AntacaCoroutineApi
        .antacaLimitCoroutineService
        .deleteLimit(deleteLimitData)

7.6. changeLimits

Asynchronous. Online.
This method is used to change multiple limits at once.
Every limit with limit period set to NONE will be disabled, which means no limits will be applied for the limit type of the card.

7.6.1. Input

ChangeLimitsData

Parameter Type Description

cardId

Long

Card identifier

limits

List<LimitModel>

List of limit

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

7.6.2. Output

Success

Success callback with ChangeLimitsResult model. Returns list of all requested to change limits which can be:

  • successfully changed when throwable in ChangedLimitModel is null

  • failed when throwable in ChangedLimitModel is one of errors described below. Not changed limit model will be returned

ChangeLimitsResult

Parameter Type Description

changedLimits

List<ChangedLimitModel>

List of changed limits

ChangedLimitModel

Parameter Type Description

limitModel

LimitModel

Limit model depends on throwable. When it is null it means that limit is successfully changed otherwise not changed limit is returned

throwable

Throwable?

Error can be one of errors described below

LimitModel

Parameter Type Description

id

String

Limit identifier

type

LimitType

Limit type

maxAmount

Long

Maximal amount. Minor currency unit

period

LimitPeriod

Limit period

currency

String

Currency associated with the limit in ISO 4217 standard

LimitType

Type Description

GENERAL

General transaction amount limit type. It overrides other limits

INTERNET

E-commerce transaction amount limit type

ATM_WITHDRAWS

ATM withdrawals transaction amount limit type

FOREIGN_AMOUNT

Transactions in foreign currencies amount limit type

UNKNOWN

Unknown limit type

LimitPeriod

Period Description

NONE

Disables limits applied for given LimitType

DAILY

Daily periodic limit time unit

WEEKLY

Monthly periodic limit time unit

MONTHLY

Weekly periodic limit time unit

UNKNOWN

Unknown periodic limit

Failure

Failure callback with throwable. Possible types of exceptions:

AntacaSdkException

Exception Parameters Description

CardNotFound

Can’t find card

ValidationException

validationErrors: List<ValidationError>

List of validation errors

ValidationError

Parameter Type Description

fieldName

String

Field name

errorStatuses

List<ValidationErrorStatus>

List of ValidationErrorStatus

ValidationErrorStatus

Status Description

InvalidLimitParameters

Invalid limit parameters

InvalidMaxAmount

Invalid max amount

InvalidMaxAttempts

Invalid max attempts

CurrencyWithTypeMismatch

Currency isn’t available for given limit type

InvalidType

Invalid limit type

7.6.3. Sample

Standard Callback
fun changeLimits(changeLimitsData: ChangeLimitsData) {
    AntacaStdApi
        .antacaLimitStdService
        .changeLimits(changeLimitsData, object: ApiCallback<ChangeLimitsResult> {
            override fun onSuccess(result: ChangeLimitsResult) {
                 /*TODO: do something with success event*/
            }
            override fun onFailure(error: Throwable) {
                /*TODO: something went wrong*/
            }
        })
    )
}
Kotlin Coroutines
suspend fun changeLimits(changeLimitsData: ChangeLimitsData): ChangeLimitsResult =
    AntacaCoroutineApi
        .antacaLimitCoroutineService
        .changeLimits(changeLimitsData)

7.7. registerCardEventsListener

Synchronous. Online.
Register CardEventsListener.

7.7.1. Input

CardEventsListener

Parameter Type Description

CardEventsListener

Interface

Listener containing methods for responding to card events.

7.7.2. Sample

Standard Callback
fun registerCardEventsListener(cardEventsListener: CardEventsListener) {
    AntacaStdApi
        .antacaCardStdService
        .registerCardEventsListener(cardEventsListener)
}
Kotlin Coroutines
fun registerCardEventsListener(cardEventsListener: CardEventsListener) {
    AntacaCoroutineApi
        .antacaCardCoroutineService
        .registerCardEventsListener(cardEventsListener)
}

8. DOCUMENT CHANGELOG

8.1. Version 1.0.0

  • Created

8.2. Version 1.1.0

  • Added addBalance method which is responsible for adding new balance

  • Added getCardsConfig method which is responsible for obtaining cards configuration

8.3. Version 1.1.1

  • Modified changeLimits result

  • Added lists of possible errors for limits functions

8.4. Version 1.2.0

8.5. Version 1.3.0

  • Added changePin method which is responsible for changing card pin

8.6. Version 1.4.0

8.7. Version 1.5.0

8.8. Version 1.6.1

8.9. Version 1.7.0

  • Reorganization of existing SDK methods to domain specific services for greater readability.

  • Added getRegistrationStatus method to AntacaCustomer std and coroutine service

  • Added UNKNOWN status to CardType, LockCardReason, LimitPeriod, LimitType, RegisterDocumentType, RegistrationRejectReason, RegistrationStatus, AccountRejectReason, AccountStatus

  • Replaced UnknownAccountRejectReasonException, UnknownAccountStatusException, UnknownCardTypeException, UnknownErrorStatusException with UNKNOWN statuses of respective enum classes.

  • Rename exception from CardLimitNotFountException to CardLimitNotFoundException

8.10. Version 1.7.1

  • Adds integration with core SDK

8.11. Version 1.7.2

8.12. Version 1.7.3

  • Fixes obfuscation issues causing parsing errors

8.13. Version 1.7.4

  • Disables obfuscation and pinning for debug

8.14. Version 2.0.0