NAV Navbar
Logo
csharp

Introduction

API Endpoint:

https://api.godatafeed.com

Welcome to the GoDataFeed API! You can use our API to access Feed & Order endpoints.

We are currently implementing our code examples in various programming languages. You can view examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

API Call Limits

The GoDataFeed API call uses the “leaky bucket” algorithm for call throttling. This allows you to make an unlimited number of calls over time, as long as you don’t exceed the bucket size. The bucket size defaults to 50 calls, with a leak rate of 2 calls per second. Therefore, you can make 2 calls per second with occasional burst of 50 calls at once. If you overflow the bucket, you’ll get a 429 response.

GoDataFeed expects for the API Token to be included in all API requests to the server in the URL that looks like the following:

V1/{Token}/resource

Authorization

GoDataFeed uses Tokens to allow access to the API. In order to obtain authorization to use the GoDataFeed API, you need to first setup a Consumer Key in the GoDataFeed Control Panel. The Consumer Key is used to generate Access Tokens that are then used in all subsequent API calls.

Access Token Lifespan

For additional security, Access Tokens can be configured to expire after a pre-determined duration from the time they are generated, this is referred to as the Access Token Lifespan. Setting the Access Token Lifespan is done through the GoDataFeed Control Panel with the following options: “Never Expires”, “7 Days”, “14 Days” and “30 Days”.
It’s important to note that the developer of the consuming application has the option of generating access tokens as frequently as needed (once an hour, once a day, etc.); the more frequent a token is refreshed the more secure the consuming application will be.

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/Authorization");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{ \r\n  \"ConsumerKey\":\"{token}\" \r\n}", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

Example Response:

{
    "Success": true,
    "Message": "",
    "Token": "token"
}

https://api.godatafeed.com/v1/Authorization

Orders

Error Code Meaning
400 Only ‘CANCELLED’ or ‘SHIPPED’ status updates are allowed.

Retrieve Order Count

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/Orders/count?fromDate=2017-01-01T00%3A00%3A00&toDate=2017-01-01T23%3A59%3A59&status=NEW");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

{
  "Success": true,
  "Message": "",
  "Count": 118
}

This endpoint retrieves all orders.

HTTP Request

GET https://api.godatafeed.com/api/v1/orders/count

Query Parameters

Parameter Required Description
fromDate true The starting date for the request
toDate true The end date for the request
status false Accepted values: NEW, PROCESSING, SHIPPED and CANCELED

Retrieve All Orders

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/Orders?page=1&pageSize=1&fromDate=2017-01-01T00%3A00%3A00&toDate=2017-01-01T23%3A59%3A59&status=NEW");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

{
    "Success": true,
    "Message": "",
    "Orders": [
        {
            "OrderId": "tHbuSCBLMHNXP0VIYiycumodmWyfG6pj",
            "BuyerEmailAddress": "custom@er.com",
            "BuyerPhoneNumber": "1234567890",
            "DateCreatedInDestination": "2017-01-01T01:44:59.0753932Z",
            "DateCreatedInOrderSource": "2017-01-01T00:44:32Z",
            "DateShipped": "2017-01-02T16:28:00Z",
            "GrandTotal": 12.98,
            "OrderDestinationOrderNumber": "O12345",
            "OrderSource": "Amazon",
            "OrderSourceOrderNumber": "123-1234567-1234567",
            "PaymentTransactionId": null,
            "PaymentType": null,
            "ShipmentTrackingNumber": "12345678901234567890123456",
            "OrderItems": [
                {
                    "OrderItemId": "1uTXxLgsfP6kmKpkDGqQhSjkcPJZfsel",
                    "Sku": "ABC123",
                    "Name": "My Great Product",
                    "Quantity": 1,
                    "UnitPrice": 9.99,
                    "SaleTaxCost": 0,
                    "Discount": "0.00"
                }
            ],
            "BuyerUserId": null,
            "City": "Miami",
            "Country": "US",
            "FirstName": "Customer",
            "GiftWrapTotal": 0,
            "GiftWrapTaxTotal": 0,
            "LastName": "Customers",
            "PostalCode": "33172",
            "ShippingServiceName": "Standard Ground",
            "ShippingServiceValue": "UPS",
            "ShippingTotal": 2.99,
            "ShippingTaxTotal": 0,
            "ShipToCompanyName": null,
            "StateOrProvince": "FL",
            "Street1": "123 Fake Lane",
            "Street2": "",
            "SubTotal": 9.99,
            "SyncUserErrorMessage": "",
            "ShippingMethod": "MFNStandard",
            "DestinationShippingCarrier": "UPS",
            "OrderStatus": "Shipped",
            "SourceOrderStatus": "Shipped",
            "SyncStatus": "Enabled",
            "OrderSourceCustomerOrderNumber": null,
            "IsAmazonPrime": false
        }
    ]
}

This endpoint retrieves all orders.

HTTP Request

GET https://api.godatafeed.com/api/v1/orders

Query Parameters

