Get Notifications
This interface is used to retrieve notifications for previously submitted market transactions for the nouns BidSet, ResParametersSet and VDIs. The notifications in question are those notifications that were delivered asynchronously to market participant listeners as the result of create or change transactions for the aforementioned nouns (BidSet, ResParametersSet and VDIs). The interface is synchronous in nature and subject to the below specifications.
Key Specifications:
-
Service supports querying historical notifications upto 4 days old and is based on transaction submitted time. Transaction submitted time represents the time when the original create or change transaction was submitted to ERCOT. It is not the TradingDate on the submission nor the StartTime/EndTime of an interval in the submission.
-
A single query cannot span more than 24hours. Specifically, the StartTime and EndTime sent on the query may not exceeded 24hours.
-
Notifications can be retrieved using combinations of following query parameters
-
mRID(s)
-
BidType
-
Bid Processed Status (ACCEPTED/ERROR)
StartTime and EndTime, which represent the submitted times that the query will span, are required with above parameter combinations.
A maximum of 1000 notifications will be returned from a single request. This threshold will also be subject to payload size limitations. If the resulting response exceeds 3MB after compression, an error will be returned indicating that the query parameters need to be refined (i.e. further constrained).
If a query by MRID is received and ERCOT determines that the MRID in question exists within a multi-bid notification (i.e. a notification that has two or more Bids and thus potentially two or more MRIDs), the entire multi-bid notification will be returned in the response. ERCOT will not filter the notification and only return the bid that corresponds with the MRID in question.
Similarly, if a query by Bid Processed Status is received and ERCOT determines that a single notification has both accepted and rejected bids, the entire notification will be returned. ERCOT will not filter the notification and only return the bid that corresponds with the Bid Processed Status in question.
-
Following are the valid query parameter combinations
-
getNotifications by BidType
-
StartTime & EndTime
-
BidType
-
Bid Processed Status (optional)
-
-
getNotifications by mRID
-
StartTime & EndTime
-
One or more mRIDs
-
Bid Processed Status (optional)
-
Message Specification
The request message would use the following message fields:
Message Element | Value |
---|---|
Header/Verb | get |
Header/Noun | BidSetNotifications/ ResParameterSetNotifications/ VDIsNotifications |
Header/Source | Market participant ID |
Header/UserID | ID of user |
Payload/any | Get Notification request Payload. Query payload should be mapped to Any element |
Request Query Payload is as follows
Element | Req? | Datatype | Description | Values |
---|---|---|---|---|
startTime | Y | dateTime | Start date time of query | Valid date time |
endTime | Y | dateTime | End date time of query | Valid date time |
mRID | Y | String | mRID to query for notification. - This element is required only for mRID based query. | |
bidProcessStatus | N | String | Bid Process Status (ACCEPTED or ERROR) | |
bidType | Y | String [ enumerate list] | BidType (refer to below list for valid bid types) - This element is required only for BidType based query. |
Valid BidTypes for Noun=BidSetNotifications
Transaction type BidType Value ASOffer ASO ASTrade AST CapacityTrade CT COP COP PTP Obligation w/ Link to Option CRR EnergyBid EB EnergyOnlyOffer EOO EnergyTrade ET IncDecOffer IDO OutputSchedule OS PTPObligation PTP SelfArrangedAS SAA SelfSchedule SS ThreePartOffer TPO AvailabilityPlan AVP RTMEnergyBid REB ExceptionalFuelCost EFC
Valid BidTypes for Noun=BidSetNotifications
Transaction type BidType Value ASOffer ASO ASOnlyOffer AOO ASTrade AST CapacityTrade CT COP COP PTP Obligation w/ Link to Option CRR EnergyBid EB EnergyOnlyOffer EOO EnergyTrade ET OutputSchedule OS PTPObligation PTP SelfArrangedAS SAA SelfSchedule SS ThreePartOffer TPO AvailabilityPlan AVP RTMEnergyBid REB ExceptionalFuelCost EFC
For Noun=ResParameterSetNotifications
Transaction type | BidType Value |
---|---|
GenResourceParameters | GEN |
ControllableLoadResource | CON |
NonControllableLoadResource | NON |
ResourceParameters | RES |
For Noun=VDIsNotifications
Transaction type | BidType Value |
---|---|
VDIs | VDI |
Valid mRID formats for getNotifications by mRID(s)
For noun=BidSetNotifications
BidType mRID format ASOffer QSEID.Date.ASO.resource.asType ASTrade QSEID.Date.AST.asType.buyer.seller CapacityTrade QSEID.Date.CT.buyer.seller COP QSEID.Date.COP.resource PTP Obligation w/ Link to Option QSEID.Date.CRR.crrId.offerid.crrAHId.source.sink EnergyBid QSEID.Date.EB.sp.bidId EnergyOnlyOffer QSEID.Date.EOO.sp.bidId EnergyTrade QSEID.Date.ET.sp.buyer.seller IncDecOffer QSEID.Date.IDO.resource.type OutputSchedule QSEID.Date.OS.resource PTPObligation QSEID.Date.PTP.bidid.source.sink SelfArrangedAS QSEID.Date.SAA.asType SelfSchedule QSEID.Date.SS.source.sink ThreePartOffer QSEID.Date.TPO.resource AvailabilityPlan QSEID.Date.AVP.resource.avpType RTMEnergyBid QSEID.Date.REB.resource ExceptionFuelCost QSEID.Date.EFC.resource
BidType mRID format ASOffer QSEID.Date.ASO.resource.asType ASOnlyOffer QSEID.Date.AOO.asType.bidID ASTrade QSEID.Date.AST.asType.buyer.seller CapacityTrade QSEID.Date.CT.buyer.seller COP QSEID.Date.COP.resource PTP Obligation w/ Link to Option QSEID.Date.CRR.crrId.offerid.crrAHId.source.sink EnergyBid QSEID.Date.EB.sp.bidId EnergyOnlyOffer QSEID.Date.EOO.sp.bidId EnergyTrade QSEID.Date.ET.sp.buyer.seller OutputSchedule QSEID.Date.OS.resource PTPObligation QSEID.Date.PTP.bidid.source.sink SelfArrangedAS QSEID.Date.SAA.asType SelfSchedule QSEID.Date.SS.source.sink ThreePartOffer QSEID.Date.TPO.resource AvailabilityPlan QSEID.Date.AVP.resource.avpType RTMEnergyBid QSEID.Date.REB.resource ExceptionFuelCost QSEID.Date.EFC.resource
For noun=ResParameterSetNotifications
BidType | mRID format |
---|---|
GenResourceParameters | QSEID.GEN.<resource> |
ControllableLoadResource | QSEID.CON.<resource> |
NonControllableLoadResource | QSEID.NON.<resource> |
ResourceParameters | QSEID.RES.<resource> |
Example1 - Request Message (getNotification By mRID)
<ns0:RequestMessage xmlns:mes="http://www.ercot.com/schema/2007-06/nodal/ews/message"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://www.ercot.com/schema/2007-06/nodal/ews/message">
<ns0:Header>
<ns0:Verb>get</ns0:Verb>
<ns0:Noun>BidSetNotifications</ns0:Noun>
<ns0:ReplayDetection>
<ns0:Nonce>6212412181229622636116662D3410</ns0:Nonce>
<ns0:Created>2010-01-20T13:24:00.889-06:00</ns0:Created>
</ns0:ReplayDetection>
<ns0:Revision>1.0</ns0:Revision>
<ns0:Source>TESTQSE</ns0:Source>
<ns0:UserID>USER1</ns0:UserID>
<ns0:MessageID>62313564326161632D636166662D3430</ns0:MessageID>
<ns0:Comment/>
</ns0:Header>
<ns0:Payload>
<NotificationQuery xmlns="http://www.ercot.com/schema/2007-06/nodal/ews">
<startTime>2010-01-15T00:00:00-06:00</startTime>
<endTime>2010-01-15T04:00:00-06:00</endTime>
<mRID>TESTQSE.20100116.EB.XYZ.123456</mRID>
<mRID>TESTQSE.20100122.SAA.Reg-Up</mRID>
</NotificationQuery>
</ns0:Payload>
</ns0:RequestMessage>
Example2 - Request Message (getNotification By BidType)
<ns0:RequestMessage xmlns:mes="http://www.ercot.com/schema/2007-06/nodal/ews/message"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://www.ercot.com/schema/2007-06/nodal/ews/message">
<ns0:Header>
<ns0:Verb>get</ns0:Verb>
<ns0:Noun>ResParameterSetNotifications</ns0:Noun>
<ns0:ReplayDetection>
<ns0:Nonce>6212412181229622636116662D3410</ns0:Nonce>
<ns0:Created>2010-01-20T13:24:00.889-06:00</ns0:Created>
</ns0:ReplayDetection>
<ns0:Revision>1.0</ns0:Revision>
<ns0:Source>TESTQSE</ns0:Source>
<ns0:UserID>USER1</ns0:UserID>
<ns0:MessageID>62313564326161632D636166662D3430</ns0:MessageID>
<ns0:Comment/>
</ns0:Header>
<ns0:Payload>
<NotificationQuery xmlns="http://www.ercot.com/schema/2007-06/nodal/ews">
<startTime>2010-01-15T00:00:00-06:00</startTime>
<endTime>2010-01-15T04:00:00-06:00</endTime>
<bidType>GEN</bidType>
<bidProcessStatus>ACCEPTED</bidProcessStatus>
</NotificationQuery>
</ns0:Payload>
</ns0:RequestMessage>
The corresponding response messages would use the following message fields:
Message Element | Value |
---|---|
Header/Verb | reply |
Header/Noun | BidSetNotifications/ ResParameterSetNotifications/ VDIsNotifications |
Header/Source | ERCOT |
Reply/ReplyCode | Reply code, success=OK, error=ERROR |
Reply/Error | Error message, if error encountered |
Payload/ | List of notifications in ResponseMessage format.(Refer to examples and Payload schema for more details) |
The following structure is used within the payload to convey a list of notifications:
Notifications (ResponseMessages) will be mapped to the any element under NotificationMessages.
<NotificationMessages xmlns="http://www.ercot.com/schema/2007-06/nodal/ews">
<ns1:ResponseMessage xmlns:ns1="http://www.ercot.com/schema/2007-06/nodal/ews/message">
<ns1:Header>
<ns1:Verb>changed</ns1:Verb>
<ns1:Noun>BidSet</ns1:Noun>
<ns1:ReplayDetection>
<ns1:Nonce>69bfbe3aee98b34b659f309750944ba1</ns1:Nonce>
<ns1:Created>2010-01-20T14:24:53.84-06:00</ns1:Created>
</ns1:ReplayDetection>
<ns1:Revision>1.19E</ns1:Revision>
<ns1:Source>ERCOT</ns1:Source>
<ns1:UserID>USER1@TESTQSE</ns1:UserID>
<ns1:MessageID>62313564326161632D636166662D3430</ns1:MessageID>
<ns1:Comment>WBtSU7bT</ns1:Comment>
</ns1:Header>
<ns1:Reply>
<ns1:ReplyCode>OK</ns1:ReplyCode>
<ns1:Timestamp>2010-01-20T14:24:53.516-06:00</ns1:Timestamp>
</ns1:Reply>
<ns1:Payload>
<ns2:BidSet xmlns:ns2="http://www.ercot.com/schema/2007-06/nodal/ews">
<ns2:tradingDate>2010-01-23</ns2:tradingDate>
<ns2:submitTime>2010-01-20T14:24:51.063-06:00</ns2:submitTime>
<ns2:EnergyOnlyOffer>
<ns2:mRID>TESTQSE.20100123.EOO.XYZ.15522</ns2:mRID>
<ns2:externalId/>
<ns2:status>ERRORS</ns2:status>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>Validation of the Energy Only Offer Or Bid failed.</ns2:text>
</ns2:error>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>The OFFER overlaps an existing multi-hour block OFFER with start hour ending 2 end
hour ending 2</ns2:text>
</ns2:error>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>The OFFER overlaps an existing multi-hour block OFFER with start hour ending 4 end
hour ending 4</ns2:text>
</ns2:error>
</ns2:EnergyOnlyOffer>
</ns2:BidSet>
<ns1:format>XML</ns1:format>
</ns1:Payload>
</ns1:ResponseMessage>
<ns1:ResponseMessage xmlns:ns1="http://www.ercot.com/schema/2007-06/nodal/ews/message">
<ns1:Header>
<ns1:Verb>created</ns1:Verb>
<ns1:Noun>BidSet</ns1:Noun>
<ns1:ReplayDetection>
<ns1:Nonce>158d14f627135430484f6b71cf9795dc</ns1:Nonce>
<ns1:Created>2010-01-20T14:27:17.918-06:00</ns1:Created>
</ns1:ReplayDetection>
<ns1:Revision>1.19E</ns1:Revision>
<ns1:Source>ERCOT</ns1:Source>
<ns1:UserID>USER1@TESTQSE</ns1:UserID>
<ns1:MessageID>12345678901234567</ns1:MessageID>
<ns1:Comment>W3LSU7bl</ns1:Comment>
</ns1:Header>
<ns1:Reply>
<ns1:ReplyCode>OK</ns1:ReplyCode>
<ns1:Timestamp>2010-01-20T14:27:17.834-06:00</ns1:Timestamp>
</ns1:Reply>
<ns1:Payload>
<ns2:BidSet xmlns:ns2="http://www.ercot.com/schema/2007-06/nodal/ews">
<ns2:tradingDate>2010-01-22</ns2:tradingDate>
<ns2:submitTime>2010-01-20T14:27:16.802-06:00</ns2:submitTime>
<ns2:OutputSchedule>
<ns2:mRID>TESTQSE.20100122.OS.XYZ</ns2:mRID>
<ns2:externalId/>
<ns2:status>ACCEPTED</ns2:status>
<ns2:error>
<ns2:severity>INFORMATIVE</ns2:severity>
<ns2:text>Successfully processed the ERCOT Output Schedule.</ns2:text>
</ns2:error>
<ns2:error>
<ns2:severity>WARNING</ns2:severity>
<ns2:text>No COP entry submitted for hour ending 5</ns2:text>
</ns2:error>
</ns2:OutputSchedule>
</ns2:BidSet>
<ns1:format>XML</ns1:format>
</ns1:Payload>
</ns1:ResponseMessage>
<ns1:ResponseMessage xmlns:ns1="http://www.ercot.com/schema/2007-06/nodal/ews/message">
<ns1:Header>
<ns1:Verb>created</ns1:Verb>
<ns1:Noun>BidSet</ns1:Noun>
<ns1:ReplayDetection>
<ns1:Nonce>9ab09b0a37be965f68bb47759c149b37</ns1:Nonce>
<ns1:Created>2010-01-20T14:37:52.793-06:00</ns1:Created>
</ns1:ReplayDetection>
<ns1:Revision>1.19E</ns1:Revision>
<ns1:Source>ERCOT</ns1:Source>
<ns1:UserID>USER1@TESTQSE</ns1:UserID>
<ns1:MessageID>9ab09b0a37be965f68bb47759c149b37</ns1:MessageID>
<ns1:Comment>WxtSU7bv</ns1:Comment>
</ns1:Header>
<ns1:Reply>
<ns1:ReplyCode>OK</ns1:ReplyCode>
<ns1:Timestamp>2010-01-20T14:37:52.577-06:00</ns1:Timestamp>
</ns1:Reply>
<ns1:Payload>
<ns2:BidSet xmlns:ns2="http://www.ercot.com/schema/2007-06/nodal/ews">
<ns2:tradingDate>2010-01-22</ns2:tradingDate>
<ns2:submitTime>2010-01-20T14:37:50.602-06:00</ns2:submitTime>
<ns2:IncDecOffer>
<ns2:mRID>TESTQSE.20100122.IDO.XYZ.INC</ns2:mRID>
<ns2:externalId/>
<ns2:status>ERRORS</ns2:status>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>Validation of the Incremental Decremental Offer failed.</ns2:text>
</ns2:error>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>The MW Quantities and Price in the PQ Curve are same between points 1 and 2 for
hours ending 1 to 1</ns2:text>
</ns2:error>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>The first quantity 12 in the pq_curve element must be equal to low reasonability
limit 255 for hours ending 1 to 1</ns2:text>
</ns2:error>
<ns2:error>
<ns2:severity>ERROR</ns2:severity>
<ns2:text>The MW Quantities and Price in the PQ Curve are same between points 1 and 2 for
hours ending 2 to 2</ns2:text>
</ns2:error>
</ns2:IncDecOffer>
</ns2:BidSet>
<ns1:format>XML</ns1:format>
</ns1:Payload>
</ns1:ResponseMessage>
</NotificationMessages>