The most popular use of SMS Gateway API is sending messages. You can use our service to programmatically send a message through your Android phone
Below is some sample requests and response. For complete API documentation on sending a sms messages please refer to the Swagger (Open API Specification) documentations here: SMS Gateway API Definition
Request Endpoint | |||
---|---|---|---|
Endpoint: | https://smsgateway.me/api/v4/message/send | ||
Method: | POST | ||
Request Parameters | |||
Name | Location | Required | Description |
Authorization | header | true | Your API token found on the settings page |
Content | body | true | JSON payload with the information of SMS messages the API should send |
A list of messages to send. You can use any combination of phone numbers, messages and devices
[
{
"phone_number": "07791064781",
"message": "Hello World",
"device_id": 1
},
{
"phone_number": "07791064782",
"message": "Hello World",
"device_id": 2
}
]
Successful Response
A list of messages that are now pending to be sent
Response Code: 200
[
{
"id": 59484209,
"device_id": 1,
"phone_number": "07791064781",
"message": "Hello World",
"status": "pending",
"log": [
{
"status": "pending",
"occurred_at": "2018-05-05T16:51:22+00:00"
}
],
"created_at": "2018-05-05T16:51:22+00:00"
},
{
"id": 59484210,
"device_id": 2,
"phone_number": "07791064782",
"message": "Hello World",
"status": "pending",
"log": [
{
"status": "pending",
"occurred_at": "2018-05-05T16:51:22+00:00"
}
],
"created_at": "2018-05-05T16:51:22+00:00"
}
]
Validation Error
When a validation exception occurs
Response Code: 400
{
"status": "fail",
"message": "failed validation",
"data": [
{
"key": "name",
"errors": [
"This value should not be blank."
]
},
{
"key": "number",
"errors": [
"This value should not be blank."
]
},
{
"key": "device_id",
"errors": [
"This value should not be blank."
]
}
]
}
Error Response
When a request can not be processed
Response Code: 40x | 500
{
"status": "fail",
"message": "Could not process request",
"data": {
"exception": "Error message"
}
}
You can use our Swagger generated PHP SDK to help integrate with our service. If you wish to use SMS Gateway Me with a different platform you may generate your own client using the swagger file.
Installation Instructions: PHP SMS Gateway SDK
Swagger Definition: SMS Gateway API Definition
<?php
require 'vendor/autoload.php';
use SMSGatewayMe\Client\ApiClient;
use SMSGatewayMe\Client\Configuration;
use SMSGatewayMe\Client\Api\MessageApi;
use SMSGatewayMe\Client\Model\SendMessageRequest;
// Configure client
$config = Configuration::getDefaultConfiguration();
$config->setApiKey('Authorization', 'your-token-here');
$apiClient = new ApiClient($config);
$messageClient = new MessageApi($apiClient);
// Sending a SMS Message
$sendMessageRequest1 = new SendMessageRequest([
'phoneNumber' => '07791064781',
'message' => 'test1',
'deviceId' => 1
]);
$sendMessageRequest2 = new SendMessageRequest([
'phoneNumber' => '07791064781',
'message' => 'test2',
'deviceId' => 2
]);
$sendMessages = $messageClient->sendMessages([
$sendMessageRequest1,
$sendMessageRequest2
]);
print_r($sendMessages);
Array
(
[0] => SMSGatewayMe\Client\Model\Message Object
(
[id:protected] => 63402677
[deviceId:protected] => 90295
[message:protected] => test1
[status:protected] => pending
[log:protected] => Array
(
[0] => SMSGatewayMe\Client\Model\MessageLog Object
(
[status:protected] => pending
[occurredAt:protected] => DateTime Object
(
[date] => 2018-05-14 21:13:07.000000
[timezone_type] => 1
[timezone] => +00:00
)
)
)
[createdAt:protected] => DateTime Object
(
[date] => 2018-05-14 21:13:07.000000
[timezone_type] => 1
[timezone] => +00:00
)
[updatedAt:protected] =>
)
[1] => SMSGatewayMe\Client\Model\Message Object
(
[id:protected] => 63402678
[deviceId:protected] => 90295
[message:protected] => test2
[status:protected] => pending
[log:protected] => Array
(
[0] => SMSGatewayMe\Client\Model\MessageLog Object
(
[status:protected] => pending
[occurredAt:protected] => DateTime Object
(
[date] => 2018-05-14 21:13:07.000000
[timezone_type] => 1
[timezone] => +00:00
)
)
)
[createdAt:protected] => DateTime Object
(
[date] => 2018-05-14 21:13:07.000000
[timezone_type] => 1
[timezone] => +00:00
)
[updatedAt:protected] =>
)
)