Disposal Event
The sections below describe the information necessary to create, get and update a Disposal event.
Date | Change | Version |
21/12/2018 |
Released to production |
|
11/06/2018 |
Added new conditional field Number of Fish to the Stocks Disposed array |
v1 |
18/05/2017 | Initial publication | v1 |
Create
Request URL:
POST https://ers.uat.kupe.fishserve.co.nz/api/{clientNumber}/event/v1/disposal/{eventID}
Example:
POST https://ers.uat.kupe.fishserve.co.nz/api/1234567/event/v1/disposal/5ba04c30-c81a-4618-898e-e832da93cf91
Create URL Parameters:
Parameter | Required | Data type | Validation and Additional Notes |
---|---|---|---|
Client Number | Mandatory | String | The main permit holder client number that the event is submitted against. |
Event ID | Mandatory | String | Unique logbook generated ID for an event. |
Request Header:
Content-Type: application/json Signature: signature generated from the digital signature algorithm using the request body and private key.
Request Body Parameters:
Parameter | Required | Data Type | Validation and Additional Notes |
---|---|---|---|
Event Header | Mandatory | Event Header Set | See Event Header Properties below. |
Fishing Event ID | Optional | String | The ID of the fishing event that stocks were disposed for. |
Disposal Date Time | Mandatory | String | Date 24hr + UTC offset. |
At Sea Holding Receptacle Location | Conditional | Basic GeoLocation Set |
Must be provided if 'Disposal Codes' master data property 'require_holding_location = yes'. At least one group of system or manual location parameters must be provided. See At Sea Holding Receptacle Location Parameters below. |
Stocks Disposed | Mandatory | Array of Stocks Disposed | Must provide at least one disposal stock.
See Stocks Disposed Parameters below. |
Event Header Properties:
Parameter | Required | Data Type | Validation and Additional Notes |
---|---|---|---|
Event ID | Mandatory | String | Unique logbook generated ID for an event.
The same event ID as defined in the URL. |
Trip ID | Mandatory | String | |
Software Vendor | Mandatory | String | Your software vendor name. For example, e-logbook. |
Software Version | Mandatory | String | Your software version number. For example, 1.0.0.0 |
Software Installation Id | Mandatory | String |
Your software installation ID. For example, a13afab2-c409-4622-b8f8-146996587809 Must be the Software Installation Id that was registered with the user and public key. |
Completer User Id | Mandatory | String | The user ID retrieved from registering the logbook. |
Client Number | Mandatory | String | Must be a valid client number. Must be the same client number as specified in the URL. |
Is Vessel Used | Mandatory | Boolean | Identifies if the fishing took place on a vessel or not. |
Vessel Number | Mandatory | String |
Must be a valid Vessel number. Must be provided if 'Is Vessel Used' = True. Must be provided if 'Fishing Methods' master data property 'require_vessel_number = true'. If 'Is Vessel Used' = False and Vessel Number provided, ERS will not accept the event. |
Notes | Optional | String | The Fisher may record additional information relating to the event. |
Completed Date Time | Conditional | String | Must be provided for Create. Must be null for Update. ERS will not accept the event if provided for update.
Date 24hr + UTC offset. |
Amendment Reason | Conditional | String | Must be provided for Update.
Must be null for Create. ERS will not accept the event if provided for create. |
At Sea Holding Receptacle Location Parameters:
Parameter | Required | Data Type | Validation and Additional Notes |
---|---|---|---|
System Location | Conditional | Geolocation | At least one group of system or manual location parameters must be provided. See Geolocation parameters below. |
Manual Location | Conditional | Geolocation |
Geolocation Parameters:
Parameter | Required | Data Type | Validation and Additional Notes |
---|---|---|---|
Latitude | Mandatory | decimal degrees |
System Location: Minimum of 4dp required. Manual Location: Minimum of 3dp required. |
Longitude | Mandatory | decimal degrees |
System Location: Minimum of 4dp required. Manual Location: Minimum of 3dp required. |
Stocks Disposed Parameters:
Parameter | Required | Data Type | Validation and Additional Notes |
---|---|---|---|
Stock Code | Mandatory | String | Must be a valid Stock code.
Validated against Fish Stock Master Data. |
Disposal Code | Mandatory | String | Must be a valid Disposal code.
Validated against Disposal Codes Master Data. |
Estimated Green Weight Kg | Mandatory | Number | Decimal to 2dp.
Must be be greater than 0. |
Number of Fish | Conditional | Number | Must be provided if 'Disposal Codes' master data property 'require_number_of_fish = true' Optional for any other Disposal Code. Must be greater than 0 |
Disposal Create Request Body Example:
{ "eventHeader": { "eventId": "5ba04c30-c81a-4618-898e-e832da93cf91", "tripId": "DE-1", "completedDateTime": "2017-03-28T09:15:00+11:00", "vesselNumber": "1", "isVesselUsed": true, "notes": "Disposal Golden Path - TEST",
"softwareVendor": "ERS-FishServe",
"softwareVersion": "1.1.2",
"softwareInstallationId": "a13afab2-c409-4622-b8f8-146996587809",
"clientNumber": "1234567",
"completerUserId": "1234" },
"fishingEventId": "12345", "disposalDateTime": "2017-03-28T09:15:00+11:00", "atSeaHoldingReceptacleLocation": { "manualLocation": { "longitude": "-175.111", "latitude": "-44.222" }, "systemLocation": { "longitude": "-175.3333", "latitude": "-45.4444" } }, "stocksDisposed": [ { "stockCode" : "HOK1", "disposalCode": "H", "estimatedGreenWeightKg" : 20,
"numberOfFish": 2 }, { "stockCode" : "CAR1", "disposalCode": "d", "estimatedGreenWeightKg" : 1,
"numberOfFish": null } ] }
Response
Response Status:
Status | Description |
---|---|
201 Created | Status when event has been accepted successfully. |
400 Bad Request | Status when there are missing headers, missing event parameters, duplicate event ID. |
401 Unauthorised | Status when the user does not have the appropriate authorisation to perform the action. |
Response Parameters:
The response parameters includes all the fields that have been included in the request body and the following additional parameters.
Parameter | Data Type | Validation and Additional Notes |
---|---|---|
Errors | Array | List of errors, if any. See Errors Parameters below. |
Errors Parameters:
Parameter | Data Type | Validation and Additional Notes |
---|---|---|
Property Name | String | The name of the property that has an error. |
Attempted Value | String | The attempted value used. |
Error Code | String | The type of error. |
Error Message | String | The description of the error. |
Example 1:
The following example of the response body is returned when there are no errors and the event is accepted (Status Code – 201).
{ "errors": [] }
Example 2:
The following example of the response body is returned when there are errors and the event is rejected (Status Code – 400).
{ "errors": [ { "propertyName": "EventId", "attemptedValue": "5ba04c30-c81a-4618-898e-e832da93cf91", "errorCode": "DuplicateValue", "errorMessage": "EventId already exists." } ] }
Get
Request URL:
GET https://ers.uat.kupe.fishserve.co.nz/api/{clientNumber}/event/v1/disposal/{eventID}?softwareInstallationId={softwareInstallationId}&CompleterUserId={completerUserId}
Example:
GET https://ers.uat.kupe.fishserve.co.nz/api/1234567/event/v1/disposal/EventId099?softwareInstallationId=74be4716-cd8f-4264-83e4-5b1249082900&CompleterUserId=8979
Get URL Parameters:
Parameter | Required | Data type | Validation and Additional Notes |
---|---|---|---|
Client Number | Mandatory | String | The main permit holder client number that the event is submitted against. |
Event ID | Mandatory | String | Unique logbook generated ID for an event. |
Software Installation Id | Mandatory | String |
Your software installation ID. For example, a13afab2-c409-4622-b8f8-146996587809 Must be the Software Installation Id that was registered with the user and public key. |
Completer User Id | Mandatory | String | The user ID retrieved from registering the logbook. |
Request Header:
Content-Type: application/json Signature: signature generated from the digital signature algorithm using the request URL and private key.
Response
Response Status:
Status | Description |
---|---|
200 Ok | Status when event has been retrieved successfully. |
404 Not Found | Status when event cannot be found. |
401 Unauthorised | Status when the user does not have the appropriate authorisation to perform the action. |
Response Body Parameters:
Properties are returned within an Event parameter. Please see the example provided.
Parameter | Data Type |
---|---|
Event ID | String |
Trip ID | String |
Schema Edition | Number |
Event Version | Number |
Is Vessel Used | Boolean |
Vessel Number | String |
Notes | String |
Completed By Name | String |
Completed Date Time | String |
Fishing Event ID | String |
Disposal Date Time | String |
At Sea Holding Receptacle Location
See At Sea Holding Receptacle Location Parameters below. |
Basic Geolocation Set |
Errors | Array |
Amendment Reason | String |
Stocks Disposed See Stocks Disposed Parameters below. |
Array of Stocks Disposed |
At Sea Holding Receptacle Location Parameters:
Parameter | Data Type |
---|---|
System Location See Geolocation Parameters below. |
Geolocation |
Manual Location See Geolocation Parameters below. |
Geolocation |
Geolocation Parameters:
Parameter | Data Type |
---|---|
Latitude | decimal degrees |
Longitude | decimal degrees |
Stocks Disposed Parameters:
Parameter | Data Type |
---|---|
Stock Code | String |
Disposal Code | String |
Estimated Green Weight Kg | Number |
Number of Fish | Number |
Disposal Get Request Body Example:
{ "event": {
"fishingEventID": "12345", "disposalDateTime": "2017-03-28T09:15:00+11:00", "atSeaHoldingReceptacleLocation": { "systemLocation": { "longitude": -175.3333, "latitude": -45.4444 }, "manualLocation": { "longitude": -175.111, "latitude": -44.222 } }, "stocksDisposed": [ { "stockCode": "HOK1", "disposalCode": "H", "estimatedGreenWeightKg": 20,
"numberOfFish": 2 }, { "stockCode": "CAR1", "disposalCode": "d", "estimatedGreenWeightKg": 1,
"numberOfFish": null } ], "tripId": "DE-1", "vesselNumber": "1", "isVesselUsed": true, "eventId": "12345", "schemaEdition": 1, "eventVersion": 1, "clientNumber": "8462926", "completedDateTime": "2017-03-28T09:15:00+11:00", "notes": "Disposal Golden Path - TEST", "amendmentReason": null,
"completedByName": "Dirk Munroe" }, "errors": [] }
Update
Request URL:
PUT https://ers.uat.kupe.fishserve.co.nz/api/{clientNumber}/event/v1/disposal/{eventID}
Example:
PUT https://ers.uat.kupe.fishserve.co.nz/api/1234567/event/v1/disposal/5ba04c30-c81a-4618-898e-e832da93cf91
Update URL Parameters:
Parameter | Required | Data type | Validation and Additional Notes |
---|---|---|---|
Client Number | Mandatory | String | The main permit holder client number that the event is submitted against. |
Event ID | Mandatory | String | Unique logbook generated ID for an event. |
Request Header:
Content-Type: application/json Signature: signature generated from the digital signature algorithm using the request body and private key.
Request Body Parameters:
The request body parameters includes all those fields that have been defined in the create event and the following additional parameter.
This parameter is a property of the Event Header Set.
The amended value of the fields that need to be updated will be passed in the request body.
Parameter | Required | Data Type | Validation and Additional Notes |
---|---|---|---|
Event Version | Mandatory | Number | The version of the event that the fisher is wanting to update. |
Disposal Update Request Body Example:
{ "eventHeader": { "eventId": "12345", "eventVersion": 1, "tripId": "DE-2", "amendmentReason": "estimated green weight for CAR1 was wrong", "vesselNumber": "1", "isVesselUsed": true, "notes": "Disposal Update - TEST",
"softwareVendor": "ERS-FishServe",
"softwareVersion": "1.1.2",
"softwareInstallationId": "a13afab2-c409-4622-b8f8-146996587809",
"clientNumber": "1234567",
"completerUserId": "1234" },
"fishingEventId": "12345", "disposalDateTime": "2017-03-28T09:15:00+11:00", "atSeaHoldingReceptacleLocation":{ "manualLocation": { "longitude": "-175.444", "latitude": "-45.111" }, "systemLocation": { "longitude": "-175.33333", "latitude": "-45.2222" } }, "stocksDisposed": [ { "stockCode" : "HOK1", "disposalCode": "d", "estimatedGreenWeightKg" : 11,
"numberOfFish": 2 }, { "stockCode" : "CAR1", "disposalCode": "d", "estimatedGreenWeightKg" : 17
"numberOfFish": null } ] }
Response
Response Status:
Status | Description |
---|---|
200 Ok | Status when event has been updated successfully. |
400 Bad Request | Status when event failed to update. This can be as a result of the event version not matching the correct version of the message in the update request or missing headers, missing event parameters. |
401 Unauthorised | Status when the user does not have the appropriate authorisation to perform the action. |
Response Parameters:
The response parameters includes all the fields that have been included in the request body and the following additional parameters.
Parameter | Data Type | Validation and Additional Notes |
---|---|---|
Errors | Array | List of errors, if any. See Errors Parameters below. |
Errors Parameters:
Parameter | Data Type | Validation and Additional Notes |
---|---|---|
Property Name | String | The name of the property that has an error. |
Attempted Value | String | The attempted value used. |
Error Code | String | The type of error. |
Error Message | String | The description of the error. |
Example 1:
{ "errors": [] }
Example 2:
{ "errors": [ { "propertyName": "EventVersion", "attemptedValue": "2", "errorCode": "InvalidValue", "errorMessage": "You are not amending the most recent version for this event. Please get the latest version and try again." } ] }