diff --git a/independent-publisher-connectors/MessageBird SMS/apiDefinition.swagger.json b/independent-publisher-connectors/MessageBird SMS/apiDefinition.swagger.json new file mode 100644 index 000000000..8604a24c2 --- /dev/null +++ b/independent-publisher-connectors/MessageBird SMS/apiDefinition.swagger.json @@ -0,0 +1,1115 @@ +{ + "swagger": "2.0", + "info": { + "title": "MessageBird SMS", + "description": "messagebird's SMS service allows you to send and receive SMS messages to and from any country in the world.", + "version": "1.0", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "rest.messagebird.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/messages": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "offset": { + "type": "integer", + "format": "int32", + "description": "The offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit.", + "title": "Limit" + }, + "count": { + "type": "integer", + "format": "int32", + "description": "The count.", + "title": "Count" + }, + "totalCount": { + "type": "integer", + "format": "int32", + "description": "The total count.", + "title": "Total Count" + }, + "links": { + "type": "object", + "properties": { + "first": { + "type": "string", + "description": "The first.", + "title": "First" + }, + "previous": { + "type": "string", + "description": "The previous.", + "title": "Previous" + }, + "next": { + "type": "string", + "description": "The next.", + "title": "Next" + }, + "last": { + "type": "string", + "description": "The last.", + "title": "Last" + } + }, + "title": "Links" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "href": { + "type": "string", + "description": "The HREF.", + "title": "HREF" + }, + "direction": { + "type": "string", + "description": "The direction.", + "title": "Direction" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "body": { + "type": "string", + "description": "The body.", + "title": "Body" + }, + "reference": { + "type": "string", + "description": "The reference.", + "title": "Reference" + }, + "validity": { + "type": "string", + "description": "The validity.", + "title": "Validity" + }, + "gateway": { + "type": "integer", + "format": "int32", + "description": "The gateway.", + "title": "Gateway" + }, + "typeDetails": { + "type": "object", + "properties": {}, + "description": "The type details.", + "title": "Type Details" + }, + "datacoding": { + "type": "string", + "description": "The data coding.", + "title": "Data Coding" + }, + "mclass": { + "type": "integer", + "format": "int32", + "description": "The message class.", + "title": "Message Class" + }, + "scheduledDatetime": { + "type": "string", + "description": "The scheduled datetime.", + "title": "Scheduled Datetime" + }, + "createdDatetime": { + "type": "string", + "description": "When created datetime.", + "title": "Created Datetime" + }, + "recipients": { + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "description": "The total count.", + "title": "Total Count" + }, + "totalSentCount": { + "type": "integer", + "format": "int32", + "description": "The total sent count.", + "title": "Total Sent Count" + }, + "totalDeliveredCount": { + "type": "integer", + "format": "int32", + "description": "The total delivered count.", + "title": "Total Delivered Count" + }, + "totalDeliveryFailedCount": { + "type": "integer", + "format": "int32", + "description": "The total delivery failed count.", + "title": "Total Delivery Failed Count" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recipient": { + "type": "integer", + "format": "int32", + "description": "The recipient.", + "title": "Recipient" + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "status": { + "type": "string", + "description": "The status.", + "title": "Status" + }, + "statusReason": { + "type": "string", + "description": "The status reason.", + "title": "Status Reason" + }, + "statusErrorCode": { + "type": "string", + "description": "The status error code.", + "title": "Status Error Code" + }, + "statusDatetime": { + "type": "string", + "description": "The status datetime.", + "title": "Status Datetime" + }, + "recipientCountry": { + "type": "string", + "description": "The recipient country.", + "title": "Recipient Country" + }, + "recipientCountryPrefix": { + "type": "integer", + "format": "int32", + "description": "The recipient country prefix.", + "title": "Recipient Country Prefix" + }, + "recipientOperator": { + "type": "string", + "description": "The recipient operator.", + "title": "Recipient Operator" + }, + "mccmnc": { + "type": "string", + "description": "The code of the operator of the message sender.", + "title": "MCCMNC" + }, + "mcc": { + "type": "string", + "description": "The MCC.", + "title": "MCC" + }, + "mnc": { + "type": "string", + "description": "The MNC.", + "title": "MNC" + }, + "messageLength": { + "type": "integer", + "format": "int32", + "description": "The message length.", + "title": "Message Length" + }, + "messagePartCount": { + "type": "integer", + "format": "int32", + "description": "The message part count.", + "title": "Message Part Count" + }, + "price": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "format": "float", + "description": "The amount.", + "title": "Amount" + }, + "currency": { + "type": "string", + "description": "The currency.", + "title": "Currency" + } + }, + "title": "Price" + } + } + }, + "title": "Items" + } + }, + "title": "Recipients" + } + } + }, + "title": "Items" + } + } + } + } + }, + "summary": "List messages", + "description": "Retrieve a list of all inbound and outbound SMS messages.", + "operationId": "MessagesGet", + "parameters": [ + { + "name": "originator", + "in": "query", + "x-ms-summary": "Originator", + "description": "The originator.", + "required": false, + "type": "string" + }, + { + "name": "recipient", + "in": "query", + "x-ms-summary": "Recipient", + "description": "The recipient.", + "required": false, + "type": "string" + }, + { + "name": "direction", + "in": "query", + "x-ms-summary": "Direction", + "description": "The direction.", + "required": false, + "type": "string", + "default": "mt", + "enum": [ + "mt", + "mo" + ] + }, + { + "name": "limit", + "in": "query", + "x-ms-summary": "Limit", + "description": "The limit.", + "required": false, + "type": "string" + }, + { + "name": "offset", + "in": "query", + "x-ms-summary": "Offset", + "description": "The offset.", + "required": false, + "type": "integer" + }, + { + "name": "searchterm", + "in": "query", + "x-ms-summary": "Search terms", + "description": "The search terms.", + "required": false, + "type": "string" + }, + { + "name": "type", + "in": "query", + "x-ms-summary": "Type", + "description": "The type.", + "required": false, + "type": "string", + "default": "sms", + "enum": [ + "sms", + "binary", + "flash" + ] + }, + { + "name": "contact_id", + "in": "query", + "x-ms-summary": "Contact ID", + "description": "The contact identifier.", + "required": false, + "type": "integer" + }, + { + "name": "status", + "in": "query", + "x-ms-summary": "Status", + "description": "The status.", + "required": false, + "type": "string", + "default": "sent", + "enum": [ + "sent", + "scheduled", + "buffered", + "delivered", + "expired", + "delivery_failed" + ] + }, + { + "name": "from", + "in": "query", + "x-ms-summary": "From", + "description": "The from.", + "required": false, + "type": "string" + }, + { + "name": "until", + "in": "query", + "x-ms-summary": "Until", + "description": "The until.", + "required": false, + "type": "string" + } + ] + }, + "post": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "href": { + "type": "string", + "description": "The HREF.", + "title": "HREF" + }, + "direction": { + "type": "string", + "description": "The direction.", + "title": "Direction" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "body": { + "type": "string", + "description": "The message body.", + "title": "Body" + }, + "reference": { + "type": "string", + "description": "The reference.", + "title": "Reference" + }, + "validity": { + "type": "string", + "description": "The validity.", + "title": "Validity" + }, + "gateway": { + "type": "integer", + "format": "int32", + "description": "The gateway.", + "title": "Gateway" + }, + "typeDetails": { + "type": "object", + "properties": {}, + "description": "The type details.", + "title": "Type Details" + }, + "datacoding": { + "type": "string", + "description": "The data coding.", + "title": "Data Coding" + }, + "mclass": { + "type": "integer", + "format": "int32", + "description": "The message class.", + "title": "Message Class" + }, + "scheduledDatetime": { + "type": "string", + "description": "The scheduled datetime.", + "title": "Scheduled Datetime" + }, + "createdDatetime": { + "type": "string", + "description": "When created datetime.", + "title": "Created Datetime" + }, + "recipients": { + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "description": "The total count.", + "title": "Total Count" + }, + "totalSentCount": { + "type": "integer", + "format": "int32", + "description": "The total sent count.", + "title": "Total Sent Count" + }, + "totalDeliveredCount": { + "type": "integer", + "format": "int32", + "description": "The total delivered count.", + "title": "Total Delivered Count" + }, + "totalDeliveryFailedCount": { + "type": "integer", + "format": "int32", + "description": "The total delivery failed count.", + "title": "Total Delivery Failed Count" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recipient": { + "type": "integer", + "format": "int32", + "description": "The recipient.", + "title": "Recipient" + }, + "status": { + "type": "string", + "description": "The status.", + "title": "Status" + }, + "statusDatetime": { + "type": "string", + "description": "The status datetime.", + "title": "Status Datetime" + } + } + }, + "title": "Items" + } + }, + "title": "Recipients" + } + } + } + } + }, + "summary": "Send SMS", + "description": "Create and send a SMS message.", + "operationId": "MessagesPost", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "recipients": { + "type": "array", + "description": "The recipients.", + "title": "Recipients", + "items": { + "type": "string" + } + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "shortcode": { + "type": "integer", + "format": "int32", + "description": "The shortcode.", + "title": "Shortcode" + }, + "body": { + "type": "string", + "description": "The message body.", + "title": "Body" + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The group identifiers.", + "title": "Group IDs" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type", + "default": "sms", + "enum": [ + "sms", + "flash" + ] + }, + "reference": { + "type": "string", + "description": "The reference.", + "title": "Reference" + }, + "reportUrl": { + "type": "string", + "description": "The report URL address.", + "title": "Report URL" + }, + "validity": { + "type": "integer", + "format": "int32", + "description": "The validity.", + "title": "Validity" + }, + "gateway": { + "type": "integer", + "format": "int32", + "description": "The gateway.", + "title": "Gateway" + }, + "datacoding": { + "type": "string", + "description": "The data coding.", + "title": "Data Coding" + }, + "mclass": { + "type": "integer", + "format": "int32", + "description": "The message class.", + "title": "Message Class", + "default": 1, + "enum": [ + 1, + 0 + ] + }, + "shortenUrls": { + "type": "boolean", + "description": "Whether the URLs are shortened.", + "title": "Shorten URLs" + }, + "scheduledDatetime": { + "type": "string", + "description": "The scheduled datetime.", + "title": "Scheduled Datetime" + }, + "createdDatetime": { + "type": "string", + "description": "When created datetime.", + "title": "Created Datetime" + } + }, + "required": [ + "body", + "originator", + "recipients" + ] + } + } + ], + "x-ms-visibility": "important" + } + }, + "/messages/{messageId}": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "href": { + "type": "string", + "description": "The HREF.", + "title": "HREF" + }, + "direction": { + "type": "string", + "description": "The direction.", + "title": "Direction" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "body": { + "type": "string", + "description": "The message body.", + "title": "Body" + }, + "reference": { + "type": "string", + "description": "The reference.", + "title": "Reference" + }, + "validity": { + "type": "string", + "description": "The validity.", + "title": "Validity" + }, + "gateway": { + "type": "integer", + "format": "int32", + "description": "The gateway.", + "title": "Gateway" + }, + "typeDetails": { + "type": "object", + "properties": {}, + "description": "The type details.", + "title": "Type Details" + }, + "datacoding": { + "type": "string", + "description": "The data coding.", + "title": "Data Coding" + }, + "mclass": { + "type": "integer", + "format": "int32", + "description": "The message class.", + "title": "Message Class" + }, + "scheduledDatetime": { + "type": "string", + "description": "The scheduled datetime.", + "title": "Scheduled Datetime" + }, + "createdDatetime": { + "type": "string", + "description": "When created datetime.", + "title": "Created Datetime" + }, + "recipients": { + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "description": "The total count.", + "title": "Total Count" + }, + "totalSentCount": { + "type": "integer", + "format": "int32", + "description": "The total sent count.", + "title": "Total Sent Count" + }, + "totalDeliveredCount": { + "type": "integer", + "format": "int32", + "description": "The total delivered count.", + "title": "Total Delivered Count" + }, + "totalDeliveryFailedCount": { + "type": "integer", + "format": "int32", + "description": "The total delivery failed count.", + "title": "Total Delivery Failed Count" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recipient": { + "type": "integer", + "format": "int32", + "description": "The recipient.", + "title": "Recipient" + }, + "status": { + "type": "string", + "description": "The status.", + "title": "Status" + }, + "statusReason": { + "type": "string", + "description": "The status reason.", + "title": "Status Reason" + }, + "statusErrorCode": { + "type": "string", + "description": "The status error code.", + "title": "Status Error Code" + }, + "statusDatetime": { + "type": "string", + "description": "The status datetime.", + "title": "Status Datetime" + }, + "recipientCountry": { + "type": "string", + "description": "The recipient country.", + "title": "Recipient Country" + }, + "recipientCountryPrefix": { + "type": "integer", + "format": "int32", + "description": "The recipient country prefix.", + "title": "Recipient Country Prefix" + }, + "recipientOperator": { + "type": "string", + "description": "The recipient operator.", + "title": "Recipient Operator" + }, + "mccmnc": { + "type": "string", + "description": "The MCCMNC.", + "title": "MCCMNC" + }, + "mcc": { + "type": "string", + "description": "The MCC.", + "title": "MCC" + }, + "mnc": { + "type": "string", + "description": "The MNC.", + "title": "MNC" + }, + "messageLength": { + "type": "integer", + "format": "int32", + "description": "The message length.", + "title": "Message Length" + }, + "messagePartCount": { + "type": "integer", + "format": "int32", + "description": "The message part count.", + "title": "Message Part Count" + }, + "price": { + "type": "object", + "properties": { + "amount": { + "type": "number", + "format": "float", + "description": "The amount.", + "title": "Amount" + }, + "currency": { + "type": "string", + "description": "The currency.", + "title": "Currency" + } + }, + "title": "Price" + } + } + }, + "title": "Items" + } + }, + "title": "Recipients" + } + } + } + } + }, + "summary": "View a message", + "description": "Retrieve the information of an existing inbound or outbound SMS message.", + "operationId": "MessageGet", + "parameters": [ + { + "name": "messageId", + "in": "path", + "x-ms-summary": "Message ID", + "x-ms-url-encoding": "single", + "description": "The message identifier.", + "required": true, + "type": "string" + } + ], + "x-ms-visibility": "important" + } + }, + "/messages/batches": { + "post": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "href": { + "type": "string", + "description": "The HREF.", + "title": "HREF" + }, + "direction": { + "type": "string", + "description": "The direction.", + "title": "Direction" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "body": { + "type": "string", + "description": "The body.", + "title": "Body" + }, + "reference": { + "type": "string", + "description": "The reference.", + "title": "Reference" + }, + "validity": { + "type": "string", + "description": "The validity.", + "title": "Validity" + }, + "gateway": { + "type": "integer", + "format": "int32", + "description": "The gateway.", + "title": "Gateway" + }, + "typeDetails": { + "type": "object", + "properties": {}, + "description": "The type details.", + "title": "Type Details" + }, + "datacoding": { + "type": "string", + "description": "The data coding.", + "title": "Data Coding" + }, + "mclass": { + "type": "integer", + "format": "int32", + "description": "The message class.", + "title": "Message Class" + }, + "scheduledDatetime": { + "type": "string", + "description": "The schedule datetime.", + "title": "Scheduled Datetime" + }, + "createdDatetime": { + "type": "string", + "description": "When created datetime.", + "title": "Created Datetime" + }, + "recipients": { + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32", + "description": "The total count.", + "title": "Total Count" + }, + "totalSentCount": { + "type": "integer", + "format": "int32", + "description": "The total sent count.", + "title": "Total Sent Count" + }, + "totalDeliveredCount": { + "type": "integer", + "format": "int32", + "description": "The total delivered count.", + "title": "Total Delivered Count" + }, + "totalDeliveryFailedCount": { + "type": "integer", + "format": "int32", + "description": "The total delivery failed count.", + "title": "Total Delivery Failed Count" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recipient": { + "type": "integer", + "format": "int32", + "description": "The recipient.", + "title": "Recipient" + }, + "status": { + "type": "string", + "description": "The status.", + "title": "Status" + }, + "statusDatetime": { + "type": "string", + "description": "The status datetime.", + "title": "Status Datetime" + } + } + }, + "title": "Items" + } + }, + "title": "Recipients" + } + } + } + } + } + }, + "summary": "Send a batch SMS", + "description": "Sends a batch of SMS messages.", + "operationId": "BatchPost", + "parameters": [ + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recipients": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The recipients.", + "title": "Recipients" + }, + "originator": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "body": { + "type": "string", + "description": "The body.", + "title": "Body" + } + } + }, + "title": "Messages" + } + } + } + } + ] + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "API Key": { + "type": "apiKey", + "in": "header", + "name": "Authorization" + } + }, + "security": [ + { + "API Key": [] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://messagebird.com/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://messagebird.com/legal/terms" + }, + { + "propertyName": "Categories", + "propertyValue": "Communication" + } + ] +} \ No newline at end of file diff --git a/independent-publisher-connectors/MessageBird SMS/apiProperties.json b/independent-publisher-connectors/MessageBird SMS/apiProperties.json new file mode 100644 index 000000000..6e7345c56 --- /dev/null +++ b/independent-publisher-connectors/MessageBird SMS/apiProperties.json @@ -0,0 +1,23 @@ +{ + "properties": { + "connectionParameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "displayName": "Access Key (in the form \"AccessKey yourAccessKey\")", + "description": "The Access Key (in the form \"AccessKey yourAccessKey\") for this api", + "tooltip": "Provide your Access Key (in the form \"AccessKey yourAccessKey\")", + "constraints": { + "tabIndex": 2, + "clearText": false, + "required": "true" + } + } + } + }, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Troy Taylor", + "stackOwner": "MesssageBird" + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/MessageBird SMS/readme.md b/independent-publisher-connectors/MessageBird SMS/readme.md new file mode 100644 index 000000000..fb55057d1 --- /dev/null +++ b/independent-publisher-connectors/MessageBird SMS/readme.md @@ -0,0 +1,23 @@ +# MessageBird SMS +MessageBird’s SMS service allows you to send and receive SMS messages to and from any country in the world. + +## Publisher: Troy Taylor, Hitachi Solutions + +## Prerequisites +You will need to sign up for an account with [MessageBird](https://dashboard.messagebird.com/sign-up). You will also need to verify a mobile telephone number. + +## Obtaining Credentials +Once your number has been verified, you can go to the dashboard to retrieve your API keys for both testing and live usage. + +## Supported Operations +### List messages +Retrieve a list of all inbound and outbound SMS messages. +### Send SMS +Create and send a SMS message. +### View a message +Retrieve the information of an existing inbound or outbound SMS message. +### Send a batch SMS +Sends a batch of SMS messages. + +## Known Issues and Limitations +There are no known issues at this time.