Web2SMS API Documentation

Integrate SMS messaging into your applications with our simple and powerful REST API

Quick Start

With our Web to SMS service, you can automate the sending of text messages from your website or devices. You'll need credit in your account to send messages.

Note: SMS messages cost $0.10 +GST per message. Premium route with delivery reports costs an additional $0.02 +GST per message.

API Endpoint

Send SMS Endpoint
https://websms.co.nz/api/send.php
Example Request
https://websms.co.nz/api/send.php?username=username@domain.co.nz&password=mypassword&premium=0&cellnum=64271234567&message=Hello from WebSMS API
Optional Delivery Report URL
&dlrurl=http://www.yoururl.co.nz/delivery-report.php

Parameters

Parameter Required Description Example
username Required Your WebSMS account username (email) user@domain.co.nz
password Required Your WebSMS account password mypassword
cellnum Required Recipient phone number (with country code) 64271234567
message Required SMS message content (max 160 characters) Hello World
premium Optional Use premium route for delivery reports (0 or 1) 1
dlrurl Optional URL for delivery report callbacks http://yoursite.com/dlr.php
balance Optional Check account balance only (true) true

Response Codes

Success Responses
Response Description
OK:Queued:109720 Message successfully queued with ID 109720
Error Responses
Response Description
NOK:Funds:You do not have enough funds Insufficient account balance
NOK:Login:Invalid Username or Password Authentication failed

Delivery Reports (DLR)

When you specify a dlrurl, we'll send delivery status updates to your server via GET requests.

Example DLR Callbacks
GET /delivery-report.php?id=109720&dlr=8 - Message Queued
GET /delivery-report.php?id=109720&dlr=1 - Message Delivered
DLR Status Codes
DLR Code Status Description
1 Delivered Message successfully delivered to handset
2 Failed Delivery failure
4 Buffered Message buffered for delivery
8 Queued Message queued at SMSC
16 Rejected Message rejected by SMSC
Note: Sometimes messages may be delivered but only show DLR 8 (Queued) due to SMSC resource prioritization.

Reply Messages

Reply messages are delivered to your registered email address and optionally to your DLR URL.

Reply Callback Example
GET /delivery-report.php?id=+109720&reply=Reply Text

Note the + prefix in the message ID for reply messages.

Balance Check

Check your account balance programmatically using the API.

Balance Check Request
https://websms.co.nz/api/send.php?username=user@domain.co.nz&password=mypassword&balance=true

Returns your current account balance in credits.

Code Examples

PHP Example
<?php
$username = 'user@domain.co.nz';
$password = 'mypassword';
$to = '64271234567';
$message = 'Hello from PHP!';

$url = 'https://websms.co.nz/api/send.php?' . http_build_query([
    'username' => $username,
    'password' => $password,
    'cellnum' => $to,
    'message' => $message,
    'premium' => 0
]);

$response = file_get_contents($url);
echo $response;
?>
JavaScript (Node.js) Example
const axios = require('axios');

const params = {
    username: 'user@domain.co.nz',
    password: 'mypassword',
    cellnum: '64271234567',
    message: 'Hello from Node.js!',
    premium: 0
};

axios.get('https://websms.co.nz/api/send.php', { params })
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
Python Example
import requests

params = {
    'username': 'user@domain.co.nz',
    'password': 'mypassword',
    'cellnum': '64271234567',
    'message': 'Hello from Python!',
    'premium': 0
}

response = requests.get('https://websms.co.nz/api/send.php', params=params)
print(response.text)

Need Help with Integration?

Our support team is here to help you get started with the WebSMS API

Migrating from Bulletin Connect?

We also offer a drop-in replacement API that's 100% compatible with Bulletin Connect/Connexus. No code changes required - just update your credentials and URL!

View Connexus API Documentation