User interface
The eECD application allows users with an eECD admin role of an EquipmentOperator to manually add and manage Equipment data and/or use a standard CSV template to manage the equipment master data. Typically, the requested equipment master data are related to a specific Use Case; For the eECD Use Case where a cleaning process is performed, the equipment master data refer to equipment ID, equipment type, license plate, internal equipment code, nr of compartments , volume per compartment, nr of baffles.
A tankcontainer is uniquely defined by its tankcontainer ID number and EquipmentOperator. A dry bulk or liquid bulk trailer is typically defined by the licence plate in combination with the internal equipment code.
Integrated master data management
Next to the option to upload and maintain equipment master data via the eECD application menu and CSV upload process, the Equipment Operators can also use a set of API calls to further integrate and automate the equipment master data with their own ERP or transport management systems used for their daily operations.
Create new equipment
POST {eecdapi}/equipment
Usage
-
Allows an equipment operator to create new equipments.
Information
All equipment data fields are described in the eECD equipment master data page.
Allowed values
-
Allowed values for equipmentType:
-
Tankcontainer
-
Tanktrailer
-
IBC
-
Railtank
-
Validation
-
The Id is automatically generated by the system.
-
The last change to the equipment record is being retained and old values linked to the unique equipment ID are overwritten. Such change applies immediately to the open eECD data records. historical and completed/frozen eECD's , do not change when updating the master data.
-
In case the field type format does not fit or input values are different compared to the allowed values in the drill down menu, such data filed record cannot be updated.
-
OperatorID need to be a registered companies with the role "Equipment operator". Please refer to “Identify Company" to retrieve the relevant OperatorID
Body (JSON object)
Create Equipment
{
"operatorId": "Guid",
"equipmentType": "TANKCONTAINER",
"subGroup": "string",
"numberOfManholes": 0,
"numberOfCompartments": 0,
"compartments": [
{
"key": "string",
"volume": 0,
"baffles": 0
}
],
"isSubContracted": true,
"subContractor": "string",
"licensePlate": "string",
"internalEquipmentCode": "string",
"containerId": "string",
"isIso6346Compliant": true,
"productType": "string",
"licensePlateCountry": "string",
"tareWeight": 0,
"netWeight": 0,
"maxWeight": 0,
"tankTypeAdr": "string",
"minPressureAdr": "string",
"openingsAdr": "string",
"valvesAdr": "string",
"lastInspectionAdr": "2021-05-12T08:45:27.765Z",
"lastPressureTestAdr": "2021-05-12T08:45:27.765Z",
"te": "string",
"tc": "string",
"fl": "2021-05-12T08:45:27.765Z",
"at": "2021-05-12T08:45:27.765Z",
"tankInstructionUn": "string",
"lastInspectionUn": "2021-05-12T08:45:27.765Z",
"nextExaminationCsc": "2021-05-12T08:45:27.765Z",
"lastInspectionCsc": "2021-05-12T08:45:27.766Z",
"mainInspection": "2021-05-12T08:45:27.766Z",
"validitySp": "2021-05-12T08:45:27.766Z"
}
Response
Create Equipment response
{
"id": "Guid",
"operatorId": "Guid",
"equipmentType": "TANKCONTAINER",
"subGroup": "string",
"numberOfManholes": 0,
"numberOfCompartments": 0,
"compartments": [
{
"key": "string",
"volume": 0,
"baffles": 0
}
],
"isSubContracted": true,
"subContractor": "string",
"licensePlate": "string",
"internalEquipmentCode": "string",
"containerId": "string",
"isIso6346Compliant": true,
"productType": "string",
"licensePlateCountry": "string",
"tareWeight": 0,
"netWeight": 0,
"maxWeight": 0,
"tankTypeAdr": "string",
"minPressureAdr": "string",
"openingsAdr": "string",
"valvesAdr": "string",
"lastInspectionAdr": "2021-05-12T08:47:02.927Z",
"lastPressureTestAdr": "2021-05-12T08:47:02.927Z",
"te": "string",
"tc": "string",
"fl": "2021-05-12T08:47:02.927Z",
"at": "2021-05-12T08:47:02.927Z",
"tankInstructionUn": "string",
"lastInspectionUn": "2021-05-12T08:47:02.927Z",
"nextExaminationCsc": "2021-05-12T08:47:02.927Z",
"lastInspectionCsc": "2021-05-12T08:47:02.927Z",
"mainInspection": "2021-05-12T08:47:02.927Z",
"validitySp": "2021-05-12T08:47:02.927Z",
"cleanliness": {
"state": "CompletelyClean",
"compartments": {
"additionalProp1": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp2": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp3": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
}
}
},
"lastUpdatedOn": "2021-05-12T08:47:02.927Z"
}
Search equipments
GET {eecdapi}/equipment/paged
Usage
-
Returns a (paged) list of equipments that satisfies the search conditions
Query string parameters
-
operatorId: the ID of the operator for which you wish to retrieve the equipments (mandatory)
-
search: Searches for license plates and container IDs. Needs to be at least 2 characters long (mandatory)
-
Page: The page index that needs to be returned. Optional; defaults to 1.
-
Pagesize: The size of each page that gets returned. Optional; defaults to 20.
Response
Search Equipment from equipment operator
{
"hitCountTotal": 0,
"hitCountPage": 0,
"pageCurrent": 0,
"pageSize": 0,
"pageTotal": 0,
"hasMorePages": true,
"comment": "string",
"results": [
{
"id": "Guid",
"operatorId": "Guid",
"equipmentType": "TANKCONTAINER",
"subGroup": "string",
"numberOfManholes": 0,
"numberOfCompartments": 0,
"compartments": [
{
"key": "string",
"volume": 0,
"baffles": 0
}
],
"isSubContracted": true,
"subContractor": "string",
"licensePlate": "string",
"internalEquipmentCode": "string",
"containerId": "string",
"isIso6346Compliant": true,
"productType": "string",
"licensePlateCountry": "string",
"tareWeight": 0,
"netWeight": 0,
"maxWeight": 0,
"tankTypeAdr": "string",
"minPressureAdr": "string",
"openingsAdr": "string",
"valvesAdr": "string",
"lastInspectionAdr": "2021-05-12T08:47:48.865Z",
"lastPressureTestAdr": "2021-05-12T08:47:48.865Z",
"te": "string",
"tc": "string",
"fl": "2021-05-12T08:47:48.865Z",
"at": "2021-05-12T08:47:48.865Z",
"tankInstructionUn": "string",
"lastInspectionUn": "2021-05-12T08:47:48.865Z",
"nextExaminationCsc": "2021-05-12T08:47:48.865Z",
"lastInspectionCsc": "2021-05-12T08:47:48.865Z",
"mainInspection": "2021-05-12T08:47:48.865Z",
"validitySp": "2021-05-12T08:47:48.865Z",
"cleanliness": {
"state": "CompletelyClean",
"compartments": {
"additionalProp1": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp2": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp3": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
}
}
},
"lastUpdatedOn": "2021-05-12T08:47:48.865Z"
}
]
}
Get an equipment
GET {eecdapi}/equipment/{id}
Usage
-
Gets a piece of equipment. It is possible to also include the cleanliness state per compartment, giving an overview of the compartments and whether or not they're clean.
Query string parameters
-
includeCleanliness: boolean (?includecleanliness=true). Whether or not to include the cleanliness state. Optional; defaults to false.
Response
Get equipment details
{
"id": "Guid",
"operatorId": "Guid",
"equipmentType": "TANKCONTAINER",
"subGroup": "string",
"numberOfManholes": 0,
"numberOfCompartments": 0,
"compartments": [
{
"key": "string",
"volume": 0,
"baffles": 0
}
],
"isSubContracted": true,
"subContractor": "string",
"licensePlate": "string",
"internalEquipmentCode": "string",
"containerId": "string",
"isIso6346Compliant": true,
"productType": "string",
"licensePlateCountry": "string",
"tareWeight": 0,
"netWeight": 0,
"maxWeight": 0,
"tankTypeAdr": "string",
"minPressureAdr": "string",
"openingsAdr": "string",
"valvesAdr": "string",
"lastInspectionAdr": "2021-05-12T08:48:20.456Z",
"lastPressureTestAdr": "2021-05-12T08:48:20.456Z",
"te": "string",
"tc": "string",
"fl": "2021-05-12T08:48:20.456Z",
"at": "2021-05-12T08:48:20.456Z",
"tankInstructionUn": "string",
"lastInspectionUn": "2021-05-12T08:48:20.456Z",
"nextExaminationCsc": "2021-05-12T08:48:20.456Z",
"lastInspectionCsc": "2021-05-12T08:48:20.456Z",
"mainInspection": "2021-05-12T08:48:20.456Z",
"validitySp": "2021-05-12T08:48:20.456Z",
"cleanliness": {
"state": "CompletelyClean",
"compartments": {
"additionalProp1": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp2": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp3": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
}
}
},
"lastUpdatedOn": "2021-05-12T08:48:20.456Z"
}
Update equipment
PUT {eecdapi}/equipment/{id}
Usage
-
Updates an equipment
Information
-
As with creating an equipment, the updated equipment has to have a unique license plate or container ID within the organisation
-
The ID of the equipment is a required parameter. If necessary, it can be retrieved by searching the equipment based on the license plate or container number
Body (JSON object)
Update equipment
{
"equipmentType": "TANKCONTAINER",
"subGroup": "string",
"numberOfManholes": 0,
"numberOfCompartments": 0,
"compartments": [
{
"key": "string",
"volume": 0,
"baffles": 0
}
],
"isSubContracted": true,
"subContractor": "string",
"licensePlate": "string",
"containerId": "string",
"isIso6346Compliant": true,
"internalEquipmentCode": "string",
"productType": "string",
"licensePlateCountry": "string",
"tareWeight": 0,
"netWeight": 0,
"maxWeight": 0,
"tankTypeAdr": "string",
"minPressureAdr": "string",
"openingsAdr": "string",
"valvesAdr": "string",
"lastInspectionAdr": "2021-05-12T08:49:09.765Z",
"lastPressureTestAdr": "2021-05-12T08:49:09.765Z",
"te": "string",
"tc": "string",
"fl": "2021-05-12T08:49:09.765Z",
"at": "2021-05-12T08:49:09.765Z",
"tankInstructionUn": "string",
"lastInspectionUn": "2021-05-12T08:49:09.765Z",
"nextExaminationCsc": "2021-05-12T08:49:09.765Z",
"lastInspectionCsc": "2021-05-12T08:49:09.765Z",
"mainInspection": "2021-05-12T08:49:09.765Z",
"validitySp": "2021-05-12T08:49:09.765Z"
}
Response
Update equipment
{
"id": "Guid",
"operatorId": "Guid",
"equipmentType": "TANKCONTAINER",
"subGroup": "string",
"numberOfManholes": 0,
"numberOfCompartments": 0,
"compartments": [
{
"key": "string",
"volume": 0,
"baffles": 0
}
],
"isSubContracted": true,
"subContractor": "string",
"licensePlate": "string",
"internalEquipmentCode": "string",
"containerId": "string",
"isIso6346Compliant": true,
"productType": "string",
"licensePlateCountry": "string",
"tareWeight": 0,
"netWeight": 0,
"maxWeight": 0,
"tankTypeAdr": "string",
"minPressureAdr": "string",
"openingsAdr": "string",
"valvesAdr": "string",
"lastInspectionAdr": "2021-05-12T08:49:02.157Z",
"lastPressureTestAdr": "2021-05-12T08:49:02.157Z",
"te": "string",
"tc": "string",
"fl": "2021-05-12T08:49:02.157Z",
"at": "2021-05-12T08:49:02.157Z",
"tankInstructionUn": "string",
"lastInspectionUn": "2021-05-12T08:49:02.157Z",
"nextExaminationCsc": "2021-05-12T08:49:02.157Z",
"lastInspectionCsc": "2021-05-12T08:49:02.157Z",
"mainInspection": "2021-05-12T08:49:02.157Z",
"validitySp": "2021-05-12T08:49:02.157Z",
"cleanliness": {
"state": "CompletelyClean",
"compartments": {
"additionalProp1": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp2": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
},
"additionalProp3": {
"cleanliness": "Clean",
"polymerCompleteness": "PolymerComplete"
}
}
},
"lastUpdatedOn": "2021-05-12T08:49:02.157Z"
}
Delete equipment
DELETE {eecdapi}/equipment/{id}
Usage
-
Deletes an equipment
Response
-
204 success
Identify company
GET {eecdapi}/organisations/{type}/{code}
Usage
-
Identify the owner of the equipment.
Information
-
Gets an organization by either its DUNS, VAT or EORI code
Query string parameters
-
type: Either VAT, DUNS or EORI
-
code: The value of either the VAT number, DUNS code or EORI code
Response
Get organization
{
"id": "Guid",
"organisationName": "string",
"addressLines": {
"Street and number": "string",
"City": "string",
"PostalCode": "string"
},
"phone": "string",
"fax": "string",
"webSite": "string",
"duns": "string",
"vat": "string",
"eori": "string",
"roles": [
{
"id": "Guid",
"name": "string"
}
]
}