- Created by user-5c3b0 on Jul 18, 2020
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
GET | /api/v1/ifi/{ifiID}/bundles |
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
Request
Response
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
POST | /api/v1/ifi/{ifiID}/bundles/{bundleID}/issueBundle |
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, thetargetAccountID
shall be used in the payment instrument field.
Example
Request
Response
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
POST | /api/v1/ifi/{ifiID}/bundles/{bundleID}/issueAccount |
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
Request
Response
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
POST | /api/v1/ifi/{ifiID}/bundles/{bundleID}/issueAccountProducts |
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
Request
Response
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
POST | /api/v1/ifi/{ifiID}/bundles/{bundleID}/issuePaymentProducts |
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, thetargetAccountID
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
Request
Response
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" }
- No labels