From 75551162c4f24e639d10403415a11dd3733c1ace Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Fri, 10 Apr 2020 10:06:18 +0000 Subject: [PATCH 1/7] Update page 'VRANbs API' --- VRANbs-API.md | 1 - 1 file changed, 1 deletion(-) diff --git a/VRANbs-API.md b/VRANbs-API.md index 3ebf191..fa4c2d8 100644 --- a/VRANbs-API.md +++ b/VRANbs-API.md @@ -154,7 +154,6 @@ POST /api/v1/items/{code}/tasks "inputCode": "{itemCode}", "plantingDate": "2020-02-01T00:00:00.000Z", "measurementDate": "2020-06-01T00:00:00.000Z", - "inputType": "irmi", // yara, ci, irmi or wdvi "purposeType": "consumption", // consumption, fries, potato, starch "targetYield": "60" } From 0da4b01ceaacd3619eda0379d402146f77534439 Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Wed, 15 Apr 2020 09:12:34 +0000 Subject: [PATCH 2/7] Update page 'VraHerbicide API' --- VraHerbicide-API.md | 295 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 VraHerbicide-API.md diff --git a/VraHerbicide-API.md b/VraHerbicide-API.md new file mode 100644 index 0000000..fa4c2d8 --- /dev/null +++ b/VraHerbicide-API.md @@ -0,0 +1,295 @@ +## VRANbs API v0.2 +[<< Home](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Home) + +FarmMaps is an asynchronous architecture, the API flow keeps this in mind. +The API expects that all data is already processed and available provided, for example through the normal FarmMaps flow (frontend). + +For the currently available public FarmMaps API you can take a look at swagger: http://farmmaps.awtest.nl/swagger/index.html + +**Limitations** +* Currently VRANbs only accepts input tiffs in WGS84/EPSG4326 +* Data isn't automatically deleted as farmmaps has no support for this. + * But API users can delete their own items through the farmmaps API. + +**Input preperation** +* Users can upload their own data if needed. (in case of when FarmMaps has not processed the required data). + * The farmmaps file API can be used for this. + +**Users can poll the task api to see if a task is completed** +**This can be achieved with the task execution id obtained from calling the 'ItemTask' API.** +[Poll task status](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Polling-task-status) + +**Users can query the API for child items of a cropfield to see what items it has.** + +### API flow +* Authenticate User +* Optional steps + * *Create cropfield through FarmMaps API* + * Item 'vnd.farmmaps.itemtype.cropfield' must be created with its data as specified in the api. + * Task 'vnd.farmmaps.task.workflow' needs to be executed to aggregate all needed data. + * This is an asynchronous process and can take a while before all data is collected in FarmMaps. + * *Upload own data* + * IF shape data, convert to geotiff. + * *Create 'vnd.farmmaps.itemtype.user.input' item for targetn calculation.* + * *Task 'vnd.farmmaps.task.vranbs' can be executed with the 'targetn' operation* + * *Task 'vnd.farmmaps.task.vranbs' can be executed with 'uptake' operation* to create an nitrogen uptake map. +* Task 'vnd.farmmaps.task.vranbs' must be executed with 'nitrogen' operation to create an appliance map. +* Task 'vnd.farmmaps.task.taskmap' can be executed to create a taskmap. +* Download item data (tiff of shape) + +### Steps +[Authentication](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Authentication) + +##### Optional +[Create Cropfield](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Create-Cropfield) +[Upload Data](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Upload-Data) + +###### Transform shape to geotiff +The VRANbs task only processes tiff items as input. +If your input data is a processed shape file it first needs to be converted to geotiff, this can be done with the 'ShapeToGeoTiffTask'. + +Pass the code of the shape item into the {code} parameter, this creates a new item with tiff data as the parent of the shape item. +This new geotiff item should be used as input to the vranbs task. + +> Request +```javascript +POST /api/v1/items/{code}/tasks +{ + "taskType": "vnd.farmmaps.task.shapetogeotiff" +} +``` +> Response 201 +```javascript +{ + "code": "string", + "taskType": "vnd.farmmaps.task.shapetogeotiff" +} +``` + +Response 400 Tasktype not found +Response 401 Not authenticated +Response 403 No WRITE permissions in item +Response 404 Item not found + +##### Using VRA Nitrogen fertilization task +The VraNbs task currently supports 3 operations: +* **targetn** - calculates the target nitrogen based on target yield. +* **uptake** - creates the nitrogen uptake map. +* **application** - creates the nitrogen fertilization application map. + +###### targetn operation +Create a 'vnd.farmmaps.itemtype.user.input' item to use in this operation. +(step not needed if you already know the target nitrogen you want to work with.) +The user.input item must parent the '{user_code}:USER_IN' item and can be obtained by calling following request: + +> Request +```javascript +GET /api/v1/Folders/my_uploads +``` +> Response 201 +```javascript +{ + "url": "/api/v1/folders/{user_code}:USER_IN", + "code": "{user_code}:USER_IN", + "name": "Uploaded", + "created": "2020-03-04T14:41:41.099557", + "updated": "2020-03-04T14:41:41.099557", + "itemType": "FOLDER", + "size": 0, + "state": 0, + "thumbnail": false +} +``` + +**Create item** +Create user.input item, pass just obtained parent code as parameter in {user_code}. +> Request +```javascript +POST /api/v1/items +{ + "parentCode": "{user_code}:USER_IN", + "itemType": "vnd.farmmaps.itemtype.user.input", + "name": "TargetN", + "dataDate": "2020-03-02T14:22:09.265Z" +} +``` + +> Response 201 Created +```javascript +{ + "parentCode": "string", + "geometry": {}, + "data": {}, + "tags": [ + "string" + ], + "url": "string", + "code": "string", + "name": "string", + "created": "2019-12-18T10:16:21.455Z", + "updated": "2019-12-18T10:16:21.455Z", + "dataDate": "2019-12-18T10:16:21.455Z", + "itemType": "string", + "sourceTask": "string", + "size": 0, + "state": 0, + "thumbnail": true +} +``` +Response 401 Not authenticated +Response 403 No WRITE permissions in parent item +Response 404 Parent Item not found + + +**Call the vranbs task** +Execute the VRANbsTask with the item code of the cropfield as parameter inside {code}. +Use the code obtained from creating the user.input item as a parameter in {itemCode}. +> Request +```javascript +POST /api/v1/items/{code}/tasks +{ + "taskType": "vnd.farmmaps.task.vranbs", + "attributes": { + "operation": "targetn", + "inputCode": "{itemCode}", + "plantingDate": "2020-02-01T00:00:00.000Z", + "measurementDate": "2020-06-01T00:00:00.000Z", + "purposeType": "consumption", // consumption, fries, potato, starch + "targetYield": "60" + } +} +``` +> Response 201 +```javascript +{ + "code": "string", + "taskType": "vnd.farmmaps.task.workflow" +} +``` + +Response 400 Tasktype not found +Response 401 Not authenticated +Response 403 No WRITE permissions in item +Response 404 Item not found + +**Query user.input targetN item** +You can query the user.input item to get the calculated targetN value from the data field of the item. +> Request +```javascript +GET /api/v1/items/{code} +``` + +> Response 200 +```javascript +{ + "parentCode": "string", + "geometry": {}, + "data": { + "TSum": "2700", + "TargetYield": "60", + "TargetN": "249.2341" + }, + "tags": [ + "string" + ], + "url": "string", + "code": "string", + "name": "TargetN", + "created": "2019-12-18T10:16:21.455Z", + "updated": "2019-12-18T10:16:21.455Z", + "dataDate": "2019-12-18T10:16:21.455Z", + "itemType": "vnd.farmmaps.itemtype.user.input", + "sourceTask": "string", + "size": 0, + "state": 0, + "thumbnail": true +} +``` + + +###### Uptake map operation +Execute the VRANbsTask with the item code of the cropfield as parameter inside {code}. +Use the input map code inside {itemCode}, specifying an inputCode for the input data item. + +{itemCode} needs the code of the data input item passed into it. ex. uploaded isaria/data data. +The resulting nitrogen uptake map will be created as a child item under the cropfield item (this can be queried). +> Request +```javascript +POST /api/v1/items/{code}/tasks +{ + "taskType": "vnd.farmmaps.task.vranbs", + "attributes": { + "operation": "uptake", + "inputCode": "{itemCode}", + "plantingDate": "2020-02-01T00:00:00.000Z", + "measurementDate": "2020-06-01T00:00:00.000Z", + "inputType": "irmi", // yara, ci, irmi or wdvi + } +} +``` +> Response 201 +```javascript +{ + "code": "string", // code of task operation, can be queried for status + "taskType": "vnd.farmmaps.task.vranbs", + "attributes": { + "operation": "uptake", + "inputCode": "{itemCode}", + "inputType": "irmi", // yara, ci, irmi or wdvi + } +} +``` + +Response 400 Tasktype not found +Response 401 Not authenticated +Response 403 No WRITE permissions in item +Response 404 Item not found + +###### Application map operation +Execute the VRANbsTask with the item code of the cropfield as parameter inside {code}. +Use the input map code inside {itemCode}, specifying an inputCode for the input data item. + +{itemCode} needs the code of the data input item passed into it. ex. uploaded isaria/data data. +The resulting nitrogen application map will be created as a child item under the cropfield item (this can be queried). +> Request +```javascript +POST /api/v1/items/{code}/tasks +{ + "taskType": "vnd.farmmaps.task.vranbs", + "attributes": { + "operation": "application", + "inputCode": "{itemCode}", + "plantingDate": "2020-02-01T00:00:00.000Z", + "measurementDate": "2020-06-01T00:00:00.000Z", + "inputType": "irmi", // yara, ci, irmi or wdvi + "targetN": "249.22948" + } +} +``` +> Response 201 +```javascript +{ + "code": "string", // code of task operation, can be queried for status + "taskType": "vnd.farmmaps.task.vranbs", + "attributes": { + "operation": "nitrogen", + "inputCode": "{itemCode}", + "inputType": "irmi", // yara, ci, irmi or wdvi + "targetN": "249.22948" + } +} +``` + +Response 400 Tasktype not found +Response 401 Not authenticated +Response 403 No WRITE permissions in item +Response 404 Item not found + +##### Create taskmap +[Create Taskmap](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Create-Taskmap) + +##### Download the data +In case the data is available it can be downloaded with the File API. +> Request +```javascript +GET /api/v1/items/{itemcode}/data \ No newline at end of file From 7577687972422be0be37886040e76b9d34b9f4ba Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Wed, 15 Apr 2020 09:12:47 +0000 Subject: [PATCH 3/7] Update page 'VRAHerbicide API' --- VraHerbicide-API.md => VRAHerbicide-API.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename VraHerbicide-API.md => VRAHerbicide-API.md (100%) diff --git a/VraHerbicide-API.md b/VRAHerbicide-API.md similarity index 100% rename from VraHerbicide-API.md rename to VRAHerbicide-API.md From 0dc2c6fe93a0dc00a9800adb8e9a0c0fc979f1e6 Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Wed, 15 Apr 2020 10:39:54 +0000 Subject: [PATCH 4/7] Update page 'VRAHerbicide API' --- VRAHerbicide-API.md | 239 ++++++++------------------------------------ 1 file changed, 40 insertions(+), 199 deletions(-) diff --git a/VRAHerbicide-API.md b/VRAHerbicide-API.md index fa4c2d8..a1a7abc 100644 --- a/VRAHerbicide-API.md +++ b/VRAHerbicide-API.md @@ -1,4 +1,4 @@ -## VRANbs API v0.2 +## VRAHerbicide API [<< Home](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Home) FarmMaps is an asynchronous architecture, the API flow keeps this in mind. @@ -6,11 +6,6 @@ The API expects that all data is already processed and available provided, for e For the currently available public FarmMaps API you can take a look at swagger: http://farmmaps.awtest.nl/swagger/index.html -**Limitations** -* Currently VRANbs only accepts input tiffs in WGS84/EPSG4326 -* Data isn't automatically deleted as farmmaps has no support for this. - * But API users can delete their own items through the farmmaps API. - **Input preperation** * Users can upload their own data if needed. (in case of when FarmMaps has not processed the required data). * The farmmaps file API can be used for this. @@ -30,10 +25,7 @@ For the currently available public FarmMaps API you can take a look at swagger: * This is an asynchronous process and can take a while before all data is collected in FarmMaps. * *Upload own data* * IF shape data, convert to geotiff. - * *Create 'vnd.farmmaps.itemtype.user.input' item for targetn calculation.* - * *Task 'vnd.farmmaps.task.vranbs' can be executed with the 'targetn' operation* - * *Task 'vnd.farmmaps.task.vranbs' can be executed with 'uptake' operation* to create an nitrogen uptake map. -* Task 'vnd.farmmaps.task.vranbs' must be executed with 'nitrogen' operation to create an appliance map. +* Task 'vnd.farmmaps.task.vraherbicide' must be executed to create an application map. * Task 'vnd.farmmaps.task.taskmap' can be executed to create a taskmap. * Download item data (tiff of shape) @@ -45,11 +37,11 @@ For the currently available public FarmMaps API you can take a look at swagger: [Upload Data](https://git.akkerweb.nl/FarmMaps/Documentatie/wiki/Upload-Data) ###### Transform shape to geotiff -The VRANbs task only processes tiff items as input. +The VRAHerbicide task only processes tiff items as input. If your input data is a processed shape file it first needs to be converted to geotiff, this can be done with the 'ShapeToGeoTiffTask'. Pass the code of the shape item into the {code} parameter, this creates a new item with tiff data as the parent of the shape item. -This new geotiff item should be used as input to the vranbs task. +This new geotiff item should be used as input to the a task. > Request ```javascript @@ -71,159 +63,36 @@ Response 401 Not authenticated Response 403 No WRITE permissions in item Response 404 Item not found -##### Using VRA Nitrogen fertilization task -The VraNbs task currently supports 3 operations: -* **targetn** - calculates the target nitrogen based on target yield. -* **uptake** - creates the nitrogen uptake map. -* **application** - creates the nitrogen fertilization application map. +###### Querying predefined herbicide agents. -###### targetn operation -Create a 'vnd.farmmaps.itemtype.user.input' item to use in this operation. -(step not needed if you already know the target nitrogen you want to work with.) -The user.input item must parent the '{user_code}:USER_IN' item and can be obtained by calling following request: - -> Request -```javascript -GET /api/v1/Folders/my_uploads -``` -> Response 201 -```javascript -{ - "url": "/api/v1/folders/{user_code}:USER_IN", - "code": "{user_code}:USER_IN", - "name": "Uploaded", - "created": "2020-03-04T14:41:41.099557", - "updated": "2020-03-04T14:41:41.099557", - "itemType": "FOLDER", - "size": 0, - "state": 0, - "thumbnail": false -} -``` - -**Create item** -Create user.input item, pass just obtained parent code as parameter in {user_code}. -> Request -```javascript -POST /api/v1/items -{ - "parentCode": "{user_code}:USER_IN", - "itemType": "vnd.farmmaps.itemtype.user.input", - "name": "TargetN", - "dataDate": "2020-03-02T14:22:09.265Z" -} -``` - -> Response 201 Created -```javascript -{ - "parentCode": "string", - "geometry": {}, - "data": {}, - "tags": [ - "string" - ], - "url": "string", - "code": "string", - "name": "string", - "created": "2019-12-18T10:16:21.455Z", - "updated": "2019-12-18T10:16:21.455Z", - "dataDate": "2019-12-18T10:16:21.455Z", - "itemType": "string", - "sourceTask": "string", - "size": 0, - "state": 0, - "thumbnail": true -} -``` -Response 401 Not authenticated -Response 403 No WRITE permissions in parent item -Response 404 Parent Item not found - - -**Call the vranbs task** -Execute the VRANbsTask with the item code of the cropfield as parameter inside {code}. -Use the code obtained from creating the user.input item as a parameter in {itemCode}. -> Request -```javascript -POST /api/v1/items/{code}/tasks -{ - "taskType": "vnd.farmmaps.task.vranbs", - "attributes": { - "operation": "targetn", - "inputCode": "{itemCode}", - "plantingDate": "2020-02-01T00:00:00.000Z", - "measurementDate": "2020-06-01T00:00:00.000Z", - "purposeType": "consumption", // consumption, fries, potato, starch - "targetYield": "60" - } -} -``` -> Response 201 -```javascript -{ - "code": "string", - "taskType": "vnd.farmmaps.task.workflow" -} -``` - -Response 400 Tasktype not found -Response 401 Not authenticated -Response 403 No WRITE permissions in item -Response 404 Item not found - -**Query user.input targetN item** -You can query the user.input item to get the calculated targetN value from the data field of the item. -> Request -```javascript -GET /api/v1/items/{code} -``` - -> Response 200 -```javascript -{ - "parentCode": "string", - "geometry": {}, - "data": { - "TSum": "2700", - "TargetYield": "60", - "TargetN": "249.2341" - }, - "tags": [ - "string" - ], - "url": "string", - "code": "string", - "name": "TargetN", - "created": "2019-12-18T10:16:21.455Z", - "updated": "2019-12-18T10:16:21.455Z", - "dataDate": "2019-12-18T10:16:21.455Z", - "itemType": "vnd.farmmaps.itemtype.user.input", - "sourceTask": "string", - "size": 0, - "state": 0, - "thumbnail": true -} -``` - - -###### Uptake map operation -Execute the VRANbsTask with the item code of the cropfield as parameter inside {code}. +###### Creating an application map with the VRAHerbicide task +Execute the task with the item code of the cropfield as parameter inside {code}. Use the input map code inside {itemCode}, specifying an inputCode for the input data item. -{itemCode} needs the code of the data input item passed into it. ex. uploaded isaria/data data. -The resulting nitrogen uptake map will be created as a child item under the cropfield item (this can be queried). +{itemCode} needs the code of the data input item passed into it. +An **optional** {extraItemCode} can be passed inside the 'extraInputcode' field to process herbicide from 2 inputs. +The resulting application map will be created as a child item of the cropfield item (this can be queried). > Request ```javascript POST /api/v1/items/{code}/tasks { - "taskType": "vnd.farmmaps.task.vranbs", + "taskType": "vnd.farmmaps.task.vraherbicide", "attributes": { - "operation": "uptake", "inputCode": "{itemCode}", - "plantingDate": "2020-02-01T00:00:00.000Z", - "measurementDate": "2020-06-01T00:00:00.000Z", - "inputType": "irmi", // yara, ci, irmi or wdvi + "extraInputCode": "{extraItemCode}", + "agent": { + "SoilType": "Dalgrond", + "ExtraInputType": "Lutum", + "MinDosis": 2, + "MaxDosis": 3, + "A": 0.1428, + "B": 1.285714, + "C": 1, + "D": 97, + "E": 3, + "P": 1, + "Crop": "Zetmeelaardappelen" + } } } ``` @@ -231,51 +100,23 @@ POST /api/v1/items/{code}/tasks ```javascript { "code": "string", // code of task operation, can be queried for status - "taskType": "vnd.farmmaps.task.vranbs", + "taskType": "vnd.farmmaps.task.vraherbicide", "attributes": { - "operation": "uptake", "inputCode": "{itemCode}", - "inputType": "irmi", // yara, ci, irmi or wdvi - } -} -``` - -Response 400 Tasktype not found -Response 401 Not authenticated -Response 403 No WRITE permissions in item -Response 404 Item not found - -###### Application map operation -Execute the VRANbsTask with the item code of the cropfield as parameter inside {code}. -Use the input map code inside {itemCode}, specifying an inputCode for the input data item. - -{itemCode} needs the code of the data input item passed into it. ex. uploaded isaria/data data. -The resulting nitrogen application map will be created as a child item under the cropfield item (this can be queried). -> Request -```javascript -POST /api/v1/items/{code}/tasks -{ - "taskType": "vnd.farmmaps.task.vranbs", - "attributes": { - "operation": "application", - "inputCode": "{itemCode}", - "plantingDate": "2020-02-01T00:00:00.000Z", - "measurementDate": "2020-06-01T00:00:00.000Z", - "inputType": "irmi", // yara, ci, irmi or wdvi - "targetN": "249.22948" - } -} -``` -> Response 201 -```javascript -{ - "code": "string", // code of task operation, can be queried for status - "taskType": "vnd.farmmaps.task.vranbs", - "attributes": { - "operation": "nitrogen", - "inputCode": "{itemCode}", - "inputType": "irmi", // yara, ci, irmi or wdvi - "targetN": "249.22948" + "extraInputCode": "{extraItemCode}", + "agent": { + "SoilType": "Dalgrond", + "ExtraInputType": "Lutum", + "MinDosis": 2, + "MaxDosis": 3, + "A": 0.1428, + "B": 1.285714, + "C": 1, + "D": 97, + "E": 3, + "P": 1, + "Crop": "Zetmeelaardappelen" + } } } ``` From abab9a6fdd3258c6b0b184fc3572e49753752849 Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Wed, 15 Apr 2020 10:51:00 +0000 Subject: [PATCH 5/7] Update page 'VRAHerbicide API' --- VRAHerbicide-API.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/VRAHerbicide-API.md b/VRAHerbicide-API.md index a1a7abc..6edcd4c 100644 --- a/VRAHerbicide-API.md +++ b/VRAHerbicide-API.md @@ -64,13 +64,47 @@ Response 403 No WRITE permissions in item Response 404 Item not found ###### Querying predefined herbicide agents. +A list of herbicide agents can be requested by finding the "vnd.farmmaps.package.vra.herbicide" items, taking the first item found and reading it's data field content. +> Request +```javascript +GET /api/v1/items/?it=vnd.farmmaps.package.vra.herbicide +``` +> Response 201 +```javascript +{ + "code": "....", + "data": [ + { + "name": "Liberator", + "SoilType": "Dalgrond", + "ExtraInputType": "Lutum", + "MinDosis": 2, + "MaxDosis": 3, + "A": 0.1428, + "B": 1.285714, + "C": 1, + "D": 97, + "E": 3, + "P": 1, + "Crop": "Zetmeelaardappelen" + } + ] +} +``` + +Response 400 Tasktype not found +Response 401 Not authenticated +Response 403 No READ permissions in item +Response 404 Items not found ###### Creating an application map with the VRAHerbicide task Execute the task with the item code of the cropfield as parameter inside {code}. Use the input map code inside {itemCode}, specifying an inputCode for the input data item. {itemCode} needs the code of the data input item passed into it. -An **optional** {extraItemCode} can be passed inside the 'extraInputcode' field to process herbicide from 2 inputs. +An **optional** {extraItemCode} can be passed inside the 'extraInputcode' field to process herbicide from 2 inputs. +Fill in the agent field with an agent gotten from the herbicide agents query discussed above. + The resulting application map will be created as a child item of the cropfield item (this can be queried). > Request ```javascript From 69c4eb6ded22c117d11e430158cf5099196a0081 Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Wed, 15 Apr 2020 10:55:14 +0000 Subject: [PATCH 6/7] Update page 'VRAHerbicide API' --- VRAHerbicide-API.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/VRAHerbicide-API.md b/VRAHerbicide-API.md index 6edcd4c..55687e6 100644 --- a/VRAHerbicide-API.md +++ b/VRAHerbicide-API.md @@ -64,7 +64,7 @@ Response 403 No WRITE permissions in item Response 404 Item not found ###### Querying predefined herbicide agents. -A list of herbicide agents can be requested by finding the "vnd.farmmaps.package.vra.herbicide" items, taking the first item found and reading it's data field content. +A list of herbicide agents can be requested by finding the "vnd.farmmaps.package.vra.herbicide" items, taking the first item found and reading it's data field 'agents' array content. > Request ```javascript GET /api/v1/items/?it=vnd.farmmaps.package.vra.herbicide @@ -73,7 +73,8 @@ GET /api/v1/items/?it=vnd.farmmaps.package.vra.herbicide ```javascript { "code": "....", - "data": [ + "data": { + "agents": [ { "name": "Liberator", "SoilType": "Dalgrond", @@ -88,7 +89,8 @@ GET /api/v1/items/?it=vnd.farmmaps.package.vra.herbicide "P": 1, "Crop": "Zetmeelaardappelen" } - ] + ] + } } ``` From 18a2dec5e6eb96d67a1b096a43eb3420fbc417bc Mon Sep 17 00:00:00 2001 From: Mark van der Wal Date: Wed, 15 Apr 2020 10:59:18 +0000 Subject: [PATCH 7/7] Update page 'Home' --- Home.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Home.md b/Home.md index d4f1ee1..4c4c050 100644 --- a/Home.md +++ b/Home.md @@ -39,3 +39,4 @@ To start uploading files, you need to authenticate to the API. The REST API uses ### Use-case examples * [VRAPoten-API](/wiki/VRAPoten-API) * [VRANbs-API](/wiki/VRANbs-API) +* [VRAHerbicide-API](/wiki/VRAHerbicide-API)