Integrating our technology into your application or software offers you a true communication extension; it works seamlessly with the technology you and your employees are already familiar with.
Designed to deal with high volumes of business texts, customers connected through our API can:
Have a SMS API with someone else?
Forget redevelopment, move over to Faretext by only having to change your credentials and end point details.
No matter who you’re with, we convert your existing API code to match ours.
Once you’ve been provided your account credentials, you need to generate a GET or POST request.
This you can do in your preferred programming language.
Please note that if you are using the economy service this has a fixed sender ID (the originator will be ignored). Only the direct and international routes support a dynamic sender ID.
Use the information below for single or multiple messages, when using a user name and password. Simply change the fields highlighted in red to your relevant information.
Or, for those that intend to use our API-key, please click the button below to view the example code and different programming languages, specifically when using an API-key.
https://faretext-api.co.uk:9443/api?action=sendmessage&username=USERNAME&password=PASSWORD&recipient=447xxxxxxxxx&originator=SENDERID
&messagedata=MESSAGE
https://faretext-api.co.uk:9443/api?action=sendmessage&username=USERNAME&password=PASSWORD&originator=SENDERID&recipient=447xxxxxxxxx;
447xxxxxxxxx&messagedata=MESSAGE
<form action=https://faretext-api.co.uk:9443/api method=post><br>
action: <input type=text name=action value=sendmessage><br>
username: <input type=text name=username value=USERNAME><br>
password: <input type=text name=password value=PASSWORD><br>
originator: <input type=text name=originator value=SENDERID><br>
recipient: <input type=text name=recipient value=447xxxxxxxxx><br>
messagedata: <input type=text name=messagedata value=’MESSAGE‘><br>
<input type=submit value=OK>
</form>
<form action=https://faretext-api.co.uk:9443/api method=post><br>
action: <input type=text name=action value=sendmessage><br>
username: <input type=text name=username value=USERNAME><br>
password: <input type=text name=password value=PASSWORD><br>
originator: <input type=text name=originator value=SENDERID><br>
recipient: <input type=text name=recipient value=447xxxxxxxxx;447xxxxxxxxx><br>
messagedata: <input type=text name=messagedata value=’MESSAGE’><br>
<input type=submit value=OK>
</form>
Once armed with your user name and password, copy and paste the example codes below to start using our API in your preferred format. If you’ve chosen to use our API key, code examples in popular languages can be found by pressing the ‘api-key view‘ button above.
<% address = "https://faretext-api.co.uk:9443/api?action=sendmessage" username = "your_username" password = "your_password" originator = "your_originator/senderid" messagedata = "Hello this is a test from Faretext" messagedata = Server.urlencode(messagedata) recipient = "telephone_number" url = address & "&username=" & username & "&password=" & password & "&originator=" & originator & "&messagedata=" & messagedata & "&recipient=" & recipient set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.open "GET", url, false xmlhttp.send "" msg = xmlhttp.responseText response.write(msg) set xmlhttp = nothing %>
<% address = "https://faretext-api.co.uk:9443/api?action=sendmessage" username = "your_username" password = "your_password" originator = "your_originator/senderid" messagedata = "Hello this is a test from Faretext" messagedata = Server.urlencode(messagedata) recipient = "telephone_number" url = address & "&username=" & username & "&password=" & password & "&originator=" & originator & "&messagedata=" & messagedata & "&recipient=" & recipient set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.open "POST", url, false xmlhttp.send "" msg = xmlhttp.responseText response.write(msg) set xmlhttp = nothing %>
<%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.IO" %> <script runat="server" language="VB"> Sub Page_Load(sender As Object, e As EventArgs) Dim Username As String = "your_username" Dim Password As String = "your_password" Dim Originator As String = "your_originator/senderid" Dim Recipient As String = "telephone_number" Dim MessageData As String = "Hello this is a test from Faretext" Dim URL As String = "https://faretext-api.co.uk:9443/api?action=sendmessage&Username=" & Username & "&Password=" & Password & "&Originator=" & Originator & "&Recipient =" &Recipient & "&MessageData=" & MessageData Dim req As HttpWebRequest = WebRequest.Create(URL) Try Dim resp As HttpWebResponse = req.GetResponse() Dim sr As New StreamReader(resp.GetResponseStream()) Dim results As String = sr.ReadToEnd() sr.Close() html.Text = results Catch wex As WebException Response.Write("ERROR! Status: " & wex.Status & "Message: " & wex.Message & "") End Try End Sub </script>
<%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.IO" %> <script runat="server" language="VB"> Sub Page_Load(sender As Object, e As EventArgs) Dim Username As String = "your_username" Dim Password As String = "your_password" Dim Originator As String = "your_originator/senderid" Dim Recipient As String = "telephone_number" Dim MessageData As String = "Hello this is a test from Faretext" Dim URL As String = "https://faretext-api.co.uk:9443/api?action=sendmessage" Dim PostData As String = "&Username=" & Username & "&Password=" & Password & "&Originator=" & Originator & "&Recipient=" & Recipient & "&MessageData=" & MessageData
Dim req As HttpWebRequest = WebRequest.Create(URL) req.Method = "POST" Dim encoding As New ASCIIEncoding() Dim byte1 As Byte() = encoding.GetBytes(PostData) req.ContentType = "application/x-www-form-urlencoded" req.ContentLength = byte1.Length Dim newStream As Stream = req.GetRequestStream() newStream.Write(byte1, 0, byte1.Length) Try Dim resp As HttpWebResponse = req.GetResponse() Dim sr As New StreamReader(resp.GetResponseStream()) Dim results As String = sr.ReadToEnd() sr.Close() html.Text = results Catch wex As WebException Response.Write("ERROR! Status: " & wex.Status & "Message: " & wex.Message & "") End Try End Sub </script>
using System; using System.Collections.Generic; using System.Net; using System.Collections.Specialized; namespace send { class send { public string send() { String MessageData = HttpUtility.UrlEncode("Hello this is a test from Faretext"); using (var wb = new WebClient()) { byte[] response = wb.UploadValues("https://faretext-api.co.uk:9443/api?action=sendmessage", new NameValueCollection() { {"Username" , "your_username"}, {"Password" , "your_password"}, {"Originator" , "your_originator/senderid"} {"Recipient" , "telephone_number"}, {"MessageData" , MessageData}, }); string result = System.Text.Encoding.UTF8.GetString(response); return result; } } } }
using System; using System.Collections.Generic; using System.Net; using System.Collections.Specialized; using System.IO; namespace send { class send { public string send() { String result; string Username = "your_username"; string Password = "your_password"; string Originator = "your_originator/senderid"; string Recipient = "telephone_number"; string MessageData = "Hello this is a test from Faretext"; String url = “https://faretext-api.co.uk:9443/api?action=sendmessage&Username” + Username + "&Password=" + Password + "&Originator=" + Originator + "&Recipient=" + Recipient + "&MessageData=" + MessageData; StreamWriter myWriter = null; HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url); objRequest.Method = "POST"; objRequest.ContentLength = Encoding.UTF8.GetByteCount(url); objRequest.ContentType = "application/x-www-form-urlencoded"; try { myWriter = new StreamWriter(objRequest.GetRequestStream()); myWriter.Write(url); } catch (Exception e) { return e.Message; } finally { myWriter.Close(); } HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse(); using (StreamReader sr = new StreamReader(objResponse.GetResponseStream())) { result = sr.ReadToEnd(); sr.Close(); } return result; } } }
function Send(Username, Password , Originator, Recipient, MessageData: String):string; const URL = 'https://faretext-api.co.uk:9443/api?action=sendmessage&Username=%s&Password=%s&Originator=%s&Recipient=%s&MessageData=%s'; ResponseSize = 1024; var hSession, hURL: HInternet; Request: String;
ResponseLength: Cardinal; begin hSession := InternetOpen('DrBob42', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); try Request := Format(URL,[Username,Password,Originator,Recipient,HttpEncode(MessageData)]); hURL := InternetOpenURL(hSession, PChar(Request), nil, 0,0,0); try SetLength(Result, ResponseSize); InternetReadFile(hURL, PChar(Result), ResponseSize, ResponseLength); SetLength(Result, ResponseLength) finally InternetCloseHandle(hURL) end finally InternetCloseHandle(hSession) end end;
function send(const Url: string): string; var NetHandle: HINTERNET; UrlHandle: HINTERNET; Buffer: array[0..1024] of Char; BytesRead: dWord; begin Result := ''; NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(NetHandle) then begin UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(UrlHandle) then { UrlHandle valid? Proceed with download } begin FillChar(Buffer, SizeOf(Buffer), 0); repeat Result := Result + Buffer; FillChar(Buffer, SizeOf(Buffer), 0); InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead); until BytesRead = 0; InternetCloseHandle(UrlHandle); end else { UrlHandle is not valid. Raise an exception. } raise Exception.CreateFmt('Error: Cannot open URL %s', [Url]);
InternetCloseHandle(NetHandle); end else { NetHandle is not valid. Raise an exception } raise Exception.Create('Error:'); end;
url := 'https://faretext-api.co.uk:9443/api?action=sendmessage' + '&Username=your_username' +'&Password=your_password' + '&Originator=your_originator/senderid' + '&Recipient=telephone_number' + '&MessageData=Hello+this+is+a+test+from+Faretext'; send(url);
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; public class send { public String send() { try { String Username = "&Username=" + URLEncoder.encode("your_username", "UTF-8"); String Password = "&Password=" + URLEncoder.encode("your_password", "UTF-8"); String Originator = "&Originator=" + URLEncoder.encode("your_originator/senderid", "UTF-8"); String Recipient = "&Recipient=" + URLEncoder.encode("telephone_number", "UTF-8"); String MessageData = "&MessageData=" + URLEncoder.encode("Hello this is a test from Faretext", "UTF-8"); String data = "https://faretext-api.co.uk:9443/api?action=sendmessage " + Username + Password + Originator + Recipient + MessageData; URL url = new URL(data); URLConnection conn = url.openConnection(); conn.setDoOutput(true); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; String sResult=""; while ((line = rd.readLine()) != null) { sResult=sResult+line+" "; } rd.close(); return sResult; } catch (Exception e) { System.out.println("Error:"+e); return "Error:"+e; } } }
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; public class send { public String send() { try { String Username = "&Username=" + "your_username"; String Password = "&Password=" + "your_password"; String Originator = "&Originator=" + "your_originator/senderid"; String Recipient = "&Recipient=" + "telephone_number"; String MessageData = "&MessageData=" + "Hello this is a test from Faretext"; HttpURLConnection conn = (HttpURLConnection) new URL("https://faretext-api.co.uk:9443/api?action=sendmessage").openConnection(); String data = Username + Password + Originator + Recipient + MessageData; conn.setDoOutput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Length", Integer.toString(data.length())); conn.getOutputStream().write(data.getBytes("UTF-8")); final BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); final StringBuffer stringBuffer = new StringBuffer(); String line; while ((line = rd.readLine()) != null) { stringBuffer.append(line); } rd.close(); return stringBuffer.toString(); } catch (Exception e) { System.out.println("Error"+e); return "Error"+e; } } }
use LWP::Simple; my $Username = "&Username=" . 'your_username'; my $Password = "&Password=" . 'your_password'; my $Originator = "&Orginator=" . "your_originator/senderid"; my $Recipient = "&Recipient=" . "telephone_number"; my $MessageData = "&MessageData=" . " Hello+this+is+a+test+from+Faretext"; my $String = join "", "https://faretext-api.co.uk:9443/api?action=sendmessage", $Username, $Password, $Originator, $Recipient, $MessageData; my $URL = get($String); print "$URL";
use strict; use LWP::UserAgent; use HTTP::Request::Common; my $Username = "&Username=" . 'your_username'; my $Password = "&Password=" . 'your_password'; my $Originator = "&Orginator=" . "your_originator/senderid"; my $Recipient = "&Recipient=" . "telephone_number"; my $MessageData = "&MessageData=" . "Hello this is a test from Faretext"; my $send = LWP::UserAgent->new(); my $url = $send->request ( POST 'https://faretext-api.co.uk:9443/api?action=sendmessage', Content_Type => 'application/x-www-form-urlencoded', Content => [ 'Username' => $Username, 'Password' => $Password, 'Originator' => $Originator, 'Recipient' => $Recipient, 'MessageData' => $MessageData ] ); if ($url->is_error) { die "HTTP: Error"; } print "Response:nn" . $url->content . "nn";
<?php $Username = urlencode('your_username'); $Password = urlencode('your_password'); $Originator = urlencode('your_originator/senderid'); $Recipient = urlencode('telephone_number'); $MessageData = rawurlencode('Hello this is a test from Faretext'); $smsdata = '&Username=' . $Username. '&Password=' . $Password. '&Originator=' . $Originator. "&Recipient=" . $Recipient. "&MessageData=" . $MessageData; $ch = curl_init('https://faretext-api.co.uk:9443/api?action=sendmessage' . $smsdata); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; ?>
<?php $Username = urlencode('your_username'); $Password = urlencode('your_password'); $Originator = urlencode('your_originator/senderid'); $Recipient = urlencode('telephone_number'); $MessageData = rawurlencode('Hello this is a test from Faretext'); $smsdata = array('&Username=' . $Username. '&Password=' . $Password. '&Originator=' . $Originator. "&Recipient=" . $Recipient. "&MessageData=" . $MessageData); $ch = curl_init('https://faretext-api.co.uk:9443/api?action=sendmessage'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $smsdata); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; ?>
import urllib.request import urllib.parse def send(Username, Password, Originator, Recipient, MessageData): params = {'Username': your_username, 'Password': your_password, 'Originator': your_originator/senderid, 'Recipient' : telephone_number, 'MessageData': MessageData} f = urllib.request.urlopen('https://faretext-api.co.uk:9443/api?action=sendmessage' + urllib.parse.urlencode(params)) return (f.read(), f.code) resp, code = send('your_username', 'your_password', 'your_originator/senderid', 'telephone_number', 'Hello this is a test from Faretext') print (resp)
import urllib.request import urllib.parse def send(Username, Password, Originator, Recipient, MessageData): data = urllib.parse.urlencode({'Username': your_username, 'Password': your_password, 'Originator': your_originator/senderid, 'Recipient': telephone_number, 'MessageData': MessageData}) data = data.encode('utf-8') request = urllib.request.Request("https://faretext-api.co.uk:9443/api?action=sendmessage") f = urllib.request.urlopen(request, data) fr = f.read() return(fr) resp = send('your_username', 'your_password', 'your_originator/senderid', 'telephone_number', 'Hello this is a test from Faretext') print (resp)
require "rubygems" require "net/https" require "uri" require "json" Username = "your_username" Password = "your_password" Originator = "your_originator/senderid" Recipient = "telephone_number" MessageData = "Hello this is a test from Faretext" requested_url = 'https://faretext-api.co.uk:9443/api?action=sendmessage' + "&Username=" + Username + "&Password=" + Password + "&Originator=" + Originator + "&Recipient=" + Recipient "&MessageData=" + URI.escape(MessageData) uri = URI.parse(requested_url) http = Net::HTTP.start(uri.host, uri.port) request = Net::HTTP::Get.new(uri.request_uri) res = http.request(request) response = JSON.parse(res.body) puts (response)
require "rubygems" require "net/https" require "uri" require "json" requested_url = 'https://faretext-api.co.uk:9443/api?action=sendmessage' uri = URI.parse(requested_url) http = Net::HTTP.start(uri.host, uri.port) request = Net::HTTP::Get.new(uri.request_uri) res = Net::HTTP.post_form(uri, 'Username' => 'your_username', 'Password' => 'your_password', 'Originator' => 'your_originator/senderid', 'Recipient' => 'telephone_number', 'MessageData' => 'Hello this is a test from Faretext') response = JSON.parse(res.body) puts (response)
Public Sub Send() Dim Username As String Username = "&Username=" + "your_username" Dim Password As String Password = "&Password=" + "your_password" Dim Originator As String Originator = "&Originator=" + "your_originator/senderid" Dim Recipient As String Recipient = "&Recipient=" + "telephone_number" MessageData As String MessageData = "&MessageData=" + "Hello this is a test from Faretext" Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1") MyRequest.Open "GET", "https://faretext-api.co.uk:9443/api?action=sendmessage" + Username + Password + Originator + Recipient + MessageData MyRequest.Send MsgBox MyRequest.ResponseText End Sub
Public Sub Send() Dim Username As String Dim Password As String Dim Originator As String Dim Recipient As String Dim MessageData As String Dim URL As String Dim postData As String Dim winHttpReq As Object Username = "your_username" Password = "your_password" Originator = "your_originator/senderid" Recipient = "telephone_number" MessageData = "Hello this is a test from Faretext" URL = "https://faretext-api.co.uk:9443/api?action=sendmessage" Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") postData = "&Username=" + Username + "&Password=" + Password + "&Originator=" + Originator "&Recipient=" + Recipient + "&MessageData=" + MessageData winHttpReq.Open "POST", myURL, False winHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" winHttpReq.Send (postData) SendSMS = winHttpReq.responseText End Sub
Imports System.Net Imports System.Web Imports System.Collections.Specialized Imports System.IO Imports System.Text Public Class send Public Function send() Dim Username = "your_username" Dim Password = "your_password" Dim Originator = "your_originator/senderid" Dim Recipient = "telephone_number" Dim Messagedata = "Hello this is a test from Faretext" Dim strGet As String Dim url As String = "https://faretext-api.co.uk:9443/api?action=sendmessage" strGet = url + "&Username=" + Username _ + "&Password=" + Password _ + "&Originator=" + Originator _ + "&Recipient=" + Recipient _ + "&MessageData=" + WebUtility.UrlEncode(MessageData) Dim webClient As New System.Net.WebClient Dim result As String = webClient.DownloadString(strGet) Console.WriteLine(result) Return result End Function End Class
Imports System.Web Imports System.IO Imports System.Net Imports System.Text Imports System.Resources Public Class send Public Function send() Dim Username = "your_username" Dim Password = "your_password" Dim Originator = "your_originator/senderid" Dim Recipient = "telephone_number" Dim Messagedata = "Hello this is a test from Faretext" Dim strPost As String Dim url As String = "https://faretext-api.co.uk:9443/api?action=sendmessage" strPost = url + "&Username=" + Username _ + "&Password=" + Password _ + "&Originator=" + Originator _ + "&Recipient=" + Recipient _ + "&MessageData=" + WebUtility.UrlEncode(MessageData) Dim request As WebRequest = WebRequest.Create(strPost) request.Method = "POST" Dim byteArray As Byte() = Encoding.UTF8.GetBytes(strPost) request.ContentType = "application/x-www-form-urlencoded" request.ContentLength = byteArray.Length Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() Dim response As WebResponse = request.GetResponse() dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() Console.WriteLine(responseFromServer) Console.ReadLine() reader.Close() dataStream.Close() response.Close() If responseFromServer.Length > 0 Then Return responseFromServer Else Return CType(response, HttpWebResponse).StatusDescription End If End Function End Class
Private Sub send() Dim DataToSend As String Dim objXML As Object Dim Messagedata As String Dim Username As String Dim Password As String Dim Recipient As String Dim Originator As String Dim URL As String Username = "your_username"; Password = "your_password"; Originator = "your_originator/senderid" Recipient = "telephone_number" URL = "http://faretext-api.co.uk:9501/api?action=sendmessage" Messagedata = URLEncode("Hello this is a test from Faretext") Set objXML = CreateObject("Microsoft.XMLHTTP") objXML.Open "POST", URL , False objXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objXML.send "&Username=" + Username + "&Password=" + Password +"&Recipient=" + Recipient + "&Messagedata=" + Messagedata + "&Originator=" + Originator If Len(objXML.responseText) > 0 Then MsgBox objXML.responseText End If End Sub Function URLEncode(ByVal Text As String) As String Dim i As Integer Dim acode As Integer Dim char As String URLEncode = Text For i = Len(URLEncode) To 1 Step -1 acode = Asc(Mid$(URLEncode, i, 1)) Select Case acode Case 48 To 57, 65 To 90, 97 To 122 Case 32 Mid$(URLEncode, i, 1) = "+" Case Else URLEncode = Left$(URLEncode, i - 1) & "%" & Hex$(acode) & Mid$ _ (URLEncode, i + 1) End Select Next End Function
Private Sub send() Dim DataToSend As String Dim objXML As Object Dim Messagedata As String Dim Username As String Dim Password As String Dim Recipient As String Dim Originator As String Dim URL As String Username = "your_username"; Password = "your_password"; Originator = "your_originator/senderid" Recipient = "telephone_number" URL = "http://faretext-api.co.uk:9501/api?action=sendmessage" Messagedata = URLEncode("Hello this is a test from Faretext") Set objXML = CreateObject("Microsoft.XMLHTTP") objXML.Open "POST", URL , False objXML.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" objXML.send "&Username=" + Username + "&Password=" + Password +"&Recipient=" + Recipient + "&Messagedata=" + Messagedata + "&Originator=" + Originator If Len(objXML.responseText) > 0 Then MsgBox objXML.responseText End If End Sub Function URLEncode(ByVal Text As String) As String Dim i As Integer Dim acode As Integer Dim char As String URLEncode = Text For i = Len(URLEncode) To 1 Step -1 acode = Asc(Mid$(URLEncode, i, 1)) Select Case acode Case 48 To 57, 65 To 90, 97 To 122 Case 32 Mid$(URLEncode, i, 1) = "+" Case Else URLEncode = Left$(URLEncode, i - 1) & "%" & Hex$(acode) & Mid$ _ (URLEncode, i + 1) End Select Next End Function
Can’t see your programming language? Please get in touch by using the form at the bottom of the page.
Check the reliability and speed of our route for free. Simply insert your UK mobile number and click Go.
Instead of connecting via our SMS API, customers have an alternative method to connect to Faretext, via our SMS SMPP service.
Standing for Short Message Peer-to-Peer, this type of integration is used for broadcasting high-volumes of messages very
quickly and directly to both, text aggregators and mobile network operators.
Our server supports the industry-standard SMPP 3.4 and can process up to 600 messages per second.
Simultaneously the system can also receive delivery receipts, ensuring real-time delivery results of your bulk
text campaigns.
To find out more about Faretext’s SMPP service, please get in touch, by filling in the form below or calling:
0114 945 993.