Access Key
An Access Key is issued from Raven via the Slingshot Portal Server to Slingshot customers. A Slingshot portal account is required to request an Access Key. Access Keys are used to grant access to a customer's Slingshot data and are provided to ISV's by Slingshot customers and may be revoked by the Slingshot customer at any time.
Access Key - Summary
When accessing /AccessKey via GET, the Slingshot API Server will return an XML document that contains the summary data of the Access Key contained in the request headers. This data can be used to determine the cause of any 'Invalid Access Key' messages from the server.
API Calls
The platform offers API calls to access several types of data, such as:
Authentication
All requests to the Slingshot API Server will contain the following custom HTTP headers:
Authorization
After a request is authenticated, an authorization check will be performed using the Access Key that is part of the request. This Access Key will be used to control how much data will be returned to the client based on the account delegation configuration on the Slingshot Portal Server.
Binary Data
One of the three major response types.
Compressed Responses
The Slingshot API supports the compression of JSON / XML responses. To use response compression, set the standard http header Accept-Encoding to either gzip or deflate and the Slingshot API server will compress the data before sending it to the client.
Data Configurations
Documentation and references for potential configurations of the data utilized by Slingshot API.
Determining a Field Computer Location
Getting the GPS Location of a Field Computer consists of 2 steps:
Determining Units of Measure
The slingshot API will return differing UOMs depending on the display which produced the file and the method of application being performed. File information is provided by the Job Data - Detail endpoint.
Development
An API Key is issued by Raven to qualified ISV partners that intend on developing solutions using Slingshot data. A corresponding Shared Secret is issued at the same time. The API Key and the Shared Secret are a matched set and uniquely identify the ISV to Raven Industries Inc. The API Key and Shared Secret are available only after a completed and signed ISV agreement has been executed.
Differences from Prior Versions
There may be several notable differences between different versions of Slingshot API. For example, the current version has a number of changes in comparison to previous versions.
Encryption
Every request to the production Slingshot API Servers must be encrypted via SSL.
Error Handling
The table below defines common error codes encountered in Slingshot responses.
Field Computer - All Locations for One
A Field Computer registers its GPS location every five minutes.
Field Computer - Current Location for All
A Field Computer registers its GPS location every five minutes.
Field Computer - Current Location for One
A Field Computer registers its GPS location every five minutes.
Field Computer - Detail
When accessing /FieldComputers/ via GET, the Slingshot API Server will respond with a Field Computer Details XML document that describes the details of the Field Computer identified by {id}. Viper Pro and Envizio Pro are not supported. FieldHubID identifies the ID of the last Field Hub that was connected to that Field Computer.
Field Computer - Job Data
Each Field Computer can have many files associated with it. Some of these files come from the Field Computer itself such as As Applied Files and Yield Data (referred to as Job Data by the API). Others are sent to the Field Computer, such as Prescription Maps. The Slingshot API provides methods for manipulating the Field Computer associations of these files.
Field Computer - Prescription Maps
Each Field Computer can have many files associated with it. Some of these files come from the Field Computer itself such as As Applied Files and Yield Data (referred to as Job Data by the API). Others are sent to the Field Computer, such as Prescription Maps, AgX recommendations and work orders. The Slingshot API provides methods for manipulating the Field Computer associations of these files.
Field Computer - Summary
When accessing /FieldComputers URI via GET, the Slingshot API Server will return an XML document that contains the summary data of all Field Computers that are assigned to the API Key and Access Key contained in the request headers. This data will contain URI values that point to the details for each Field Computer in the list.
Field Hub - Current Location
A Field Hub reports its GPS location to the server every 30 seconds. When accessing /FieldHubs/:id/CurrentLocation via GET, the Slingshot API Server will return an XML document that contains the current most recent location registered for the Field Hub identified by .
Field Hub - Current Location for All
A Field Hub registers its GPS location every 30 seconds. When accessing /FieldHubs/all/CurrentLocation via GET, the Slingshot API Server will return an XML document that contains the most recent location of all the Field Hubs that are assigned to the API Key and Access Key contained in the request headers.
Field Hub - Detail
When accessing /FieldHubs/ via GET, the Slingshot API Server will respond with a Slingshot Index document that describes the details of the Field Hub identified by {id}.
Field Hub - Last Report for All
When accessing /FieldHubs/all via GET, the Slingshot API Server will return an XML document that contains all the last report for all Field Hubs that have been registered for the Field Hubs that are assigned to the API Key and Access Key contained in the request headers.
Field Hub - Location History
A Field Hub reports its GPS location to the server every 30 seconds. When accessing /FieldHubs/:id/Locations via GET, the Slingshot API Server will return a document that contains all the locations that have been registered for the Field Hub identified by in descending order.
Field Hub - Summary
When accessing /FieldHubs URI via GET, the Slingshot API Server will return a Slingshot Index document that contains the summary data of all Field Hubs that are assigned to the Access Key contained in the request headers. This data will contain URI values that point to the details for each Field Hub in the list.
Field Hub Data
Most of the Field Hub related API calls will return data that is coming into the Slingshot system from the Field Hub itself. This page will help interpret those values.
General Information
Slingshot supports a hardware and software ecosystem allowing greater control of ag retail operations. The platform allows users to quickly analyze information so that they can make quicker decisions and more efficiently manage their operations.
Generating a Signature
The most difficult part of building a proper request to the API is building the signature and signing it with a shared secret. In any language, a properly signed signature for the request should be generated using the following steps:
Getting Started
Documentation to help users get started with working and developing with Slingshot API.
Glossary
The table below contains Slingshot-related terms. Their abbreviations and definitions are also listed.
Grain Cart - Detail
When accessing /GrainCart/ via GET, the Slingshot API Server will respond with the GrainCart details in XML/JSON format. This same call will respond with file data if the query string has format parameter like /GrainCart/{id}?format=bin. The value of the parameter controls the format of the returned data.
Grain Cart - Summary
When accessing /GrainCart via GET, the Slingshot API Server will return a XML document that contains summary data.
Grain Cart - Upload
When accessing /GrainCart via POST, the Slingshot API Server will expect the request body to consist of a file with GRC extension that contains Grain Cart data from a bridge device.
Job Data
For any type of job, several details can be noted.
Job Data - Detail
When accessing /JobData/ via GET, the Slingshot API Server will respond with the Job Data details in XML/JSON format. This same call will respond with binary a file if the query string has format parameter like /JobData/{id}?format=bin. The value of the parameter controls the format of the returned data.
Job Data - Prescription Maps
When accessing /JobData//PrescriptionMaps via GET, the Slingshot API Server will return an XML document that contains a list of Prescription Map summaries that were used to generate the Job Data file referenced by {id}. Additional details regarding these Prescription Maps can be retrieved by issuing a GET request on any of these returned URIs.
Job Data - Summary
When accessing /JobData via GET, the Slingshot API Server will return a document that contains the summary data of all As Applied Files that are assigned to the Access Key contained in the request headers. This data will contain URI values that point to the details for each As Applied File in the list. Job Data Summary is returned in created date descending order.
Job Data - Upload
When accessing /JobData via POST, the Slingshot API Server will expect the request body to consist of a compressed container (a ZIP file) that contains Job Data from a Field Computer. Complex file with multiple directories zipped into a single archive is not supported by the API.
JSON Format
If JSON is preferred, set the standard http header Accept to the value application/json and the Slingshot API server will send all non-binary responses to the client in JSON format.
Prescription Maps - Detail
When accessing /PrescriptionMaps/ via GET, the Slingshot API Server will respond with a XML/json document that contains the details of the file.
Prescription Maps - Summary
When accessing /PrescriptionMaps via GET, the Slingshot API Server will return a XML document with summary data.
Prescription Maps - Upload
When accessing /PrescriptionMaps via POST, if the FileType is 'RX' the Slingshot API Server will expect the request body to consist of a compressed container (a ZIP file) that contains a single shape file presented as .shp, .shx, \*.dbf. Complex file with multiple shape files zipped into a single archive is not supported by the API. If the FileType is AGX then the file can either be a simple or complex file and must have .rdp.zip extension.
Rate Limiting
In order to prevent abuse, all calls to the API are subject to a rate limit of 30 calls per every 60 seconds.
Response Configurations
Documentation and references regarding the potential configurations of responses delivered by Slingshot API.
Response Formats
Documentation and references regarding the potential response formats encountered when using Slingshot API.
Result Set Paging
Result set paging is supported for some API calls. The number of results returned and the relative starting offset of the result set is controlled by several parameters.
Security
Documentation regarding details around security when utilizing Slingshot API.
Sending an Rx Map to a Field Computer
To determine the ID of the Field Computer that should receive the Rx Map, the API Client needs to issue a GET request to the /FieldComputers URI and allow the user to choose the Field Computer from their list of Field Computers. The response to a GET request to the /FieldComputers URI will be:
Service Unavailable
An error response where the server returns a 503 HTTP response indicating database issues.
Slingshot API
<BlockImageView
Slingshot Questions
Below are commonly asked questions related to the Slingshot API.
SlingshotIndex
One of the three major response types.
SlingshotResponse
One of the three major response types.
Tutorials
Documented guides to assist with specific use cases involving Slingshot API.
XML Format
If XML is preferred, set the standard http header Accept to the value text/xml and the Slingshot API server will send all non-binary responses to the client in XML format.