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.
- Vendor match service
- Vendor search service
- 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
- API
URI : /vendors
Method Type : POST
Request
query search parameters :
| parameter | type | description | Regex |
|---|---|---|---|
| Vendor ID | string | Search by Vendor ID. | ^[0-9]{1,20}$ |
| Vendor/Organization Name | string | provide vendor name / organization name to search | ^[a-zA-Z0-9 '-]{2,100}$ |
| City | string | Provide city name to filter vendors | ^[a-zA-Z0-9 '-]{2,100}$ |
| Postal Code | string | Provide postal code to filter vendors | ^[0-9]{1,20}$ |
| Country | string | Provide country to filter vendors | ^[A-Z.,:;$%&+\]\[*"( )'\/^\-]{1,100}$ |
Response Structure :
| parameter | type | description |
|---|---|---|
| Vendor ID | string | Vendor ID. |
| vendorNumber | string | Vendor Name |
| ptyOrgId | string | Pty Org Id |
| Postal Code | string | Postal Code |
| Street | string | Street |
| House No | string | House No |
| City | string | City 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",
}
]
- API
URI : /vendors/{vendorId}
Method Type : GET
Request
| parameter | type | description | Regex |
|---|---|---|---|
| Vendor ID | string | Vendor 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
- API
URI : /vendors
Method Type : POST
Request
query search parameters :
| parameter | type | description | Regex |
|---|---|---|---|
| Bank Key | string | Search by Bank ID. | ^[0-9]{1,20}$ |
| Bank Name | string | provide Bank name to search | ^[a-zA-Z0-9 '-]{2,100}$ |
| City | string | Provide city name to filter banks | ^[a-zA-Z0-9 '-]{2,100}$ |
| Postal Code | string | Provide postal code to filter bank | ^[0-9]{1,20}$ |
| Country | string | Provide country to filter banks | ^[A-Z.,:;$%&+\]\[*"( )'\/^\-]{1,100}$ |
Response Structure:.
| parameter | type | description |
|---|---|---|
| Bank ID | string | Bank ID. |
| Bank Name | string | Bank Name |
| Swift no | string | Swift Number |
| bankCountry | string | Bank Country |
| bankBranchName | string | Bank Branch Name |
| Street | string | Street |
| City | string | City 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",
}
]
- API
URI : /banks/{bankId}
Method Type : GET
Request
| parameter | type | description | Regex |
|---|---|---|---|
| bankID | string | Bank 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
- Vendor name with Vendor Address
- Vendor name and Tax details
- API
URI : /vendors/duplicate
Method Type : POST
Request
Vendor object TBD
Response Structure:
List of vendor objects