Why were we billed for an SMS that was never delivered?

Why were we charged for a SMS that never got to its intended recipient?

SMS Connexion is an API platform where you pay-as-you-go. In some cases, SMS Connexion may send SMS that users don't receive. These cases are independent of SMS Connexion and involve the network operator.

SMS Connexion charges for any attempted delivery of an SMS (a successful API request).

In the event that an HTTP error is returned when making the API request, SMS Connexion won't charge you for the message. You will be charged by SMS Connexion for messages if delivery was attempted (HTTP status code 200).

Delivery attempts

If SMS Connexion attempted to deliver your message, whether it was ACCEPTED, DELIVERED, or FAILED, you will be charged.

For additional information on possible message statuses see What are the different SMS delivery report statuses, and what do they mean?

API errors (HTTP Response Errors)

If you perform an API request to SMS Connexion in order to send a SMS and the SMS API returns an HTTP response error (for instance an HTTP 400), it signifies that SMS Connexion was unable to perform your request. You will not be billed for unsuccessful API requests.

Numerous factors can cause API requests to SMS Connexion to fail, but the most common cause is an API request that is invalid or malformed.

Examples of API-level errors that may occur:

  • invalid destination phone number
  • the country you are trying to send SMS is restricted, your geo-permissions are not enabled
  • trying to send to a user who has already unsubscribed from your texts.

API errors usually occur within the 4XX range (e.g. 400, 401, 403). For further information check the error codes reference page.

In some instances, SMS Connexion may deliver messages to the carrier, but they may not reach the end user's handset. See our guide on SMS troubleshooting for complete troubleshooting steps.

SMS Connexion charges for every accepted message delivery attempt, regardless of whether it was successful or not. Messages with the ACCEPTED, SENT, DELIVERED, and FAILED statuses will all be counted in your account balance.

Messages with status REJECTED, NO COVERAGE are not charged as it indicates that the destination number is either opt-out or SMS Connexion currently doesn’t have coverage to that network operator.

Messages with delivery report REJECTED can indicate that:

  • the destination country needs sender ID pre-registration and you did not complied
  • the destination country requires pre-approval of text template
  • the recipient has opted out of receiving yournewsletters

Messages with delivery report NO COVERAGE can indicate that currently there is no routing available for the destination country or network operator.

Please refer to our article on troubleshooting undelivered SMS messages for more information.

Was this page helpful?