Code example in programming language Swift for SMS API integration

Below you will find the examples of programming code in the language Swift to send SMS messages through the API of the LabsMobile platform.

You also have code examples in Objective C, PHP and other programming languages.

We recommend you to consult and take into account the following resources and help in your integration:

Send SMS - REST API - JSON

This is the sample code in Swift to send SMS messages with the LabsMobile SMS API in the JSON version. As you can see, you must create a JSON structure with all the sending parameters and make an HTTP/POST call with the JSON data in the body of the call.

It is essential to make the call with the authentication of the username (registration email) and the password (or token API) of the account.

            
import Foundation

let username = "myusername"
let password = "mypassword"
let loginString = NSString(format: "%@:%@", username, password)
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
let base64LoginString = loginData.base64EncodedStringWithOptions([])

let headers = [
  "Content-Type": "application/json",
  "Cache-Control": "no-cache"
]
let parameters = [
  "message": "Text of the SMS message",
  "tpoa": "Sender",
  "recipient": [["msisdn": "12015550123"], ["msisdn": "447400123456"], ["msisdn": "5212221234567"]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.labsmobile.com/json/send")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

You can check all available JSON parameters, configuration options, manuals and specifications in the following url: https://apidocs.labsmobile.com/?swift#send-sms

Credit inquiry - REST API - JSON

Example of code in Swift for consulting the balance of an account. The result is always obtained in internal credits of the LabsMobile platform.

            
import Foundation

let username = "myusername"
let password = "mypassword"
let loginString = NSString(format: "%@:%@", username, password)
let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
let base64LoginString = loginData.base64EncodedStringWithOptions([])

let headers = [
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.labsmobile.com/json/balance")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Send SMS - HTTP/GET

Example of sending for the GET version of the LabsMobile SMS API. This is a basic and simple method of sending SMS messages from an application or software created in Swift passing all the parameters in the same url.

It is important to encode all the values ​​as url (with the function urlencode() for example).

You can see and download the GET API manual of LabsMobile in the following URL: https://www.labsmobile.com/en/api-sms/api-versions/http-get

                
let url = NSURL(string: "http://api.labsmobile.com/get/send.php?username=[X]&password=[X]&msisdn=34609036253&sender=SENDER&message=This+is+the+message")

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
    println(NSString(data: data, encoding: NSUTF8StringEncoding))
}

task.resume()

Credit inquiry - HTTP/GET

                
let url = NSURL(string: "http://api.labsmobile.com/get/balance.php?username=[X]&password=[X]")

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
    println(NSString(data: data, encoding: NSUTF8StringEncoding))
}

task.resume()
  • contact form support

    Sign up!

    Create a user account and send your SMS messages in seconds. You will have all the functionalities and benefits in the same platform.

    Send from API and manage your account with our online application WebSMS.

    Create new account
  • DentalCare, Software for dental surgeries recommends LabsMobile

    SMS communication for dental surgeries. Reminders, loyalty programs, commercial and bulk marketing campaigns.

    Watch more reviews
  • dashboard aplicación online

    Maximum reliability at the best price

    At LabsMobile we only offer direct routes of maximum reliability and quality. Enjoy our platform and all our services for the price of an SMS.

    Pay ONLY for sent messages.

    Check our rates
  • dashboard aplicación online

    Need more info? Contact us!

    Our technical department has professionals with years of experience and we have made multiple integrations.

    We guide and help you through the process.

    Request technical support
  • Manage and update your mobile phone database

    This tutorial explains how to maintain a list of mobile phones in the WebSMS application over time so that sendings have a higher percentage of delivery and success.

    Ir al tutorial
loader