SMS Detailed

This data source provides a log of MT and MO SMS messages, including the message contents. You can see whether each message was successful, using either a high-level description or the individual receipt code. You can see the time between an MT message being accepted and it's final delivery time (if you wish to look into message delivery speed). You can also see the country the message was sent to, whether we performed an operator lookup, and which mobile operator the phone number is subscribed through.

There are no standard widgets based on this report because it does not contain aggregate data. (There must be at least one aggregate field in a report in order to create a chart-type widget.) However, you could still display some rows of the report in a table on a dashboard.

This data source contains data for one year prior to the current date. The maximum date range supported is two days.

Standard reports

Standard reports were designed by OpenMarket as a set of default scheduled reports useful to most businesses. The SMS Detailed is used as the data source for the standard report: SMS Daily Detailed Report.

Your ability to access this report depends on whether your OpenMarket account manager has provisioned it for your company, and whether your organization's administrator has either shared the report with you or given you access to the SMS Detailed data source. If you have access to the data source then you can add the report to your folders. If the report is shared with you then you have either Can View or Can Edit access.

Custom reports

Custom reports are one-time and scheduled reports that you create yourself. You can use this data source to create custom reports; for example, to see messages by a particular delivery receipt code.

You can also copy the SMS Daily Detailed Report to create your own custom scheduled reports, for example, filtered by:

  • Short code (or other message originator)
  • Account ID or Account Name
  • Individual countries
  • Subaccount (UK/MX SMS API customers only)

Quick tips

Some helpful tips for when using this data source are:

  • Include ticket ID, particularly if you need to match the report to data you received in delivery receipts, or if you might need to contact OpenMarket Support about messages in the report.

  • If you want a high-level view of message delivery, use Message Status; if you want to investigate why messages failed, use Delivery Receipt Code (or Delivery Receipt Description).

  • Destination Address and Source Address are related. They list the message originator and end user's phone number based on who sent the message. This means you can identify the message direction by seeing whether your message originator is in one column or the other. A simpler solution can be to include Message Direction.

  • Message Originator and Phone Number are related. They list the message originator and end user's phone number; however, you cannot tell by just looking at either column whether the message was MT or MO. To know this, include Message Direction.

  • Note 1 and Note 2 are both free-text data fields for your business needs. For example, you can use them to hold your own ticket or transaction IDs for each message.

When using this data source, the following fields report similar information (and you might want to include only one of them):

  • Country Name (shows the full name) and Country Code Alpha-2 (shows a two letter abbreviation)

  • Delivery Receipt Codes (a number) and delivery Receipt Description (a text description). If you need to check the report against the delivery receipts you've received from OpenMarket, the easiest thing to use is Delivery Receipt Codes.

  • Account Name and Account ID are linked unique identifiers, so you only need to include the field that suits you. If you want to see what the possible values for either field, then:

    1. Add them as filters
    2. Use the drop-down to check the field values (and remove the filters when ready)

Note: If you are filtering the report by a dialable message originator or the end user's phone number, then you need to make sure you supply the number in international format — that is, with the country code included. For example: 12515550100 (US number) or 447700900750 (UK number). Don't include a "+" character. This doesn't apply to short codes, which you should enter as is.

Fields and Filters

The following table describes the SMS Detailed Data Source fields and filters. Click any field you want to add to the report, and in the Alias field enter a new name for the column. If you do not assign an alias to the field, the default column name is used.

SMS Detailed Data Source Fields and Filters

Parameter

Description

Accepted Date

The time and date (in UTC) when we accepted a valid message request from your account or from a mobile operator.

While not required fields, we recommend adding the Accepted Date, Delivered Date and Updated Date fields as they are useful in analyzing an SMS message's history. If included, you can select to group messages by:

  • Second — this is the default value.
  • Minute
  • 15 Minutes
  • 30 Minutes
  • Hour
  • Day — as per the UTC
  • Week — this is Sundays to Saturdays
  • Month — each calendar month
  • Quarter — The quarters are: January-March, April-June, July-September, October-December
  • Year — year by 1st of January until 31st of December

