openapi: 3.2.0
info:
title: B2 B Messaging Pull API
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: '3.0'
x-origin:
- format: openapi
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
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.
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\nNote- 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