HTTP OUT trunk#

An HTTP OUT trunk lets your application send outbound SMS from your DID numbers through the DIDWW Outbound SMS API. Your application submits each message to DIDWW over HTTPS. When a Callback URL is configured on the trunk, DIDWW sends status callbacks for the message to that URL. This enables direct integration with your own systems or third-party services.

The trunk provides the API credentials, the IP addresses allowed to submit requests, and the DID numbers that can be used as the sender ID. It handles outbound messages only. An HTTP OUT trunk is not assigned to DID numbers and cannot be added to SMS trunk groups. To receive inbound SMS, use an inbound trunk such as an HTTP IN trunk.

How HTTP OUT trunks work#

Your application sends each message to the Outbound SMS API and authenticates with the trunk’s credentials. DIDWW accepts the request only if the credentials are valid and, when Allowed IP addresses is set, the request comes from an allowed IP address. DIDWW then processes the message, checks that its source address is allowed on the trunk, and routes it to the destination carrier. When a Callback URL is configured, DIDWW sends a status callback to it after processing.

        %%{init: {
  "theme": "base",
  "themeVariables": {
    "fontSize": "14px",
    "primaryColor": "#e0f2fe",
    "primaryBorderColor": "#38bdf8",
    "primaryTextColor": "#1f2d3d",
    "secondaryColor": "#ccfbf1",
    "secondaryBorderColor": "#2dd4bf",
    "secondaryTextColor": "#1f2d3d",
    "lineColor": "#0066cc",
    "textColor": "#1f2d3d",
    "nodeTextColor": "#1f2d3d",
    "edgeLabelBackground": "#ffffff"
  }
}}%%

flowchart LR

    app["Your application"] --> |submits message with trunk credentials| api["DIDWW Outbound SMS API"]
    api --> |routes message| carrier["Destination carrier"]
    carrier --> recipient["Recipient"]
    api --> |status callbacks, if configured| callback["Your Callback URL"]

    classDef endpoint fill:#e0f2fe,stroke:#0066cc,color:#1f2d3d,stroke-width:1.5px
    classDef process fill:#ccfbf1,stroke:#2dd4bf,color:#1f2d3d,stroke-width:1.5px

    class app,recipient,callback endpoint
    class api,carrier process

    linkStyle default stroke:#0066cc,stroke-width:1.5px
    

The API response to your request confirms only that DIDWW accepted the message for processing. It is not proof of delivery. To receive the processing result, configure a Callback URL. To also receive the final delivery status, enable DLR events. See Status callbacks and delivery receipts. Messages sent through the trunk also appear in Outbound SMS logs.

You can also send a single message through the trunk from the DIDWW User Panel, for example to test it. Production traffic is sent through the Outbound SMS API.

Credentials and access#

DIDWW generates a username and password for each HTTP OUT trunk. Your application sends them with every API request using HTTP Basic Authentication. Regenerating the credentials replaces both the username and the password immediately, and every integration that uses the old credentials must be updated.

Allowed IP addresses adds a second layer of protection. When the field contains IP addresses, the API rejects requests from any other source. When it is empty, requests from all IP addresses are allowed. For both layers, see Authentication.

The trunk credentials list one API endpoint for each DIDWW location, US, NY and NL, AMS. HTTP OUT trunks have no location setting. To use a location, send your requests to its endpoint. API requests are also subject to a rate limit.

Sender IDs#

The sender ID, also called the source address, depends on the type of message:

  • P2P messages use one of your DID numbers as the sender ID. By default, all DIDs with Outbound P2P SMS enabled in your account can be used. In Source Address Settings, you can limit the trunk to specific DID numbers. See P2P Outbound SMS access.

  • A2P messages use a verified Sender ID, such as an Alphanumeric Sender ID. Associate an active Sender ID Verification with the HTTP OUT trunk.

If a message uses a source address that the trunk does not allow, DIDWW does not send it. When a Callback URL is configured, the status callback reports the error. See Source address settings.


Get started#

Create a trunk, get its credentials, and submit your first message.

Create an HTTP OUT trunk

Set the trunk name, Callback URL, allowed IP addresses, and source addresses.

Create an HTTP OUT trunk
View HTTP OUT trunk credentials

Get the username, password, and API endpoints for your application.

View HTTP OUT trunk credentials
Send your first SMS with the API

Submit a message from your application with the trunk credentials.

Send your first SMS with the API

Manage trunks and credentials#

Test sending, replace credentials, and keep trunk settings up to date.

Send SMS from the User Panel

Send a test or one-time message through an HTTP OUT trunk.

Send SMS from the User Panel using an HTTP OUT trunk
Regenerate HTTP OUT trunk credentials

Replace the trunk credentials and update every integration that uses them.

Regenerate HTTP OUT trunk credentials
Manage HTTP OUT trunks

Edit trunk settings or delete trunks that are no longer required.

Manage HTTP OUT trunks

Technical references#

HTTP OUT trunk settings reference

Find field definitions, defaults, formats, and the connection details of HTTP OUT trunks.

HTTP OUT trunk settings reference
Outbound SMS API reference

Look up request formats, attributes, and responses for sending SMS.

Outbound SMS API reference
Status callbacks and delivery receipts

Understand the callbacks that DIDWW sends to your Callback URL.

Status callbacks and delivery receipts