Getting Started

SMS API requests must be sent over HTTPS. Use your API key from your private account for authentication.

Base URL

https://sms-api.wifisher.com/api/v2

Authentication

Every request requires an API key in request headers or query parameters.

api-key: YOUR_API_KEY

SendMessage (GET)

GET /send
Request Example
$response = Http::get('https://sms-api.wifisher.com/api/v2/send', [
    'to' => '995595079020',
    'from' => 'wifisher',
    'content' => 'test message',
    'api-key' => 'YOUR_API_KEY',
]);
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/send', {
  params: {
    'to': '995595079020',
    'from': 'wifisher',
    'content': 'test message',
    'api-key': 'YOUR_API_KEY',
  },
});

SearchByNumber

GET /searchMessagesByNumber
Request Example
$response = Http::get('https://sms-api.wifisher.com/api/v2/searchMessagesByNumber', [
    'mobile' => '9955XXXXXXXX',
]);
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/searchMessagesByNumber', {
  params: {
    'mobile': '9955XXXXXXXX',
  },
});

SendMessage (POST)

POST /send
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
])
    ->post('https://sms-api.wifisher.com/api/v2/send', [
    'from' => 'test',
    'to' => '995595079020',
    'content' => 'test message',
]);
const axios = require('axios');

const response = await axios.post('https://sms-api.wifisher.com/api/v2/send', {
  'from': 'test',
  'to': '995595079020',
  'content': 'test message',
}, {
  headers: {
    'api-key': 'YOUR_API_KEY',
  },
});

getDelivery

GET /deliveryStatus/{messageID}
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
])
    ->get('https://sms-api.wifisher.com/api/v2/deliveryStatus/{messageID}');
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/deliveryStatus/{messageID}', {
  headers: {
    'api-key': 'YOUR_API_KEY',
  },
});

sendBatch

POST /sendBatch
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
])
    ->post('https://sms-api.wifisher.com/api/v2/sendBatch', [
    'from' => 'wifisher',
    'data' => '[{"to":995595079020,"content":"Test content "},{"to":995555009020,"content":"Test content2"}]',
    'no_sms' => 'true',
]);
const axios = require('axios');

const response = await axios.post('https://sms-api.wifisher.com/api/v2/sendBatch', {
  'from': 'wifisher',
  'data': '[{"to":995595079020,"content":"Test content "},{"to":995555009020,"content":"Test content2"}]',
  'no_sms': 'true',
}, {
  headers: {
    'api-key': 'YOUR_API_KEY',
  },
});

Balance

GET /balance
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
])
    ->get('https://sms-api.wifisher.com/api/v2/balance');
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/balance', {
  headers: {
    'api-key': 'YOUR_API_KEY',
  },
});

senderNames

GET /senderNames
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
])
    ->get('https://sms-api.wifisher.com/api/v2/senderNames');
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/senderNames', {
  headers: {
    'api-key': 'YOUR_API_KEY',
  },
});

GetBatchDelivery

GET /getBatchDelivery/{batchId}/{Number}
Request Example
$response = Http::get('https://sms-api.wifisher.com/api/v2/getBatchDelivery/{batchId}/{Number}', [
    'api-key' => 'YOUR_API_KEY',
]);
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/getBatchDelivery/{batchId}/{Number}', {
  params: {
    'api-key': 'YOUR_API_KEY',
  },
});

GetBatchDeliveryWithBatchID

GET /getBatchDelivery/{batchId}
Request Example
$response = Http::get('https://sms-api.wifisher.com/api/v2/getBatchDelivery/{batchId}', [
    'api-key' => 'YOUR_API_KEY',
]);
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/getBatchDelivery/{batchId}', {
  params: {
    'api-key': 'YOUR_API_KEY',
  },
});

GetDashboardCampaigns

GET /dashboardCampaigns
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
    'params' => '"start_date":"2021-09-01","end_date":"2021-09-10"',
])
    ->get('https://sms-api.wifisher.com/api/v2/dashboardCampaigns');
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/dashboardCampaigns', {
  headers: {
    'api-key': 'YOUR_API_KEY',
    'params': '"start_date":"2021-09-01","end_date":"2021-09-10"',
  },
});

GetDashboardCampaignStatistics

GET /dashboardCampaignStatistics
Request Example
$response = Http::withHeaders([
    'api-key' => 'YOUR_API_KEY',
    'params' => '"template_id": "92120",  "delivery": "1"',
])
    ->get('https://sms-api.wifisher.com/api/v2/dashboardCampaignStatistics');
const axios = require('axios');

const response = await axios.get('https://sms-api.wifisher.com/api/v2/dashboardCampaignStatistics', {
  headers: {
    'api-key': 'YOUR_API_KEY',
    'params': '"template_id": "92120",  "delivery": "1"',
  },
});

SMS-off webhook

Webhook Method: GET

Purpose: This webhook is designed to send information about SMS messages received by your system to a third party. For example, if an end user with the number 995XXXXXXXXX sends a text to the Short Number 94XXX, our system will trigger a webhook request to the specified URL, forwarding the details of the message.

Example Webhook Request: https://thirdparty.com/sms-receive/?from=995XXXXXXXXX&to=94XXX&content=Hello+World&api-key=Your_api_key


Webhook URL Structure and Parameters:

  • Base URL: https://thirdparty.com/sms-receive/
    • This is the endpoint address on the third-party server where we will send the message information.

Query Parameters:

  • from: The phone number of the SMS sender. This is the user's number that sent the message (e.g., 995XXXXXXXXX).

  • to: The Short Number or specific code where the user sent the SMS text (e.g., 94XXX).

  • content: The message text sent by the user. This parameter contains the actual message content received by the third party.

  • api-key: A security API key that authorizes and identifies the webhook request on the third-party server, ensuring that only authorized messages are received.


Example Breakdown

To clarify the request format, here is a breakdown of each parameter in the webhook example:

  • from=995XXXXXXXXX specifies the end user's number who sent the text.
  • to=94XXX specifies the short number the message was sent to.
  • content=Hello+World represents the message text from the user.
  • api-key=Your_api_key provides authorization, ensuring secure transmission to the authorized server.

Using this webhook setup, the third party will continuously receive updates for incoming messages to your system, allowing them to respond or process the information as needed.