Validate · Enforce · Trust

Products & Leads — Requirements v2.14 min read

The rules your Ozone Connect GET /products and POST /leads endpoints must follow. Read alongside the TPP Products and Leads requirements, which describe how TPPs call the API and present your products.

Products & Leads is not consent-based: a TPP holding the BDSP role calls it with a client_credentials token, and only while a customer is in a live session with the TPP. The API Hub validates the TPP's token, role, and request against the OpenAPI schema before it calls your Ozone Connect endpoints, so you do not re-validate them. The rules below cover what your endpoints must return.

01 Endpoint

Retrieve Products

GET/products

The API Hub calls your Ozone Connect GET /products endpoint on behalf of a TPP to retrieve your product catalogue.

#
Field
Rule
1
Query filters
Apply the optional filters when present: ProductCategory returns only products of that category; IsShariaCompliant returns only products whose IsShariaCompliant matches; LastUpdatedDateTime returns only products updated after that date and time.
2
Sorting
Order the results by SortField (LastUpdatedDateTime or ProductId; default LastUpdatedDateTime) in SortOrder (asc or desc; default asc).
3
Pagination
The API Hub sends page and page-size on every request. Return only the requested page, and populate meta.totalPages and meta.totalRecords for the full filtered result set.
4
data
Each entry in data MUST include LFIId, LFIBrandId, and Products — the products offered under that brand.
5
Required product fields
Every product MUST include ProductId, ProductName, and ProductCategory. ProductId MUST be unique to the product within your catalogue.
6
Category details
The product-type object under Product MUST be returned for the product's ProductCategory: CurrentAccount → Product.CurrentAccount; SavingsAccount → Product.SavingsAccount; CreditCard → Product.CreditCard; Finance → Product.Finance; Mortgage → Product.Mortgage.
7
Application fields
Every product MUST include at least one of Links.ApplicationUri, Links.ApplicationPhoneNumber, Links.ApplicationEmail, or Links.ApplicationDescription, so the TPP always has a way for the customer to apply. Where more than one is populated, TPPs treat ApplicationUri as the preferred channel.
8
LastUpdatedDateTime
Populate with the date and time the product's information last changed, or the date it was created if it has never changed. The LastUpdatedDateTime filter and the default sort both depend on it.
9
Sharia-compliant products
Set IsShariaCompliant on every product so the IsShariaCompliant filter is accurate. Where a product has been confirmed as Sharia-compliant, populate ShariaStructure with its Islamic finance contract type, and AlternativeBrandName and ShariaInformation where held.
10
Data completeness
All fields that exist or are derivable from your systems SHOULD be populated, including the rates, charges, eligibility, and links for each product, so that TPPs can present and compare it accurately.
02 Endpoint

Create a Lead

POST/leads

When a customer asks to be contacted about your products, the TPP submits a lead and the API Hub forwards it to your Ozone Connect POST /leads endpoint. The API Hub does not retain the lead: once you have responded, your systems hold the only copy.

#
Field
Rule
1
Request
The request has already been validated by the API Hub against the POST /leads schema. Name, Email, EmiratesId, MarketingOptOut, and ProductCategories are always present; PhoneNumber, Nationality, ResidentialAddress, and LeadInformation are present when the customer provided them.
2
Response
Record the lead and respond 201. The response data MUST include LeadId, Name, Email, EmiratesId, and MarketingOptOut.
3
LeadId
A unique identifier you assign to the lead. It is returned to the TPP.
4
ProductCategories
The product categories the customer is interested in. Follow up on those categories.
5
Follow-up
The LFI is expected to follow up with the customer within 30 days of receiving the lead.
6
MarketingOptOut
Reflects the customer's marketing preference. Where it is true, use the lead's details only to follow up on this request, not for marketing communications.
03 Section

Error Responses

The API Hub maps your error responses to the TPP standard. Error bodies MUST carry an errorCode and an errorMessage.

Status
When
errorCode
400
A request parameter cannot be processed.
A prescribed code such as Resource.InvalidFormat or Body.InvalidFormat, or a namespaced code.
500
An internal error prevented the request from completing.
GenericRecoverableError where a retry may succeed; otherwise GenericError.