All API Requests must contain an Authorization Header with a valid access token provided from auth
All endpoints that return large result sets will support pagination. The pageSize
and pageNumber
parameters will be used for these endpoints. For example, if you want the next batch of items the url would look like this: https://fetch.yellowdogsoftware.com/api/v2/items?pageNumber=2&pageSize=100
If the endpoint supports pagination the response header will contain the X-Pagination
key. The value of this key will be json which will include the next page link (nextPageLink
). If there aren’t anymore pages left the nextPageLink
value will be empty.
{
"pageSize":100,
"currentPage":1,
"currentPageElements":100,
"nextPageLink":"https://fetch.yellowdogsoftware.com/api/v2/dimensions?pageNumber=2&pageSize=100"
}
{
"pageSize":100,
"currentPage":6,
"currentPageElements":3,
"nextPageLink":""
}
Collections can be filtered with the filter query parameter. The filter parameter supports standard comparison operations, such as <=,>=,!=,=,>,<
.
When multiple parameters are specified, the conditions are ANDed together. Multiple filters in an API request will need to be separated by a comma. Not all API endpoints accept the same Filtering collections, so you’ll need to refer to the Fetch API Reference for a complete listing of filters accepted by each endpoint.
Example:
https://fetch.yellowdogsoftware.com/api/v2/purchaseOrders?Filter=docNumber='12345',lastUpdated>=’2016-11-17’
Collections can be ordered in ascending asc
or descending desc
directions.
You can see all accepted order by parameters for a given endpoint in our Fetch API Reference.
Example:
https://fetch.yellowdogsoftware.com/api/v2/purchaseOrders?orderBy=docNumber asc
Fields can be expanded with the expand query parameter. Multiple field expansion in an API request will need to be separated by a comma. You can see what parameters are expandable for a given endpoint in our Fetch API Reference.
Example:
https://fetch.yellowdogsoftware.com/api/v2/purchaseOrders?Expand=Stores,Vendor
GET
Itemsid
– This is the uniqueidentifier for the item. Since this is unique it is best that you save this in your system as the item reference instead of sku
.sku
& upc
– In Yellow Dog, both of these can be used as scannable barcodes. If your system supports multiple barcodes, it is best to get sku and the UPC array. There is no limit on how many UPCs can be attached to an item in Yellow Dog.lastUpdated
– When a change is made to an item (such as a price
, description
, upc
, etc.) the lastUpdated
field will reflect the last time the item was updated. It is recommended to pull items with the lastUpdated
filter. For example, filter=lastUpdated=01/01/2019
.description
– This is the long description of the item and usually has the most information. If your description field can hold up to 256 characters, it is best to use this. If you have character limitations, use posDescription1
active
– denotes whether an item is flagged as Active or Inactive in Yellow Dog. This is not the same as removed or deleted. Inactive items remain fully intact in the database and are typically used to move seasonal products out of their active inventory.stores
– Expand stores to get store specific information
publish
– The publish flag determines whether or not the item should be published to the POSGeneric Interfaces
– store specific interface settings can be found here. If your system uses classes or groupings to determine tax rate, taxable (yes/no), reporting by groups (family groups, major groups), displaying item on touchscreen (yes/no or specific screen), etc. It is best to take advantage of these generic interfaces. There are 10 useable generic interfaces that can be manually created in Yellow Dog with a alpha/numeric code and a description. Using these eliminates the need for the end user to setup an item in Yellow Dog and your system.$ curl -X GET \
https://fetch.yellowdogsoftware.com/api/v2/dimensions \
-H 'Authorization: Bearer {access token here}' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
var client = new RestClient("https://fetch.yellowdogsoftware.com/api/v2/dimensions");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer");
IRestResponse response = client.Execute(request);
var http = require("https");
var options = {
"method": "GET",
"hostname": [
"fetch",
"yellowdogsoftware",
"com"
],
"path": [
"api",
"v2",
"dimensions"
],
"headers": {
"Authorization": "Bearer",
"Content-Type": "application/json",
"Cache-Control": "no-cache",
}
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
Postman is an app for easy RESTful API exploration. You can save multiple sets of credentials (as environments) so you can quickly and easily test API calls in sandbox and production.
A collection is a predefined list of API calls that will help you get up and running quicker.
Click Run in Postman button below to install/open Postman and import collection
Edit the following variables in your new Collection
:
clientId
- provided by Yellow DoguserName
- provided by Yellow Dogpassword
- provided by Yellow Dog
After the collection has been imported and all variables are set you are now ready to make your first API call using Postman! Look at the pictures below for an example.