All Products
Search
Document Center

Simple Message Queue (formerly MNS):Push messages to an HTTP server

Last Updated:Mar 11, 2026

When you publish a message to a Simple Message Queue (SMQ, formerly MNS) topic, SMQ can deliver it directly to an HTTP endpoint. This removes the need to poll for new messages -- your server receives them automatically as they are published.

This guide covers how to create a topic and subscription, publish a message, and verify message delivery end to end.

How it works

  1. You publish a message to a topic.

  2. SMQ matches the message against each subscription's filtering tag, if configured.

  3. For each matching HTTP subscription, SMQ pushes the message to the endpoint URL.

  4. Your server processes the request and acknowledges receipt.

If delivery fails, SMQ retries based on the subscription's retry policy.

Before you begin

Before you create the subscription, make sure your HTTP server is ready to receive messages:

  • Validate message signatures. Verify the signature on incoming requests to confirm they originate from SMQ. This prevents unauthorized parties from sending fake messages to your endpoint. For implementation details, see Verify a signature on an HTTP server.

Create a topic

  1. Log on to the SMQ console.

  2. In the left-side navigation pane, choose Topic Model > Topics.

  3. In the top navigation bar, select a region.

  4. On the Topics page, click Create Topic.

  5. In the Create Topic panel, configure the following parameters, and then click OK. After the topic is created, the Topic Details page appears.

    ParameterDescription
    NameThe name of the topic.
    Maximum Message LengthThe maximum length of the message body sent to the topic.
    Enable Logging FeatureWhether to enable the log management feature.

Create an HTTP subscription

  1. In the left-side navigation pane, choose Topic Model > Subscriptions.

  2. On the Subscriptions page, click Create Subscription.

  3. In the Create Subscription panel, configure the following parameters, and then click OK.

    ParameterRequiredDescription
    Topic NameYesThe topic to subscribe to.
    Subscription NameYesA name for this subscription.
    SubscriptionYesSelect HTTP as the push method.
    EndpointYesThe full HTTP URL where messages are delivered. Intranet IPs are not supported.
    Message Filtering TagNoA tag to filter which messages are pushed. Only messages published with a matching tag are delivered.
    Retry PolicyYesThe retry policy that controls how failed deliveries are retried.
    Message FormatYesThe format of the pushed message body. See Message formats for details.

Message formats

The Message Format parameter controls the structure of the message body that your server receives.

FormatDescription
SIMPLIFIEDThe message body contains only the raw message content with no attribute information. Use this format when your server only needs the message payload.
JSONThe message body is a JSON object that includes the message content and message attributes.
XMLThe message body is an XML document that includes the message content and message attributes.

Publish a test message

  1. In the left-side navigation pane, choose Topic Model > Topics.

  2. On the Topics page, find your topic and click Publish Message in the Actions column.

  3. On the Try Publishing Message to {topic} Topic page, configure the following parameters, and then click Publish Message.

    ParameterRequiredDescription
    Message ContentYesThe message body to publish.
    Message TagNoA tag for message filtering. Only subscriptions with a matching filtering tag receive this message.
    Subscription TypeYesSelect HTTP.
  4. Check your HTTP server logs to verify the message was received.

What's next