Parameter Required Description
page true The page number to return
pageSize true The number of orders per page to return
fromDate true The starting date for the request
toDate true The end date for the request
status false Accepted values: NEW, PROCESSING, SHIPPED and CANCELED

Retrieve a Specific Order

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/Orders/{orderid}");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

{
    "Success": true,
    "Message": "",
    "Orders": [
        {
            "OrderId": "tHbuSCBAFAGSDVIYiycumodmWyfG6pj",
            "BuyerEmailAddress": "custom@er.com",
            "BuyerPhoneNumber": "1234567890",
            "DateCreatedInDestination": "2017-01-01T01:44:59.0753932Z",
            "DateCreatedInOrderSource": "2017-01-01T00:44:32Z",
            "DateShipped": "2017-01-02T16:28:00Z",
            "GrandTotal": 12.98,
            "OrderDestinationOrderNumber": "O12345",
            "OrderSource": "Amazon",
            "OrderSourceOrderNumber": "123-1234567-1234567",
            "PaymentTransactionId": null,
            "PaymentType": null,
            "ShipmentTrackingNumber": "12345678901234567890123456",
            "OrderItems": [
                {
                    "OrderItemId": "1uTXxLgsfP6kmKpkDGqQhSjkcPJZfsel",
                    "Sku": "ABC123",
                    "Name": "My Great Product",
                    "Quantity": 1,
                    "UnitPrice": 9.99,
                    "SaleTaxCost": 0,
                    "Discount": "0.00"
                }
            ],
            "BuyerUserId": null,
            "City": "Miami",
            "Country": "US",
            "FirstName": "Customer",
            "GiftWrapTotal": 0,
            "GiftWrapTaxTotal": 0,
            "LastName": "Customers",
            "PostalCode": "33172",
            "ShippingServiceName": "Standard Ground",
            "ShippingServiceValue": "UPS",
            "ShippingTotal": 2.99,
            "ShippingTaxTotal": 0,
            "ShipToCompanyName": null,
            "StateOrProvince": "FL",
            "Street1": "123 Fake Lane",
            "Street2": "",
            "SubTotal": 9.99,
            "SyncUserErrorMessage": "",
            "ShippingMethod": "MFNStandard",
            "DestinationShippingCarrier": "UPS",
            "OrderStatus": "Shipped",
            "SourceOrderStatus": "Shipped",
            "SyncStatus": "Enabled",
            "OrderSourceCustomerOrderNumber": null,
            "IsAmazonPrime": false
        }
    ]
}

This endpoint retrieves a specific order.

HTTP Request

GET https://api.godatafeed.com/v1/{token}/Orders/{orderid}

URL Parameters

Parameter Description
Token The API Token
orderid The unique orderid

Update an Order

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/Orders/{orderid}/UpdateStatus");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{ \r\n  \"OrderStatus\":\"Shipped\",\r\n \"ShipmentTrackingNumber\": \"Tracking123\", \r\n \"DateShipped\": \"2017-01-03\"}", ParameterType.RequestBody);

IRestResponse response = client.Execute(request);

Example Response:

{
  "Success": true,
  "Message": ""
}

This endpoint retrieves all orders.

HTTP Request

GET https://api.godatafeed.com/v1/{token}/Orders/{orderid}/UpdateStatus

Acknowledge an Order

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/Orders/{orderid}/AcknowledgeOrder?orderDestinationOrderNumber='{your_store_order_number}'");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");

IRestResponse response = client.Execute(request);

Example Response:

{
  "Success": true,
  "Message": ""
}

This endpoint acknowledges an order.

HTTP Request

PUT https://api.godatafeed.com/v1/{token}/Orders/{orderid}/AcknowledgeOrder?orderDestinationOrderNumber='{your_store_order_number}

Query Parameters

Parameter Required Description
orderDestinationOrderNumber true Store order number

Insert an Order

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/Orders/InsertOrder");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"OrderId\":\"\",\"BuyerEmailAddress\":\"buyeremail@marketplace.amazon.com\",\"BuyerPhoneNumber\":\"1234567890\",\"DateShipped\":null,\"OrderSource\":\"Amazon\",\"OrderSourceOrderNumber\":\"AMZ000003\",\"OrderStatus\":\" \",\"DateCreatedInOrderSource\":\"2016-05-31T17:02:07Z\",\"GrandTotal\":100,\"ShipmentTrackingNumber\":null,\"OrderDestinationOrderNumber\":null,\"DateCreatedInDestination\":null,\"OrderItems\":[{\"OrderItemId\":\"\",\"Sku\":\"SKU01\",\"Name\":\"sku description\",\"Quantity\":4,\"UnitPrice\":25}],\"ShipToCompanyName\":\"\",\"FirstName\":\"Sam\",\"LastName\":\"Matthews\",\"Street1\":\"123 city garden lane\",\"Street2\":\" \",\"City\":\"Providence\",\"StateOrProvince\":\"MA\",\"Country\":\"US\",\"PostalCode\":\"02901\",\"ShippingServiceName\":\"First Class Email\",\"ShippingServiceValue\":\"First Class Email\",\"SubTotal\":100.95,\"ShippingTotal\":4.95,\"ShippingTaxTotal\":0.6,\"SyncUserErrorMessage\":null,\"GiftWrapTotal\":4.99,\"GiftWrapTaxTotal\":2.99,\"BuyerUserId\":null,\"PaymentTransactionId\":\"1022222-1454538-0354615\"}");