Filterable? Yes. When used as a filter, it is always required.

You can filter the report by the following:

  • Predefined — select a predefined choice. This can be either Today, Yesterday, This Week, Last Week, This Month, or Last Month; however remember that the maximum date range is restricted to 2 days for this report (as set in the Accepted Date filter)
  • Rolling — select the type of time period (e.g. Hours) and how many units of that time you want included in the report. For example, "5 Hours" will create a report that, when run, includes the last 5 hours data.
  • Equals — select a specific date by clicking the calendar icon, or by entering the date using a yyyy/mm/dd format.
  • Custom Range — select a date range; however, remember that the maximum data range is 2 days for this report.

When creating a scheduled report, use either the Predefined or the Rolling options as these adjust for each run of the report to show data relative to the run time.

Filterable? Yes. When used as a filter, it is always required.

Delivered Date

The time and date (in UTC) when the end user received the message.

This is based on the delivery receipt we receive from the mobile operator. The accuracy of the receipt depends on the mobile operator and the region that the message was sent to.

Note that in some locations we can only send the messages at a specific time of day; for example, promotional messaging in India are restricted to business hours due to local regulations. Use with the Accepted Date field to calculate the delivery speed. Add the Updated Date if you want to also see when messages failed.Use with the Accepted Date field to calculate the delivery speed. Add the Updated Date if you want to also see when messages failed. If included, you can select to group messages by:

  • Second — this is the default value.
  • Minute
  • 15 Minutes
  • 30 Minutes
  • Hour
  • Day — as per the UTC
  • Week — this is Sundays to Saturdays
  • Month — each calendar month
  • Quarter — The quarters are: January-March, April-June, July-September, October-December
  • Year — year by 1st of January until 31st of December

Filterable? Yes.

You can filter the report by the following:

  • Predefined — select a predefined choice. This can be either Today, Yesterday, This Week, Last Week, This Month, or Last Month; however remember that the maximum date range is restricted to 2 days for this report (as set in the Accepted Date filter)
  • Rolling — select the type of time period (e.g. Hours) and how many units of that time you want included in the report. For example, "5 Hours" will create a report that, when run, includes the last 5 hours data.
  • Equals — select a specific date by clicking the calendar icon, or by entering the date using a yyyy/mm/dd format.
  • Custom Range — select a date range; however, remember that the maximum data range is 2 days for this report.

When creating a scheduled report, use either the Predefined or the Rolling options as these adjust for each run of the report to show data relative to the run time.

Filterable? Yes. When used as a filter, it is always required.

Updated Date

The time and date (in UTC) when the most recent event happened related to this message. This is most often the time when we received the final delivery status from the mobile operator.

In this data source, we include only the most recent information about the SMS message. If included, messages can be grouped by:

  • Second — this is the default value.
  • Minute
  • 15 Minutes
  • 30 Minutes
  • Hour
  • Day — as per the UTC
  • Week — this is Sundays to Saturdays
  • Month — each calendar month
  • Quarter — The quarters are: January-March, April-June, July-September, October-December
  • Year — year by 1st of January until 31st of December

Filterable? Yes.

You can filter the report by the following:

  • Predefined — select a predefined choice. This can be either Today, Yesterday, This Week, Last Week, This Month, or Last Month; however remember that the maximum date range is restricted to 2 days for this report (as set in the Accepted Date filter)
  • Rolling — select the type of time period (e.g. Hours) and how many units of that time you want included in the report. For example, "5 Hours" will create a report that, when run, includes the last 5 hours data.
  • Equals — select a specific date by clicking the calendar icon, or by entering the date using a yyyy/mm/dd format.
  • Custom Range — select a date range; however, remember that the maximum data range is 2 days for this report.

