P4 Data Request
create
Method |
URL |
|---|---|
|
api/esh/p4_data_request/create |
Pre-requisite steps
The initiator sends a request to create a Global Task
p4_data_requestIf the validation of the input parameters results in an error the ‘Global Task’ is not created and the errors are returned.
A Global Task is created and the GlobalTask.ID is returned.
Global Task steps
The ValueA adapter sends out the request to EDSN via an XML request: P4CollectedDataBatchRequest.
EDSN rejection handling
EDSN validates the request (see EDSN validations). If there are inaccuracies, the message is rejected and a SOAP Fault is returned.
The ValueA adapter processes the rejection or confirmation from EDSN: P4CollectedDataBatchResponse or SOAPFault.
When a rejection is received the status of the GlobalTask step is set to error. An exception is made for error code 037 in which case the request is resend in the next iteration with a new message_id.
Grid Operator (CTS) response handling
The Grid Operator (CTS) validates the request (see Grid Operator validations). If there are inaccuracies, the message is rejected, otherwise the requested P4 data is returned.
The ValueA adapter collects the results send by the Grid Operator, if available, from EDSN: P4CollectedDataResultBatchRequest.
When a rejection is received the status of the GlobalTask is set to rejected.
When the requested P4 data is received the status of the GlobalTask is set to ready.
Input parameters
p4_data_request global_task input parameters |
||
type |
object |
|
properties |
||
|
type |
string |
pattern |
^[0-9]{18}$ |
|
|
type |
string |
pattern |
^[0-9]{13}$ |
|
|
Date format as defined in RFC 3339, section 5.6. |
|
type |
string |
|
format |
date |
|
|
Day, Interval, Month Recovery |
|
enum |
DAY, INT, RCY |
|
|
If true then the latest available MeteringPoint data will be used to perform additional validations |
|
type |
boolean |
|
default |
False |
|
EDSN validations
validation |
error message |
error code |
|---|---|---|
The value in the request meets the requirements set by the protocol |
The value in the request does not meet the requirements set by the protocol |
001 |
The EAN of the requesting party belongs to the used security certificate |
Standard Authentication error. Requesting party’s EAN code does not match the certificate |
003 |
The requesting party is authorized |
The requesting party is not authorized |
008 |
The addressed regional grid operator is known |
EAN code grid operator unknown |
036 |
The message can be delivered to the addressed regional grid operator |
Message cannot be delivered to regional grid operator |
037 |
Grid Operator validations
validation |
error message |
error code |
|---|---|---|
Supplier is authenticated |
The requesting party is not authenticated |
000 |
The connection is known on the requested date |
EAN-code connection unknown on the requested date. |
006 |
The connection has a smart meter on the requested date |
No smart meter on the connection on the requested date |
007 |
The requesting party is authorized |
The requesting party is not authorized |
008 |
The smart meter has been deployed |
Requested measurement data not available: meter in deployment phase |
009 |
The date for meter readings is in the past |
Date for requested data in the future, meter readings not yet available |
010 |
The meter readings for the requested date are available |
Date of requested data too old, meter readings no longer available |
011 |
The requested measurement data is available |
Requested measurement data not available, meter temporarily out of order |
012 |
The submitted request can be executed by the meter |
This particular request cannot be executed by the meter |
013 |
The requested measurement data is available |
Requested measurement data not available: malfunction known and under repair |
014 |
The smart meter is administratively on |
The smart meter is administratively off |
038 |
The connection has a smart meter that can be read remotely from a technical point of view |
There is a technically not remotely readable smart meter |
039 |
The requesting party is mandated |
The requesting party is not mandated, because the authorization has been terminated following a change of the contracting party on the connection |
040 |
The requested measurement data is available |
Requested measurement data not available: large-scale failure |
041 |
Output parameters
client_key global_task return parameters |
|||
properties |
|||
|
GlobalTask.id |
||
type |
string |
||
format |
uuid |
||
|
type |
object |
|
properties |
|||
|
ValueA Broker message.id |
||
type |
string |
||
format |
uuid |
||
|
type |
array |
|
items |
|||
global_task_validation
type |
object |
|
properties |
||
|
type |
string |
|
optional reference to parameter |
|
type |
string / null |
|
|
type |
string / null |
getStatus
Method |
URL |
|---|---|
|
api/esh/p4_data_request/get_status |
Get status input parameters
global_task get_status input parameters |
||
type |
object |
|
properties |
||
|
GlobalTask.id |
|
type |
string |
|
format |
uuid |
|
Get status return parameters
global_task get_status return parameters |
|||
type |
object |
||
properties |
|||
|
type |
string |
|
|
type |
string |
|
format |
date |
||
|
type |
string / null |
|
|
type |
array |
|
items |
|||
|
type |
object |
|
properties |
|||
|
ValueA Broker message.id |
||
type |
string |
||
format |
uuid |
||
|
type |
array |
|
items |
|||
status_detail
type |
object |
|
properties |
||
|
type |
string |
|
type |
string / null |
get_status_validation
type |
object |
|
properties |
||
|
type |
string |
|
optional reference to parameter |
|
type |
string / null |
|
|
type |
string / null |
getData
Method |
URL |
|---|---|
|
api/esh/p4_data_request/get_data |
Get data input parameters
p4_data_request get_data input parameters |
||
type |
object |
|
properties |
||
|
GlobalTask.id |
|
type |
string |
|
format |
uuid |
|
Get data return parameters
p4_data_request get_data return parameters |
|||
type |
object |
||
properties |
|||
|
type |
object |
|
properties |
|||
|
type |
array |
|
items |
|||
|
type |
string |
|
format |
date |
||
|
Day, Interval, Month Recovery |
||
enum |
DAY, INT, RCY |
||
|
type |
object |
|
properties |
|||
|
type |
string |
|
format |
date |
||
|
Day, Interval, Month Recovery |
||
enum |
DAY, INT, RCY |
||
|
type |
array |
|
items |
|||
|
type |
object |
|
properties |
|||
|
ValueA Broker message.id |
||
type |
string |
||
format |
uuid |
||
|
type |
array |
|
items |
|||
meter
type |
object |
|
properties |
||
|
type |
string |
|
type |
array |
items |
||
register
type |
object |
|
properties |
||
|
type |
string |
|
enum |
KVR, KWH, KWT, M3N, MTQ, WH, DM3, MJ, M3N3517, M3N3517HR, MQH |
|
type |
array |
items |
||
reading
type |
object |
|
properties |
||
|
type |
integer |
|
type |
string |
format |
date-time |
|
reason
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
get_data_validation
type |
object |
|
properties |
||
|
type |
string |
|
optional reference to parameter |
|
type |
string / null |
|
|
type |
string / null |
sendMessages
Method |
URL |
|---|---|
|
api/esh/p4_data_request/send_messages |
This Task wil send all available P4DataRequest (P4CollectedData) messages to EDSN.
Send Input parameters
p4_data_request send_messages input parameters |
||
type |
object |
|
properties |
||
|
grid operator |
|
type |
string |
|
pattern |
^[0-9]{13}$ |
|
Send return parameters
p4_data_request send_messages return parameters |
|||
type |
object |
||
properties |
|||
|
type |
string |
|
|
type |
array |
|
items |
EDSN message.id |
||
type |
string |
||
format |
uuid |
||
|
type |
object |
|
properties |
|||
|
ValueA Broker message.id |
||
type |
string |
||
format |
uuid |
||
|
type |
array |
|
items |
|||
send_validation
type |
object |
|
properties |
||
|
type |
string |
|
optional reference to parameter |
|
type |
string / null |
|
|
type |
string / null |