IRestResponse response = client.Execute(request);

Example Response:

{
  "Success": true,
  "Message": ""
}

This endpoint inserts an order.

HTTP Request

PUT https://api.godatafeed.com/v1/{token}/Orders/InsertOrder

Put Parameters

Parameter Required Description

Feeds

Retrieve Feed Count

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/feeds/count");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

{
  "Success": true,
  "Message": "",
  "Count": 10
}

This endpoint retrieves count of feeds.

HTTP Request

GET https://api.godatafeed.com/api/v1/feeds/count

Query Parameters

Parameter Required Description
filterQuery false Search for a feed by name

Retrieve a Specific Feed

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/feeds/{feedId}");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

{
    "Success": true,
    "Message": "",
    "Feeds": [
        {
            "FeedId": "eWplRm5yc1VvN2FtNW5jUWFOVWJuUT09",
            "Name": "Amazon US - Clothing, Accessories & Luggage",
            "Status": "Completed",
            "FileName": "Clothing-feed.txt",
            "DateLastCompiled": "2017-11-17T08:51:06.25Z",
            "DateLastSubmitted": "2017-11-17T08:51:09.907Z",
            "DateLastPulled": null,
            "CompilationTotalCount": 10000,
            "CompilationValidCount": 10000,
            "CompilationWarningCount": 3,
            "CompilationErrorCount": 0,
            "Score": 0
        }
    ]
}

This endpoint retrieves a specific feed.

HTTP Request

GET https://api.godatafeed.com/v1/{token}/feeds/{feedId}

URL Parameters

Parameter Description
Token The API Token
feedId The unique feedId

Retrieve List of Feeds

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/feeds?page=1&pageSize=100");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

{
    "Success": true,
    "Message": "",
    "Feeds": [
        {
            "FeedId": "dff53c781388432c9a59d8baf7e14a39",
            "Name": "Amazon US - Clothing, Accessories & Luggage",
            "Status": "Completed",
            "FileName": "Clothing-feed.txt",
            "DateLastCompiled": "2017-11-17T08:51:06.25Z",
            "DateLastSubmitted": "2017-11-17T08:51:09.907Z",
            "DateLastPulled": null,
            "CompilationTotalCount": 5546,
            "CompilationValidCount": 3496,
            "CompilationWarningCount": 2050,
            "CompilationErrorCount": 0,
            "Score": 0
        },
        ...
        {
            "FeedId": "8ef89df69a0347648b32d9ba52839a24",
            "Name": "Amazon US - Shoes, Eyewear, Handbags & Wallets",
            "Status": "Completed",
            "FileName": "product-feed.txt",
            "DateLastCompiled": "2017-11-17T12:44:24.823Z",
            "DateLastSubmitted": "2017-11-17T12:59:27.893Z",
            "DateLastPulled": null,
            "CompilationTotalCount": 2700,
            "CompilationValidCount": 2425,
            "CompilationWarningCount": 275,
            "CompilationErrorCount": 0,
            "Score": 0
        }
    ]
}

This endpoint retrieves a specific feed.

HTTP Request

GET https://api.godatafeed.com/v1/{token}/feeds/

URL Parameters

Parameter Required Description
Token true The API Token
page true The page number to return
pageSize true The number of feeds per page to return
filterQuery true Filter the results by the feed name

Download a Specific Feed

Example Request:

using RestSharp;

var client = new RestClient("https://api.godatafeed.com/v1/{token}/feeds/{feedId}/download");
var request = new RestRequest(Method.GET);
request.AddHeader("content-type", "application/json");
IRestResponse response = client.Execute(request);

Example Response:

The feed file containing compiled product data.  The format is either CSV or tab delimited text.  The file format is determined in the feed setup.

This endpoint downloads a specific feed.

HTTP Request

GET https://api.godatafeed.com/v1/{token}/feeds/{feedid}/download

Errors

The GoDataFeed API uses the following error codes:

Error Code Meaning
400 Bad Request – Your request is invalid.
401 Unauthorized – Your API key is not authorized.
403 Forbidden – The endpoint requested is hidden for administrators only.
404 Not Found – The specified endpoint could not be found.
405 Method Not Allowed – You tried to access an endpoint with an invalid method.
406 Not Acceptable – You requested a format that isn’t json.
410 Gone – The endpoint requested has been removed from our servers.
429 Too Many Requests – Slow down!
500 Internal Server Error – We had a problem with our server. Try again later.
503 Service Unavailable – We’re temporarily offline for maintenance. Please try again later.