When creating a scheduled report, use either the Predefined or the Rolling options as these adjust for each run of the report to show data relative to the run time.

Filterable? Yes. When used as a filter, it is always required.

Account ID

The unique ID of an account you have with OpenMarket. Depending on your business requirements, you may have multiple accounts to send and receive SMS.


Filterable? Yes. Enter one or more account IDs on which to filter. From the drop-down list, enter the account ID, and then select it from the list. Search and add additional account IDs as needed. A tally keeps track of the number of IDs added to the filter. Alternately, you can filter on Account Name.

Account Name

The unique name of an account you have with OpenMarket. Depending on your business requirements, you may have multiple accounts to send and receive SMS messages.

You can alternatively use Account ID in the report. Include if your business is using multiple accounts, particularly if your business units use different accounts that you will need to report on.


Filterable? Yes. Enter one or more account names on which to filter. From the drop-down list, enter the account name, and then select it from the list. Search and add additional account names as needed. A tally keeps track of the number of account names added to the filter. Alternately, you can filter on Account ID.

API Version

This field is left blank for MO messages. This is useful in custom reports only if you are currently using multiple OpenMarket APIs (e.g. both the version 3 or version 4 options), or are transitioning from one API to another (e.g. from the legacy UK APIs to version 4).


Filterable? Yes. Enter one or more API versions on which to filter. From the drop-down list, enter the API version, and then select it from the list.A tally keeps track of the number of API versions added to the filter. API version filters are:

  • VERSION_4 — Our HTTP Global SMS API
  • VERSION_4_SMPP — Our SMPP Global SMS API
  • US_VERSION_3 — Our version 3 HTTP SMS API
  • US_VERSION_3_SMPP — Our version 3 SMPP API
  • UKGW — The legacy UK APIs (HTTP and SMPP options)
Campaign ID

The unique identifier for a global campaign, which is associated with an account ID and name.


Filterable? Yes. Enter one or more campaign IDs on which to filter. From the drop-down list, enter the campaign ID, and then select it from the list. Search and add additional campaign IDs as needed. A tally keeps track of the number of IDs added to the filter. Alternately, you can filter on Campaign Name.

Campaign Name

The name associated with the campaign ID.


Filterable? Yes. Enter one or more campaign names on which to filter. From the drop-down list, enter the campaign name, and then select it from the list. Search and add additional campaign names as needed. A tally keeps track of the number of names added to the filter. Alternately, you can filter on Campaign ID.

Content

The contents of the SMS message. This will be either text or binary data. Note that this does not include the User Data Header (UDH), if one was sent.

For MO messages, this is the content as we received it from the mobile operator. Note that some of our APIs may deliver MOs as binary content, however, this report may have that content as plain text.

If you include this field, then you should also include the Content Encoding field so that you can filter for messages you need to decode.


Filterable? Yes.

Use this filter to search for a specific message, or type of message. This will filter for perfect or exact matches only, e.g. no partial matching. To search for binary messages, you will need to convert the binary content into hexadecimal.

Content Encoding

The type of encoding for the message. Include this field if you're also including the Content field.


Filterable?: Yes. Filters are:

  • UTF-8
  • BINARY

You can select both encoding types. Note that this may not be the encoding you used when you sent the message (or when we delivered an MO message to your system).

Country Code Alpha-2

The two-letter code that identifies the country or region. For example, AU (Australia) or CA (Canada). You can find a list of the codes on Wikipedia.

  • For MTs, this is the country of the destination
  • For MOs, this is the country of the originator

The value ## means that we were not sent the country details back from the mobile operator (most operators include this and other details in the delivery receipt they send us). It is not linked to the delivery status of the message.

You can alternately use the Country Name, which lists the full name of the country or region.


Filterable? Yes. You can filter by one or more country alpha codes. From the drop-down list, enter or search for the country code then select it. As you select country codes, a tally keeps track of the number of country codes added to the filter.

