openapi: 3.0.1
info:
title: B2BMessagingPull
description: 'The B2BMessagingPull API is a B2B SMP API used to send and receive B2B messages between
the participants in a Pull messaging pattern. The messages will be queued in the e-Hub and the receiving
participant can poll the e-Hub, ‘pull’ and process the messages that are queued.
For details on how to get access and business rules for this API:
'
version: '1.0'
x-origin:
- format: openapi
version: '3.0'
source: AEMO API Management developer portal
url: https://dev.aemo.com.au/developer/apis/b2bmessaging-pull-v1/operations?api-version=2022-04-01-preview
servers:
- url: https://api-prd.aemo.local/ws/B2BMessagingPull
paths:
/messageAcknowledgements:
delete:
operationId: deleteMessageAcknowledgement
summary: Delete Message Acknowledgement
tags:
- B2BMessagingPull
description: Participants opting-in for Pull API are required to notify the e-Hub that the message
acknowledgement was successfully received and processed. This notification will delete the message
acknowledgement message in the e-Hub queue.
parameters:
- name: initiatingParticipantID
in: query
required: true
schema:
type: string
description: ParticipantID of the Participant invoking the API
- name: messageContextID
in: query
required: true
schema:
type: string
description: This should be set to the messageContextID of the message acknowledgement (MACK)
that is being requested to be deleted from the e-Hub queue.
responses:
'200':
description: aseXML hub Acknowledgement (status = ‘Accept’) will be sent
content:
application/xml:
example: <_x0032_00APIResponseResponse-xml>
'400':
description: This response is provided when the submitted payload cannot be passed successfully.
'404':
description: This response is provided when the resource name missing from URL or is invalid.
'405':
description: This response is provided when the method is not POST
'429':
description: This response is provided when the throttling limits are reached.
'500':
description: This response is provided when any unforeseen error is encountered, such as; Certificate/key
do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.
post:
operationId: submitMessageAcknowledgement
summary: Submit Message Acknowledgement
tags:
- B2BMessagingPull
description: "Purpose - Acknowledge a received message. Detail - For every message, a message acknowledgment\
\ is generated (with the exception of messages containing message acknowledgements). A BusinessReceipt\
\ has two possible implementations -\n • MessageAcknowledgement.\n • Event, errors are reported\
\ via Event elements.\n \n \nIf a message is rejected, no receipt identifier is required with\
\ the acknowledgement.\n\nThis resource will be used when Participants are required to send Message\
\ Acknowledgement in the HTTP request. messageContextID should be set to the messageContextID\
\ of the original message that is to be acknowledged. \n\nIn order that the sender receive timely\
\ acknowledgement of message delivery, the receiver should respond immediately to each aseXML\
\ message with a message acknowledgement.\n\n Note: If a Participant is required to send a\
\ transaction message or transaction acknowledgement message, ‘/messages’ resource is to be used.\
\ If a Participant is required to send ‘message acknowledgements’ in the request payload, then\
\ ‘/messageAcknowledgements’ resource is to be used."
parameters:
- name: messageContextID
in: header
required: true
schema:
type: string
description: "Message ID defined by the Participant. \nThe messageContextID is used in the following\
\ ways:\n1. To provide a contextID for the message exchange. The participant/e-Hub uses the\
\ contextID of the original request when delivering its corresponding MACK(s).\n2. If the Recipient\
\ is on FTP, the filename is set to .zip.\n3. The name of the archive files\
\ is set to .zip.\n4. To provide context to the failure messages to be returned\
\ where the incoming payload is unreadable such as, the payload is schema invalid.\n\nFormat\
\ of is: [TransactionGroup 0-9_a-z]{1,4} + [Priority h|m|l] + \"_\" + [FromParticipantID]{1,10}\
\ + \"_\" + [0-9_a-z]{1,18} "
requestBody:
content:
application/xml:
example: 3453535315OR-REC-123410/15/2004 1:02:35 AMAcceptNoMessageInformationstringstringstringstring
description: An example of a message acknowledgement is given below. For more xml payload examples;
Download the Postman collection.
responses:
'200':
description: aseXML hub Acknowledgement (status = ‘Accept’) will be sent
content:
application/xml:
example: <_x0032_00APIResponseResponse-xml>
'400':
description: This response is provided when the submitted payload cannot be passed successfully.
'404':
description: This response is provided when the resource name missing from URL or is invalid.
'405':
description: This response is provided when the method is not POST
'429':
description: This response is provided when the throttling limits are reached.
'500':
description: This response is provided when any unforeseen error is encountered, such as; Certificate/key
do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.
/queues:
get:
operationId: returnsTheMetaDataOfMessagesInTheEHubQueueOrTheAseXMLMessagesQueuedAwaitingDeliveryToTheRecipientInitiatorOfThisAPI
summary: Returns the meta-data of messages in the e-Hub queue (or) the aseXML messages queued awaiting
delivery to the Recipient (initiator of this API).
tags:
- B2BMessagingPull
description: Returns meta-data of messages in e-Hub queue for the participant initiating the API
request.
parameters:
- name: messageContextID
in: query
required: false
schema:
type: string
description: "If maxResults and messageContextID are passed, the API will attempt to retrieve\
\ (pull) the message matching the messageContextID. \n\nIf only messageContextID is passed,\
\ the API will retrieve the meta data of the message(s) matching the messageContextID. \n\n\
Note- If an invalid messageContextID is passed, the e-Hub will send HTTP response code of 404\
\ stating that the requested resource does not exist."
- name: transactionGroup
in: query
required: false
schema:
type: string
enum:
- MTRD
- MRSR
- SORD
- CUST
- SITE
- OWNP
- OWNX
- NPNX
- PTPE
description: "If maxResults & transactionGroup are populated API will pull the message(s) matching\
\ the transactionGroup; providing the oldest message in the e-Hub queue (FIFO) \n\nIf only transactionGroup\
\ is passed (no maxResults) API will retrieve the meta data of the message(s) matching the transactionGroup\
\ \n\nNote- If an invalid transactionGroup is passed, the e-Hub will send HTTP response code\
\ of 500 stating that transaction group is invalid"
- name: priority
in: query
required: false
schema:
type: string
enum:
- Low
- Medium
- High
description: If maxResults & priority are populated API will pull the message(s) matching the
priority; providing the oldest message in the e-Hub queue (FIFO) If only priority is passed
(no maxResults) API will retrieve the meta data of message(s) matching the priority Note- If
an invalid priority is passed, the e-Hub will send HTTP response code of 500 stating that priority
is invalid
- name: maxResults
in: query
required: false
schema:
type: string
description: "The ‘/queues’ resource could be used in two ways\n- To identify the meta data of\
\ messages (list of messages) in the e-Hub queue (or)\n- To pull the messages from e-Hub queue\
\ If maxResults query string parameter is not passed, then the e-Hub will provide a list of\
\ messages in the e-Hub queue for the initiating Participant. \n\nIf maxResults is populated;\
\ the e-Hub will return messages in the e-Hub queue, providing the oldest message in the e-Hub\
\ queue (FIFO) if other parameters are not passed. The message that was pulled from the e-Hub\
\ queue will be deleted only when the Participant has successfully responded with a corresponding\
\ MACK.\n\nNote - If maxResults > 1; the e-Hub will default it to 1; i.e. the e-Hub will always\
\ retrieve only one message from the Hub queue. maxResults > 1 will be utilised in the future\
\ where Participants can specify the number of aseXML messages to pull from the e-Hub queue."
- name: initiatingParticipantID
in: query
required: true
schema:
type: string
description: ParticipantID of the Participant invoking the API
responses:
'200':
description: aseXML message listing the messages & its meta data in the e-Hub queue.
content:
application/xml:
schema: {}
'400':
description: This response is provided when the submitted payload cannot be passed successfully.
'404':
description: This response is provided when the resource name missing from URL or is invalid.
'405':
description: This response is provided when the method is not POST
'429':
description: This response is provided when the throttling limits are reached.
'500':
description: This response is provided when any unforeseen error is encountered, such as; Certificate/key
do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.
/messages:
post:
operationId: submitAB2BMessage
summary: Submit a B2B message
tags:
- B2BMessagingPull
description: Submit a B2B message.
parameters:
- name: messageContextID
in: header
required: true
schema:
type: string
description: "Message ID defined by the Participant. \nThe messageContextID is used in the following\
\ ways:\n1. To provide a contextID for the message exchange. The participant/e-Hub uses the\
\ contextID of the original request when delivering its corresponding MACK(s).\n2. If the Recipient\
\ is on FTP, the filename is set to .zip.\n3. The name of the archive files\
\ is set to .zip.\n4. To provide context to the failure messages to be returned\
\ where the incoming payload is unreadable such as, the payload is schema invalid.\n\nFormat\
\ of is: [TransactionGroup 0-9_a-z]{1,4} + [Priority h|m|l] + \"_\" + [FromParticipantID]{1,10}\
\ + \"_\" + [0-9_a-z]{1,18} "
requestBody:
content:
application/xml:
example: urn:aseXML:r38http://www.w3.org/2001/XMLSchema-instanceurn:aseXML:r38 http://www.nemmco.com.au/aseXML/schemas/r38/aseXML_r38.xsdENERGYCO1INTEGPhsmdh_hsm_2007021612320012310/14/2005 3:02:35 PMCATSHighstringAATELEC345353531510/15/2004 1:02:35 AMr25stringstringstringNMIstringr36New string stringstring
string stringstringstringstringBluffBAstringstringLGLstringstringstringstringOTHstringstringstringstringstringstringstringstringstringstringABNr36Initial string
stringstringstringstringstringstringstringstringstringMessageInformationstringstringstringstringr32Returned
Mail33433434r36LGLstringstringstringstringOTHstringstringstringstringLife SupportUpdatestringPension
Cardstringstringstringr19string string stringIndustrialstringstringr36string33433434r9stringr14stringstringr36stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringr36stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringMessageInformationstringstringstringstringstringr25stringr36stringstringstringstringstring000000stringstringstringstringstringstringstringr36 string stringstringstringstringstringstringSO Requestedstringstringstringr36stringstringstringstringstringstringr36stringstringstringstringstringstringstringstringstringstringr38stringstringUpdatestringRegistered
- No Medical ConfirmationstringOxygen
ConcentratorLGLstringstringstringstringOTHstringstringstringstringPostal Addressstringstringr38Confirm Life Support33433434
description: An example of a message is given below. For more xml payload examples; Download
the Postman collection.
responses:
'200':
description: aseXML hub Acknowledgement (status = ‘Accept’) will be sent
content:
application/xml:
example: <_x0032_00APIResponseResponse-xml>
'400':
description: This response is provided when the submitted payload cannot be passed successfully.
'404':
description: This response is provided when the resource name missing from URL or is invalid.
'405':
description: This response is provided when the method is not POST
'429':
description: This response is provided when the throttling limits are reached.
'500':
description: This response is provided when any unforeseen error is encountered, such as; Certificate/key
do not match or incorrect or e-Hub/API/downstream service is not available or Malformed payload.
components:
securitySchemes:
apiKeyHeader:
type: apiKey
name: x-eHub-APIKey
in: header
apiKeyQuery:
type: apiKey
name: subscription-key
in: query
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: B2BMessagingPull
description: The B2BMessagingPull API is a B2B SMP API used to send and receive B2B messages between
the participants in a Pull messaging pattern. The messages will be queued in the e-Hub and the receiving
participant can poll the e-Hub, ‘pull’ and process the messages that are queued.