Skip to main content

Vendor Search Service

Vendor search service allows user to seamlessly extract list of vendor records, list of bank details or match duplicate vendor details based on given specific search parameters. Currently we need to support match and search services.

  1. Vendor match service
  2. Vendor search service
  3. Bank search service

Search data flow architecture

API Endpoints

Host URI :

API versioning: “/api/v1”

Vendor Search endpoint :

Get Vendor list information based on search parameters.

We have to provide user to search vendor by id, name, city, postal code & country. We need to provide pagination support fields like start Page, page size

  1. API

URI : /vendors

Method Type : POST

Request

query search parameters :

parametertypedescriptionRegex
Vendor IDstringSearch by Vendor ID.^[0-9]{1,20}$
Vendor/Organization Namestringprovide vendor name / organization name to search^[a-zA-Z0-9 '-]{2,100}$
CitystringProvide city name to filter vendors^[a-zA-Z0-9 '-]{2,100}$
Postal CodestringProvide postal code to filter vendors^[0-9]{1,20}$
CountrystringProvide country to filter vendors^[A-Z.,:;$%&+\]\[*"( )'\/^\-]{1,100}$

Response Structure :

parametertypedescription
Vendor IDstringVendor ID.
vendorNumberstringVendor Name
ptyOrgIdstringPty Org Id
Postal CodestringPostal Code
StreetstringStreet
House NostringHouse No
CitystringCity Name
…….…..……

Response JSON structure:

[

  {
"Id": "number",
"vendorNumber": "number",
"ptyOrgId":"String"
"Country": "String",
"city": "string",
"postalCode": "string",
"organizationName": "string",
"street": "string",
"houseNo": "string",
"subjectArea": "string",
"poBox": "string",
"district": "string",
"region": "string",
"regionId": "string",
"addrLine2": "string",
"addrLine3": "string",
"scvNo": "string",
"factNo": "string",
"address": "string",
}

]

  1. API

URI : /vendors/{vendorId}

Method Type : GET

Request

parametertypedescriptionRegex
Vendor IDstringVendor ID.^[0-9]{1,20}$

Response Structure :

TBD

Bank Search endpoint :

Get list of bank information based on search parameters.

We have to provide user to search Bank details by bank id/key, name, city, postal code & country. We need to provide pagination support fields like start Page, page size

  1. API

URI : /vendors

Method Type : POST

Request

query search parameters :

parametertypedescriptionRegex
Bank KeystringSearch by Bank ID.^[0-9]{1,20}$
Bank Namestringprovide Bank name to search^[a-zA-Z0-9 '-]{2,100}$
CitystringProvide city name to filter banks^[a-zA-Z0-9 '-]{2,100}$
Postal CodestringProvide postal code to filter bank^[0-9]{1,20}$
CountrystringProvide country to filter banks^[A-Z.,:;$%&+\]\[*"( )'\/^\-]{1,100}$

Response Structure:.

parametertypedescription
Bank IDstringBank ID.
Bank NamestringBank Name
Swift nostringSwift Number
bankCountrystringBank Country
bankBranchNamestringBank Branch Name
StreetstringStreet
CitystringCity Name
…….…..……

Response JSON structure:

[

  {
"bankKey": "number",
"bankName": "number",
"bankBranchName": "String",
"city": "string",
"postalCode": "string",
"street": "string",
"poBox": "string",
"district": "string",
"region": "string",
"bankCountry": "string",
"bankCountryId": "string",
"sancId": "string",
"swiftId": "string",
"address": "string",
}

]

  1. API

URI : /banks/{bankId}

Method Type : GET

Request

parametertypedescriptionRegex
bankIDstringBank ID.^[0-9]{1,20}$

Response Structure :

TBD

Vendor Match endpoint :

Get list of vendor information based on provide vendor object. We can find duplicate records by fuzzy match of elastic search. With predefined matching score, we will return list of vendor objects as response.

Fuzzy matching blocks

  1. Vendor name with Vendor Address
  2. Vendor name and Tax details
  3. API

URI : /vendors/duplicate

Method Type : POST

Request

Vendor object TBD

Response Structure:

List of vendor objects

Was this page helpful?