Country Name

The name of the country in which the end user's phone number is registered.

The value unknown means that we were not sent the country details back from the mobile operator (most operators include this and other details in the delivery receipt they send us). It is not linked to the delivery status of the message.

You can alternately use the Country Code, which is the two-letter code for a country or region.


Filterable? Yes. You can filter by one or more country names. From the drop-down list, enter or search for the country name, and then select it. As you select country names, a tally keeps track of the number of country names added to the filter.

Delivery Receipt Code

A code number and message that identifies the current or final delivery state of a message. If you want a high-level view of message delivery, use Message Status.


Filterable? Yes. Use this to look at the specific delivery issues you may have had, as it provides a granular breakdown of issues that is useful for troubleshooting.

Codes can differ between API versions. See the following:

Alternately, you can filter by Delivery Receipt Description. You can filter by one or more codes. From the drop-down list, enter or search for the code then select it. As you select codes, a tally keeps track of the number of codes added to the filter.

Delivery Receipt Description

Use this to look at the specific delivery issues you may have had, as it provides a granular breakdown of issues that is useful for troubleshooting. If you want a high-level view of message delivery, use Message Status.


Filterable? Yes.

Codes can differ between API versions. See the following:

Alternately, you can filter by Delivery Receipt Code. You can filter by one or more descriptions. From the drop-down list, enter or search for the description, and then select it. As you select descriptions, a tally keeps track of the number of descriptions added to the filter.

Destination Address

The message recipient. For MT messages, this is the end user's phone number. For MO messages, this is one of your message originators.


Filterable? Yes. Filter by a specific number or alphanumeric string. If you are entering a dialable number that's not a short code, make sure it is in international format. For example, enter 12515550100 for a US number or 447700900750 for a UK number. If you want to see both the sender and receiver of a message, include Source Address.

India - Message Purpose Type

Valid for India messaging only. This identifies whether the message was sent as promotional or transactional. For more information, see Sending to India.

Promotional messages can only be sent between certain times, so you may see delays between the Accepted Date and the Delivered Date for that reason.


Filterable?: Yes. This is a free-text field, so you will need to enter either:

  • transactional
  • promotional

You can also add both types to the filter.

Message Direction

Indicates whether the message was sent from your account or from an end user. Useful to quickly determine the direction of the message, particularly if you are using Message Originator and Phone Number in the report (and do not include Destination Address or Sender Address, which indicate direction).



Filterable? Yes. You can select one or both of:

  • MT — for filtering on messages sent from your account
  • MO — for filtering on messages sent from an end user

Message Originator

The source number used to send an MT message or receive an MO message. Types of originators include short codes, text-enabled landlines, toll-free numbers, alphanumeric strings, and virtual mobile numbers (long codes).


Filterable? Yes. Multiple values are supported. This is a free-text field, so you will need to know your originators before using this filter. To add multiple originators, include a line space between each number—that is, press the Enter key after adding each number so that each number is on its own line. Use this to split the message traffic by your message originators. You can use this in conjunction with the Message Direction field to see the messages coming from and to that originator.

Message Originator Type

The type of number (TON) of the message originator.


Filterable? Yes. Filters are:

  • 1 — any international-format number, such as a virtual mobile number (long code), landline or toll-free number
  • 3 — short code
  • 5 — alphanumeric string

You can add one or more originator types to the filter. As you select types to add, a tally keeps track of the number of originator types added to the filter.

Message Status

Provides the current or final delivery status of a message. Use this if you want a high-level view of message delivery. This is in comparison to using the delivery receipt code, which provides a more granular breakdown of delivery issues and is more suited to specific troubleshooting.


