Usage Guide¶
This section goes over how to use the External Item Search service.
Endpoints¶
The service is fairly simple, and only has a few endpoints available.
These endpoints are documented at the running service’s swagger endpoint at /q/swagger-ui/
Get Search Methods
GET /api/v1/info/methods
This endpoint gathers what search methods are currently available to use for searching. It also lists what services are available to do those searches.
Example return data:
{
"BARCODE": [
"BARCODE_LOOKUP",
"DATAKICK",
"UPC_ITEM_DB",
"OPENFOODFACTS"
],
"TEXT": [
"BARCODE_LOOKUP",
"REBRICKABLE",
"OPENFOODFACTS"
],
"PART_NUM": [
"REBRICKABLE"
],
"SET_NUM": [
"REBRICKABLE"
]
}
Get Search Providers
GET /api/v1/info/providers
This endpoint gathers what providers (downstream services) we have available.
Example return data:
[
{
"id": "BARCODE_LOOKUP",
"displayName": "BarcodeLookup.com",
"description": "Comprehensive database of products, but a paid service. Can get a 2-week trial API key.",
"cost": "Paid",
"acceptsContributions": true,
"homepage": "https://www.barcodelookup.com/",
"enabled": true,
"lookupMethods": [
"BARCODE",
"TEXT"
],
"lookupSources": [
"BARCODE_LOOKUP"
]
},
//...
]
Search External Items
GET /api/v1/search
This endpoint gathers what providers (downstream services) we have available.
Example return data:
[
{ // successful responses will return with a "SUCCESS" type
"service": "DATAKICK",
"source": "DATAKICK",
"method": "BARCODE",
"name": "- Blackberry peach",
"unifiedName": "- Blackberry peach",
"description": "",
"prices": {},
"identifiers": {},
"attributes": {
"gtin14": "00888109010058",
"size": "30ML",
"ingredients": "s"
},
"images": [],
"links": {},
"type": "SUCCESS"
},
{ // services with no results will return with a "NO_RESULTS" type (omitted by default)
"service": "UPC_ITEM_DB",
"source": "UPC_ITEM_DB",
"method": "BARCODE",
"detail": "No results found.",
"type": "NO_RESULTS"
},
{ // services that otherwise failed to be called will return with a "ERROR" type
"service": "OPENFOODFACTS",
"source": "OPENFOODFACTS",
"method": "BARCODE",
"detail": "Failed to connect.",
"type": "ERROR"
},
//...
]
Searching Specifics¶
Searches take the following important GET parameters:
Search Query¶
q (String)
This is the main search query. Required.
Lookup Method¶
lookupMethod
One of the methods returned from the get methods endpoints, i.e, TEXT or BARCODE
This is how to specify the method to use for search. Can specify multiple times to specify multiple methods.
Omit to default to TEXT.