...
- This call can be preceded by multiple calls to the 'store' endpoint. If it is preceded by calls to store with same
transactionWritePointer
, then this endpoint should be called with an empty messages field. If it is not preceded by store calls with sametransactionWritePointer
, then this call will store themessages
to the MessageTable
directly. - If the call does not contain a
transactionWritePointer
, then the messages are stored non-transactionally (ie, without a tx write ptr).POST [base_url]/topics/[topic]/publish
Request schema can optionally contain
transactionWritePointer
. If store calls were made previously with the sametransactionWritePointer
, the messages array should be empty.Response:
404 NOT FOUND if topic is not present
200 OK if messages are persisted
400 BAD REQUEST if the {{transactionWritePointer}} is null and the messages field is empty. Messages field can be empty if the transactionWritePointer is providedResponse Body:
If the publish is non-transactional, the response body is empty
- If the publish is transactional, the response body will contains a set of rollback keys
- The set of rollback keys are needed for the rollback call described below
- Schema
{ "type" : "array", "items" : "bytes" }
Rollback Transactionally published messages
POST [base_url]/topics/[topic]/rollback
Request Schema
{ "transactionWritePointer" : "long", "rollbackKeys" : { "type" : "array", "items" : "bytes" } }
Response:
404 NOT FOUND if topic is not present
200 OK if messages are rolled back
...