Filterable? Yes. Filters are:

  • Delivered — the message was successfully delivered
  • Awaiting Report — we forwarded the message to the operator, however we have not received a delivery receipt yet
  • Failed — the message was not delivered. The delivery receipt code will identify the reason the message failed.
  • Accepted — the message was accepted by the operator
  • Rejected — the message was rejected by the operator after the number of retries was exhausted
  • Expired — the message could not be delivered during the set validity period
  • Retrying — the message has not yet been delivered, but retries are being attempted
  • Unknown — the status of the message cannot be determined for some reason

You can select one or more statuses on which to filter. As you select statuses to add, a tally keeps track of the number of statuses added to the filter.

Mobile Operator ID

Use this field if you want to see the operators your end users are connected to, organized by mobile operator ID. This can be useful for troubleshooting high message failures with a specific operator — include the delivery receipt code in the report.

Note, however, that this does not always indicate the operator that we directly sent the messages to; some messages are sent off-net—for example, using a related operator in the same region—or in more remote locations, by a high-quality route.


Filterable?: Yes.

This is always a number, such as 383 for AT&T, and 348 for T-Mobile in the UK. For the US, if the operator is unknown, we return a value of 0. For the rest of the world, an unknown operator is returned as -1.

Select one ore more mobile operators to add to the filter. As you select operators, a tally keeps track of the number of operators added to the filter.

You can alternatively use Mobile Operator Name in the report.

Mobile Operator Name

Use this field if you want to see the operators your end users are connected to, organized by mobile operator name. This can be useful for troubleshooting high message failures with a specific operator — include the delivery receipt code in the report.

Note, however, that this does not always indicate the operator that we directly sent the messages to; some messages are sent off-net—for example, using a related operator in the same region—or in more remote locations, by a high-quality route.


Filterable? Yes.

This filter list organizes mobile operators by name, followed by their country of operation and mobile operator ID.

If the operator is in the US, and unknown, we return a value of unknown (US, 0). For the rest of the world, this is returned as unknown (null ,-1)

Select one ore more mobile operators to add to the filter. As you select operators, a tally keeps track of the number of operators added to the filter.

You can alternatively use Mobile Operator ID in the report, particularly if you need to compare this report to information OpenMarket returns in our API responses.

Note 1

Include this field if your MT message requests specified Note 1; otherwise, you can ignore this field. This field is empty for MO messages.

Contains information included in an MT message request. This field is intended for per-request data, such as an ID that your system generates. It has no effect on the message or its delivery.


Filterable?: Yes. This is a free-text field, so you'll need to know the value you sent.

Note 2

Include this field if your MT message requests specified Note 2; otherwise, you can ignore this field. This field is empty for MO messages.

Contains information included in an MT message request. This field is intended for per-request data, such as an ID that your system generates. It has no effect on the message or its delivery.


Filterable?: Yes. This is a free-text field, so you'll need to know the value you sent.

Operator Lookup Flag

Useful if you want to see whether a lookup was required for each message, as this information isn't returned in delivery receipts.

Note that whether OpenMarket needs to perform a lookup depends on factors like the destination country, type of message, and whether your request specified the mobile operator.


Filterable?: Yes. Filters are:

  • Yes — for an operator lookup on each message
  • No — for no operator lookup on each message

This filter is useful if you want to filter for just lookups that you might be charged for; for example, if you sent messages in the US or Canada using a short code or toll-free number. In this scenario, you should also filter the report by Message Originator for only your US short codes and toll-free numbers.

Parent Ticket ID

A Parent Ticket ID exists only when an MT message request was split into multiple SMS parts. The Parent Ticket ID is the ticket ID that we sent you when we accepted the message request — the ticket ID in the synchronous response. When we send the message to the operator, we create new ticket IDs for each part. These are in the Ticket ID column of the report.


Filterable?: Yes. This is a free-text field so you would need to know the ticket ID in advance. This is useful if you have sent a multipart SMS. Alternatively, you might like to use the SMS Activity Search.

Phone Number

For messages sent in either direction (MT or MO), this is the end user's phone number.

