A software development kit to provide ways to interact with CM.com's Text service. API's used:
Using your unique ApiKey
(or product token) which authorizes you on the CM platform. Always keep this key secret!
var client = new TextClient(new Guid(ConfigurationManager.AppSettings["ApiKey"]));
By calling SendMessageAsync
and providing message text, sender name, recipient phone number(s) and a reference (optional).
var result = await client.SendMessageAsync("Message_Text", "Sender_Name", new List<string> { "Recipient_PhoneNumber" }, "Your_Reference").ConfigureAwait(false);
SendMessageAsync
returns an object of type TextClientResult
, example:
{
"statusMessage": "Created 1 message(s)",
"statusCode": 201,
"details": [
{
"reference": "Example_Reference",
"status": "Accepted",
"to": "Example_PhoneNumber",
"parts": 1,
"details": null
},
{
"reference": "Example_Reference2",
"status": "Rejected",
"to": "Example_PhoneNumber2",
"parts": 0,
"details": "A body without content was found"
}
]
}
By using the MessageBuilder
it is possible to create images with media for channels such as WhatsApp and RCS
var apiKey = new Guid(ConfigurationManager.AppSettings["ApiKey"]);
var client = new TextClient(apiKey);
var builder = new MessageBuilder("Message Text", "Sender_name", "Recipient_PhoneNumber");
builder
.WithAllowedChannels(Channel.WhatsApp)
.WithRichMessage(
new MediaMessage(
"cm.com",
"https://avatars3.githubusercontent.com/u/8234794?s=200&v=4",
"image/png"
)
);
var message = builder.Build();
var result = await client.SendMessageAsync(message);
For all possibly returned status codes, please reference the TextClientStatusCode
enum.