Deere ETags

If your client will be making frequent/regular calls to this resource to check for updates to a list, you can use the Deere ETAG function to do this check, instead of having your app loop through each data point. This feature is available for all lists retrievable through MyJohnDeere API. To use this function: include X-Deere-Signature as a request header.
  1. Include X-Deere-Signature as a request header.
  2. The response header will include a GUID. Send the request again with this GUID as the value for the X-Deere-Signature header.
  3. If there are no changes to the list (including new, deleted, and data points), then the resource will return 304 Not Modified. If there are changes to the list, it will return only the changed data, along with a new GUID. You must use this new GUID in your next request.
Deere ETags are retained by John Deere for forty-five days. If a Deere ETag is no longer retained, the response will include the whole list. The same will occur if the signature used is not found.
 
Sample Request with Deere ETAG Header Element
GET https://apicert.soa-proxy.deere.com/platform/organizations/1234/files

Accept: application/vnd.deere.axiom.v3+json
X-Deere-Signature:
Authorization: OAuth realm="",oauth_timestamp="1430854678",oauth_nonce="wB7vVS",
oauth_consumer_key="some value", oauth_token="some value",oauth_version="1.0",oauth_signature_method="HMAC-SHA1", oauth_signature="UgbITrrRALPXVRgeOticlikQ3sM%3D"
 
Sample Response Header with GUID
200 OK

Pragma: no-cache
Date: Tue, 05 May 2015 19:37:58 GMT
Server: Apache-Coyote/1.1
X-Deere-Handling-Server: ldxctc1
X-Deere-Elapsed-Ms: 225
X-Frame-Options: SAMEORIGIN
x-deere-signature: 52012236-5ebb-4870-a344-784570d202c7
Content-Language: en-US
Cache-Control: no-cache, no-store, max-age=0
Transfer-Encoding: chunked
Connection: Keep-Alive
Content-Type: application/vnd.deere.axiom.v3+json;charset=UTF-8
Keep-Alive: timeout=5, max=100
Expires: Thu, 01 Jan 1970 00:00:00 GMT
 
Sample Request with Deere ETAG & GUID
GET https://apicert.soa-proxy.deere.com/platform/organizations/1234/files

Accept: application/vnd.deere.axiom.v3+json
X-Deere-Signature: 52012236-5ebb-4870-a344-784570d202c7
Authorization: OAuth realm="",oauth_timestamp="1430854678",oauth_nonce="wB7vVS",
oauth_consumer_key="some value", oauth_token="some value",oauth_version="1.0",oauth_signature_method="HMAC-SHA1", oauth_signature="UgbITrrRALPXVRgeOticlikQ3sM%3D"
 
Sample Response: No Changes
304 Not Modified

Date: Tue, 05 May 2015 19:53:00 GMT
Cache-Control: no-cache, no-store, max-age=0
Server: Apache-Coyote/1.1
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
Expires: Thu, 01 Jan 1970 00:00:00 GMT
 
Sample Response: Deleted Files
200 OK

Date: Fri, 04 Sep 2015 15:52:14 GMT
Server: Apache-Coyote/1.1
X-Deere-Handling-Server: lsdeqtc1
X-Frame-Options: SAMEORIGIN
x-deere-signature: d3ee8121-54c7-47b6-8c62-81796d5889e7
X-Deere-Elapsed-Ms: 454
Pragma: no-cache
Cache-Control: no-cache, no-store, max-age=0
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Type: application/vnd.deere.axiom.v3+json;charset=UTF-8
Content-Language: en-US
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked

{
   "links": [
      {
         "rel": "self",
         "uri": " https://apicert.soa-proxy.deere.com/platform/organizations/234578/files"
      }
   ],
   "total": 1,
   "values": [
      {
         "links": [
            {
               "rel": "delete",
               "uri": " https://apicert.soa-proxy.deere.com/platform/organizations/234578/files/20201112"
            }
         ],
         "id": "20201112"
      }
   ]
}