Create Accounts
To create an Account, you need to issue Account/Payment products to an Account Holder by using Bundles as per the value offering of the fintech. Follow the below steps to issue an Account to an Account Holder:
-
Retrieve all Accounts
-
Issue an Account to an Account Holder
-
Issue an Account having single or multiple Account Product /Payment Product
-
Issue an Account: an Account Product
-
Issue an Account: Single or Multiple Account Products
-
Issue an Account: Single or Multiple Payment Products
-
These steps are briefly explained with corresponding API request and response samples in the following sections:
Get Account
Call /Bundles
endpoint to retrieve all the existing Accounts available for the IFI.
Endpoint URI
Request parameters
ifiID
: Required. Unique identifier of the IFI.
Response parameters
-
id
: ID of the Bundle retrieved. -
ifiID
: Unique identifier of the IFI. -
vboID
: Unique identifier of the fintech. -
name
: Name of the retrieved Bundle. -
status
: Status of the retrieved Bundle. -
createdAt
: Timestamp of the Bundle creation. -
updatedAt
: Timestamp of the last Bundle update.
Example
curl -X GET \
https://fusion.preprod.zeta.in/api/v1/ifi/140827/bundles \
-H 'Content-Type: application/json' \
-H 'X-Zeta-AuthToken: {{AUTH_TOKEN}}'
[
{
"id": "ee64c930-c06f-49cb-9443-84b132b9d4e2",
"ifiID": 140827,
"fintechID": "zeta",
"name": "Account + Payment Product Bundle",
"accountProducts": [
{
"id": "9e97fc72-d692-4c0a-bccc-ba689954d9af",
"productID": "7706229683808022627",
"type": "ACCOUNT",
"programIDs": "",
"ifiID": 140827
}
],
"paymentProducts": [
{
"id": "86da4629-9c59-45d9-9c0e-61d78ccb196f",
"productID": "baefec67",
"type": "PAYMENT",
"programIDs": "",
"ifiID": 140827
}
],
"status": "active",
"createdAt": "Nov 9, 2019 10:19:49 AM",
"updatedAt": "Nov 28, 2019 2:01:13 PM"
},
{
"id": "31c30bca-7406-44e0-8d31-26bc3ed8a1ee",
"ifiID": 140827,
"fintechID": "zeta",
"name": "Account Product Bundle",
"accountProducts": [
{
"id": "942a4cf7-3749-4919-b6cb-4a5f2d29c77c",
"productID": "4732811754742423772",
"type": "ACCOUNT",
"programIDs": "",
"ifiID": 140827
}
],
"paymentProducts": [],
"status": "active",
"createdAt": "Nov 12, 2019 11:36:32 AM",
"updatedAt": "Nov 28, 2019 2:02:06 PM"
}
]
Create an Account
Use the /issueBundle
endpoint to issue an Account to Account Holder. Pass the value of ID parameter from the previous step for BundleID
as shown in the following cURL sample:
Endpoint URI
Request parameters
-
ifiID
: Required. Unique identifier of the IFI. -
BundleID
: Required. ID of the Bundle being issued. -
accountHolderID
: Required. ID of the Account Holder to whom the Account is being issued. -
name
: Required. Name of the issued Bundle. -
phoneNumber
: Required. Phone number associated with the Account Holder.
Response parameters
-
BundleID
: ID of the issued Bundle. -
accountHolderID
: ID of the Account Holder. -
accountID
: ID of the Account Product. -
resourceID
: ID of the Resource associated with the Payment Instrument. -
status
: Status of the issued Bundle. -
targetAccount
: If the Bundle does not have any Account Products,
the targetAccountID shall be used in the payment instrument field.
Example
curl -X POST \
https://fusion.preprod.zeta.in/api/v1/ifi/140827/bundles/ee64c930-c06f-49cb-9443-84b132b9d4e2/issueBundle \
-H 'Content-Type: application/json' \
-H 'Postman-Token: c98d6562-c8ff-4bcc-ba4f-c3f103951d11' \
-H 'X-Zeta-AuthToken: {{AUTH_TOKEN}}' \
-d '{
"accountHolderID": "b23ef097-8d7e-41e9-86da-c2072db6fa25",
"name": "Bundle",
"phoneNumber": "+919191919191"
}
{
"accounts": [
{
"bundleID": "ee64c930-c06f-49cb-9443-84b132b9d4e2",
"accountHolderID": "8563929b-f7f0-4e2f-9891-75a412383029",
"accountID": "4cdb45da-0ae5-46bf-8aae-c0943a5aae3f"
}
],
"paymentInstruments": [
{
"bundleID": "ee64c930-c06f-49cb-9443-84b132b9d4e2",
"resourceID": "908b3067",
"status": "ACTIVE",
"targetAccount": "4cdb45da-0ae5-46bf-8aae-c0943a5aae3f"
}
]
}
Create an Account: an Account Product
You can also create an Account with a single Account Product as per the Account Holder’s requirement. Use the /issueAccount
endpoint to issue a specific Account Product to an Account Holder, identified by accountHolderID.
Pass the accountProductID
and ID of the Bundle that the Account Product belongs to. ID of the Bundle is retrieved from the response of the /Bundles
endpoint.
Endpoint URI
Request parameters
-
ifiID
: Required. Unique identifier of the IFI. -
BundleID
: Required. ID of the Bundle whose Account Product is being issued. -
accountHolderID
: Required. ID of the Account Holder to whom the Account Product is being issued. -
accountProductID
: Required. ID of the Account Product being issued. -
name
: Required. Preferred name in the Account.
Example
POST /api/v1/ifi/140827/bundles/1e4b5bac-636a-47b7-8013-2f2680c5d397/issueAccount HTTP/1.1
Host: {{base_url}}
Content-Type: application/json
X-Zeta-AuthToken: {{newtoken}}
cache-control: no-cache
Postman-Token: b5e5ece4-7168-4dca-a895-6064fab1f177
{
"accountHolderID": "d9fa39df-59c2-4949-be28-cf57131f2a17",
"accountProductID": "9e97fc72-d692-4c0a-bccc-ba689954d9af",
"bundleID":"ee64c930-c06f-49cb-9443-84b132b9d4e2",
"name": "beneficiary account in test1232456"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
N/A
Create an Account: Single or Multiple Account Products
An array of Account Products are taken as request by providing accountProductID
. The response returns the type and status of the Account Product. The status depends on the issuance state of the Account Product.
Endpoint URI
Request parameters
-
ifiID
: Required. Unique identifier of the IFI. -
BundleID
: Required. ID of the Bundle whose Account Product is being issued. -
requestID
: Required. This is the idempotency field. ID used by fintech to identify a unique request. -
accountHolderID
: Required. ID of the Account Holder to whom the Account Product is being issued. -
accountProductID
: Required. ID of the Account Product being issued. -
name
: Required. Preferred name in the Account.
Response parameters
-
accountHolderID
: ID of the Account Holder to whom the Account Product is issued. -
accountID
: ID of the issued Account Product. -
BundleID
: ID of the Bundle whose Account Product is issued. -
name
: Preferred name in the Account. -
status
: Status of the issued Account Products. -
type
: Type of Account.
Example
curl --location --request POST 'https://fusion.preprod.zeta.in/api/v1/ifi/140793/bundles/b5cb1ce2-89e3-4435-88d5-2d392e3fe938/issueAccountProducts' \
--header 'Content-Type: application/json' \
--header 'Postman-Token: 5999cf66-4b78-4684-ad73-64529cc2d9cb,ca5cfcd7-634d-4341-a3ea-7d1a16b792ba' \
--header 'X-Zeta-AuthToken: {{AUTH_TOKEN}}' \
--header 'cache-control: no-cache,no-cache' \
--data-raw '{
"requestID": "atlantis_capital_issue_account_12",
"accountHolderID": "c8e31da5-b467-4354-8877-4823730898c5",
"issueAccountArtifactRequests": [
{
"accountProductID": "f07f65b2-9048-437d-a0cc-94ad2b24c007",
"name": "Parent"
},
{
"accountProductID": "f07f65b2-9048-437d-a0cc-94ad2b24c007",
"name": "Child"
}
]
}
{
"accountHolderID": "string",
"accountID": "string",
"bundleID": "string",
"id": "string",
"name": "string",
"status": "string",
"type": "string"
}
Create an Account: Single or Multiple Payment Products
An array of Payment Products are taken as request by providing paymentProductID
. The response returns the type and status of the Account Product. The status depends on the issuance state of the Account Product
.
Endpoint URI
Request parameters
-
ifiID
: Required. Unique identifier of the IFI. -
BundleID
: Required. ID of the Bundle whose Payment Product is being issued. -
requestID
: Required. This is the idempotency field. ID used by fintech to identify a unique request. -
targetAccountID
: Optional. If the Bundle does not have any Account Products, the targetAccountID shall be used in the payment instrument field. -
paymentProductID
: Required. ID of the Payment Product being issued. -
phonenumber
: Required. Phone number being associated with the Account.
Response parameters
-
accountHolderID
: ID of the Account Holder to whom the Account Product is issued. -
accountID
: ID of the issued Account Product. -
BundleID
: ID of the Bundle whose Account Product is issued. -
name
: Preferred name in the Account. -
status
: Status of the issued Account Products. -
type
: Type of Account.
Example
curl --location --request POST 'http://localhost:8888/api/v1/ifi/140827/bundles/fe6b7566-6796-4e7e-8c81-1549a537e068/issuePaymentProducts'
--header 'Content-Type: application/json'
--header 'X-Zeta-AuthToken: {{AUTH_TOKEN}}'
--data-raw '{
"requestID": "request-12566",
"accountHolderID": "e757baf5-c777-4151-bce4-4c35d30b830f",
"issuePaymentProductRequests": [
{
"targetAccountID": "f35f88dd-481c-4b0f-84b5-8be991c008ae",
"paymentProductID": "79cc92f3-d722-40b7-aae0-4b53313cfd52",
"phoneNumber": "+91017765432",
"attributes": {}
},
{
"targetAccountID": "f35f88dd-481c-4b0f-84b5-8be991c008ae",
"paymentProductID": "79cc92f3-d722-40b7-aae0-4b53313cfd52",
"phoneNumber": "+9125773447983",
"attributes": {}
}
]
}
{
"accountHolderID": "string",
"accountID": "string",
"bundleID": "string",
"id": "string",
"name": "string",
"status": "string",
"type": "string"
}