1

As a requirement, We need to hold the SMSes from being sent through Transactional API for a specific period of time during the night(say 10 PM- 5 AM) and reprocess those messages after the specified window.

Now we are invoking those SMSes from Service Cloud and are using Transactional API of Marketing cloud to send those messages.

What are our options to achieve this? Can we do something at Service Cloud side or does Transactional API support some kind of blackout feature?

1

I would like to shed some light here since it has been a couple of days without any comments or answers.

I went through the documentation and help pages and found nothing regarding blackout period specifically for SMS sends using Transactional API, however, there is a little note in the blackout period doc:

Any send blackout time specified in the MobileConnect app does not affect sends conducted using MobileConnect API calls.

To validate whether Transactional SMS sends honour the blackout period, I had set up some Transactional SMS sends (using Postman) and enabled blackout period but the SMS sends came through.

Therefore, the statement of blackout period not being respected in MObileConnect API calls prevails in Transactional SMS sends too.

Moreover, I then decided to use the SendTime parameter which is available in the Post Message to a number API resource for MobileConnect.

I added the SendTime parameter to the sample request to send an SMS using the API resource (SMS - Send a Message to a Single Recipient)

Sample request:

{
  "definitionKey": "45492e0a-24fb-4413-xxx-xxxxxx",
  "recipient": {
    "to": "614xxxxxxxx",
    "contactKey": "XXXXXX",
    "attributes": {
      "FirstName": "XX"
    }
  },
  "subscriptions": {
    "resubscribe": true,
    "SendTime": "2020-09-30 22:30" //Here is the parameter
  }
}

I kept getting an error with this additional parameter in the payload but I get success when SendTime parameter is removed.

Response:

{
    "message": "MCMS_UTM_Validation_UnknownFieldName: Unrecognized sms field name 'subscriptions.SendTime'",
    "errorcode": 10000,
    "documentation": ""
}

With an assumption that maybe SendTime parameter isn't in the right property so I moved it from subscriptions to the top-level but it failed.

Concluding to my several tests and document digging attempts, I can say that the blackout period is unsupported for Transactional SMS sends and SendTime parameter isn't supported either in the API requests.

I'm keen to hear from Salesforce Technical Services team if SendTime parameter or equivalent parameter exists which is undocumented.

P.S You're better off setting some logic in service cloud to handle these requests or you could leverage the traditional MobileConnect API to respect SendTime parameters.

| improve this answer | |
  • Thanks @Brad Sapkota,appreciate your efforts. i am going the service Cloud route and trying to find ways to honour the black out period. – Chetan Oct 1 at 6:48
  • No worries, glad to help @Chetan. Please accept the post as resolved if this has resolved your query :) – Brad Sapkota Oct 1 at 8:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.