Add Message Originator to the report if you would like to see the end user's number, and Message Direction to see who sent the message.


Filterable? Yes. Multiple values are supported. This is a free-text field, so you will need to know the end user's number before using this filter. To add phone numbers, include a line space between each ID—that is, press the Enter key after adding each number so that each number is on its own line. The phone number should also use an international format—for example: 12515550100 (US) or 447700900750 (UK). Don't include the plus (+) character.

Product Name

This indicates whether or not the sent message was a global one-way or two-way message. This is useful if you need to reconcile your one-way and two-way messaging, particularly if you are using our HTTP Global SMS API.

If you're using our HTTP Global SMS API, you can specify whether a message is one-way or two-way in your request, using "interaction". If you don't specify this, or if you're using another API version or another product, then OpenMarket determines the product based on the message originator you used to send the message, and what region the message was sent to.

Note that all US and Canadian messaging is two-way.

For MO messages, the value is always two-way.


Filterable?: Yes. Filters are:

  • One Way
  • Two Way
  • Unknown

MO messages are included in the two-way data, so if you want only MT or MO messages in the report, filter by Message Direction.

Source Address The message sender. For MT messages this is your message originator. For MO messages this is the end user's phone number.

Filterable? Yes. Filter by a specific number or alphanumeric string. If you are entering a dialable number — that is, a number that is not a short code — use an international format.

  • If you want to filter for a specific message originator or end user's phone number, then use Message Originator and Phone Number respectively. You can also filter by the Message Direction (MT or MO).
  • If you want to see both the sender and receiver of a message, include Destination Address.

Multiple values are supported. This is a free-text field, so you will need to know the end user's number before using this filter. Short codes are not supported. You must enter a dialable number in an international format—for example: 12515550100 (US) or 447700900750 (UK). Don't include the plus (+) character. Each phone number must be on its own line—that is, press the Enter key after adding each number.

 

Subaccount

This field is only populated if you are using the UK SMS API (also known as the MX API). It contains information included in the MT message request. This value is filterable, so that you can group your messages in Reporting Insights using your own campaign or program identifiers. It has no effect on the message or its delivery. Include this field if you are grouping messaging programs using subaccount; otherwise, you can ignore this field.

Do not use subaccount for individual identifiers, such as "ticket" or "transaction" IDs.


Filterable?: Yes. Use to filter the report by one or more of your subaccount groups. This is a free-text field, so you'll need to know the possible values you have sent with your messages. You can filter on multiple subaccounts. Each subaccount must be on its own line—that is, press the Enter key after adding each subaccount.

Ticket ID

An OpenMarket-generated ID that identifies the SMS message in our systems. We return this value to you in the synchronous response to a message request, and in delivery receipts. You can use this ID to identify the message with OpenMarket Support and in your own systems.

For multipart messages, this is the identifier for one of the message parts. The Parent Ticket ID is the original ticket ID received, and identifies the complete message.

If you are doing any form of troubleshooting or reconciliation, we recommend including Ticket ID in your report.


Filterable?: Yes. This is a free-text field so you will need to know the ticket ID in advance. This is useful if you have sent a multipart SMS and you want to find information about a particular segment. Alternatively, you might like to use the SMS Activity Search

US - Program ID

The pre-provisioned program linked to the short code messaging service you are providing. OpenMarket provides you with the value during provisioning.

This is required only for certain messaging programs in the US, such as short code messaging. Include this field only if your messaging programs use a program ID.


Filterable?: Yes. This is a free-text field so you need to know the program ID in advance.

User Data Header

Programmatic data that is sent as part of the message. It specifies how the message should be formatted and processed. For example, it is used to ensure multipart messages are combined on the end user's phone. This field might be useful if you are examining or reconstructing multipart messages sent by an end user.

Both MT and MO messages may include a UDH.


Filterable?: Yes. This is a free-text field, and does not support partial matches. You will need to know the full UDH in advance.