Speech API for Swift
Send automated voice calls with our API for Swift easily and securely. Try our API for Swift for free. Our team will help you integrate automated voice delivery into your app at Swift.
Auto call API functionality
Send voice text-to-speech with Swift
let aclass : String = "voice";
let method : String = "sendvoice";
let user : String = "user";
let password : String = "password";
let to : String = "34600000000";
let from : String = "34900000000";
let message : String = "voice+test";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/?class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&from="+from+"&message="+message+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let url: NSURL = NSURL(string: urlPath)!
let request1: NSURLRequest = NSURLRequest(url: url as URL)
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as NSError {
print(error.localizedDescription)
}
})
let aclass : String = "voice";
let method : String = "sendvoice";
let user : String = "user";
let password : String = "password";
let to : String = "34600000000";
let from : String = "34900000000";
let message : String = "voice+test";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&from="+from+"&message="+message+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}
Parameter | Description | Compulsory / Optional |
---|---|---|
class=voice | Class requested: Class to which the request is made | Compulsory |
method=sendvoice | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
to | Mobile or landline number where the voice call will be sent | Compulsory |
from | Sender of the voice call, it must be a phone number, if an unaccepted sender is included, the voice call will be sent with an unknown sender | Compulsory |
message | Message to be played by voice in voice call | Compulsory |
scheduledatetime | Date and time of shipment in yyyy-mm-dd hh:mm:ss format | Optional |
language | Language in which the voice call will be played, check attached table to see available values | Optional |
voice | Voice with which the voice call will be played, check attached table to see available values | Optional |
output | Output format of the result | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- messageid
- credits
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
NO_ROUTE_AVAILABLE | There are no available paths for the indicated destination |
NO_CREDITS | Your balance is insufficient |
Send voice from template with Swift
let aclass : String = "voice";
let method : String = "sendvoice";
let user : String = "user";
let password : String = "password";
let to : String = "34600000000";
let from : String = "34900000000";
let message : String = "voice+test";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&from="+from+"&message="+message+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}let aclass : String = "voice";
let method : String = "sendvoicefromtemplate";
let user : String = "user";
let password : String = "password";
let to : String = "34600000000";
let idtemplate : String = "1000";
let params : String = "mobile:123456789,name:test+name";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&idtemplate="+idtemplate+"¶ms="+params+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let url: NSURL = NSURL(string: urlPath)!
let request1: NSURLRequest = NSURLRequest(url: url as URL)
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as NSError {
print(error.localizedDescription)
}
})
let aclass : String = "voice";
let method : String = "sendvoicefromtemplate";
let user : String = "user";
let password : String = "password";
let to : String = "34600000000";
let idtemplate : String = "1000";
let params : String = "mobile:123456789,name:test+name";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&idtemplate="+idtemplate+"¶ms="+params+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}
Parameter | Description | Compulsory / Optional |
---|---|---|
class=voice | Class requested: Class to which the request is made | Compulsory |
method=sendvoicefromtemplate | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
to | Mobile or landline number where the voice call will be sent | Compulsory |
idtemplate | Identifier of the template that contains the message that the voice call will play | Compulsory |
params | Parameters to be substituted in the template for voice call customization, each {{parameter}} will be replaced by the assigned value | Optional |
scheduledatetime | Date and time of shipment in yyyy-mm-dd hh:mm:ss format | Optional |
language | Language in which the voice call will be played, check attached table to see available values | Optional |
voice | Voice with which the voice call will be played, check attached table to see available values | Optional |
output | Output format of the result | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- messageid
- credits
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
NO_ROUTE_AVAILABLE | There are no available paths for the indicated destination |
NO_CREDITS | Your balance is insufficient |
NOT_ACCESS_TO_TEMPLATE | You haven't access to the selected template |
Send bulk voice with Swift
let aclass : String = "voice";
let method : String = "sendvoicefromtemplate";
let user : String = "user";
let password : String = "password";
let to : String = "34600000000";
let idtemplate : String = "1000";
let params : String = "mobile:123456789,name:test+name";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&idtemplate="+idtemplate+"¶ms="+params+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}let aclass : String = "voice";
let method : String = "sendvoicetogroup";
let user : String = "user";
let password : String = "password";
let from : String = "34900000000";
let countrycode : String = "34";
let idgroup : String = "1";
let message : String = "sms+test";
let language : String = "en";
let voice : String = "Joanna";
let scheduledatetime : String = "";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&from="+from+"&countrycode="+countrycode+"&idgroup="+idgroup+"&message="+message+"&language="+language+"&voice="+voice+"&scheduledatetime="+scheduledatetime+"&output="+output
let url: NSURL = NSURL(string: urlPath)!
let request1: NSURLRequest = NSURLRequest(url: url as URL)
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as NSError {
print(error.localizedDescription)
}
})
let aclass : String = "voice";
let method : String = "sendvoicetogroup";
let user : String = "user";
let password : String = "password";
let from : String = "34900000000";
let countrycode : String = "34";
let idgroup : String = "1";
let message : String = "sms+test";
let language : String = "en";
let voice : String = "Joanna";
let scheduledatetime : String = "";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&from="+from+"&countrycode="+countrycode+"&idgroup="+idgroup+"&message="+message+"&language="+language+"&voice="+voice+"&scheduledatetime="+scheduledatetime+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}
Parameter | Description | Compulsory / Optional |
---|---|---|
class=voice | Class requested: Class to which the request is made | Compulsory |
method=sendvoicetogroup | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
from | Sender of the voice call, it must be a phone number, if an unaccepted sender is included, the voice call will be sent with an unknown sender | Compulsory |
countrycode | Country prefix | Compulsory |
idgroup | Group identifier containing the contacts to which the voice call will be sent | Compulsory |
message | Message to be played by voice in voice call | Compulsory |
language | Language in which the voice call will be played, check attached table to see available values | Optional |
voice | Voice with which the voice call will be played, check attached table to see available values | Optional |
scheduledatetime | Date and time of shipment in yyyy-mm-dd hh:mm:ss format | Optional |
output | Output format of the result | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- id
- count
- credits
-
destinations
- messageid
- destination
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
NOT_ACCESS_TO_GROUP | You are not allowed into the indicated group |
NO_CREDITS | Your balance is insufficient |
Send bulk voice from template with Swift
let aclass : String = "voice";
let method : String = "sendvoicetogroup";
let user : String = "user";
let password : String = "password";
let from : String = "34900000000";
let countrycode : String = "34";
let idgroup : String = "1";
let message : String = "sms+test";
let language : String = "en";
let voice : String = "Joanna";
let scheduledatetime : String = "";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&from="+from+"&countrycode="+countrycode+"&idgroup="+idgroup+"&message="+message+"&language="+language+"&voice="+voice+"&scheduledatetime="+scheduledatetime+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}let aclass : String = "voice";
let method : String = "sendvoicetogroupfromtemplate";
let user : String = "user";
let password : String = "password";
let countrycode : String = "34";
let idgroup : String = "1";
let idtemplate : String = "1000";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&countrycode="+countrycode+"&idgroup="+idgroup+"&idtemplate="+idtemplate+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let url: NSURL = NSURL(string: urlPath)!
let request1: NSURLRequest = NSURLRequest(url: url as URL)
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as NSError {
print(error.localizedDescription)
}
})
let aclass : String = "voice";
let method : String = "sendvoicetogroupfromtemplate";
let user : String = "user";
let password : String = "password";
let countrycode : String = "34";
let idgroup : String = "1";
let idtemplate : String = "1000";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&countrycode="+countrycode+"&idgroup="+idgroup+"&idtemplate="+idtemplate+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}
Parameter | Description | Compulsory / Optional |
---|---|---|
class=voice | Class requested: Class to which the request is made | Compulsory |
method=sendvoicetogroupfromtemplate | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
countrycode | voice.sendvoicetogroupfromtemplate_countrycode | Compulsory |
idgroup | Group identifier containing the contacts to which the voice call will be sent | Compulsory |
idtemplate | Identifier of the template that contains the message that the voice call will play | Compulsory |
scheduledatetime | Date and time of shipment in yyyy-mm-dd hh:mm:ss format | Optional |
language | Language in which the voice call will be played, check attached table to see available values | Optional |
voice | Voice with which the voice call will be played, check attached table to see available values | Optional |
output | Output format of the result | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- id
- count
- credits
-
destinations
- messageid
- destination
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
NOT_ACCESS_TO_GROUP | You are not allowed into the indicated group |
NO_CREDITS | Your balance is insufficient |
Get voice message delivery status with Swift
let aclass : String = "voice";
let method : String = "sendvoicetogroupfromtemplate";
let user : String = "user";
let password : String = "password";
let countrycode : String = "34";
let idgroup : String = "1";
let idtemplate : String = "1000";
let scheduledatetime : String = "";
let language : String = "en";
let voice : String = "Joanna";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&countrycode="+countrycode+"&idgroup="+idgroup+"&idtemplate="+idtemplate+"&scheduledatetime="+scheduledatetime+"&language="+language+"&voice="+voice+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}let aclass : String = "voice";
let method : String = "getdeliverystatus";
let user : String = "user";
let password : String = "password";
let messages : String = "123456,123457,123458";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&messages="+messages+"&output="+output
let url: NSURL = NSURL(string: urlPath)!
let request1: NSURLRequest = NSURLRequest(url: url as URL)
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as NSError {
print(error.localizedDescription)
}
})
let aclass : String = "voice";
let method : String = "getdeliverystatus";
let user : String = "user";
let password : String = "password";
let messages : String = "123456,123457,123458";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&messages="+messages+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}
Parameter | Description | Compulsory / Optional |
---|---|---|
class=voice | Class requested: Class to which the request is made | Compulsory |
method=getdeliverystatus | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
messages | voice.getdeliverystatus_messages | Compulsory |
output | Output format of the result | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- messageid
- sms
- deliverydate
- deliverystatus
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
Get list of voices with Swift
let aclass : String = "voice";
let method : String = "getdeliverystatus";
let user : String = "user";
let password : String = "password";
let messages : String = "123456,123457,123458";
let output : String = "";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&messages="+messages+"&output="+output
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}let aclass : String = "voice";
let method : String = "getdeliverystatus";
let user : String = "user";
let password : String = "password";
let lang : String = "en";
let urlPath: String = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&lang="+lang
let url: NSURL = NSURL(string: urlPath)!
let request1: NSURLRequest = NSURLRequest(url: url as URL)
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as NSError {
print(error.localizedDescription)
}
})
let aclass : String = "voice";
let method : String = "getdeliverystatus";
let user : String = "user";
let password : String = "password";
let lang : String = "en";
let urlPath: String = "https://www.afilnet.com/api/http/"
let url: NSURL = NSURL(string: urlPath)!
let request1: NSMutableURLRequest = NSMutableURLRequest(url: url as URL)
request1.httpMethod = "POST"
let stringPost="class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&lang="+lang
let data = stringPost.data(using: String.Encoding.utf8)
request1.timeoutInterval = 60
request1.httpBody=data
request1.httpShouldHandleCookies=false
let queue:OperationQueue = OperationQueue()
NSURLConnection.sendAsynchronousRequest(request1 as URLRequest, queue: queue, completionHandler:{ (response: URLResponse?, data: Data?, error: Error?) -> Void in
do {
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary {
// Do something with result
}
} catch let error as Error {
print(error.localizedDescription)
}
Parameter | Description | Compulsory / Optional |
---|---|---|
class=voice | Class requested: Class to which the request is made | Compulsory |
method=getdeliverystatus | Class method requested: Method of the class to which the request is made | Compulsory |
user | User and e-mail of your Afilnet account | Compulsory |
password | Password of your Afilnet account | Compulsory |
lang | voice language | Optional |
Answer:
- status
-
result (if status=success), here you will receive the following values:
- lang
- gender
- name
- default
- error (if status=error), here you will receive the error code
Error codes:
Code | Description |
---|---|
MISSING_USER | User or email not included |
MISSING_PASSWORD | Password not included |
MISSING_CLASS | Class not included |
MISSING_METHOD | Method not included |
MISSING_COMPULSORY_PARAM | Compulsory parameter not included |
INCORRECT_USER_PASSWORD | Incorrect user or password |
INCORRECT_CLASS | Incorrect class |
INCORRECT_METHOD | Incorrect method |
ANNEX: List of languages and voices for available voice calls
In this annex you will find all the possible combinations of languages and voices that you can use when sending voice call messages
Language (Language) | Gender | Name (voice) |
---|---|---|
ar | female | Hoda |
ar | male | Naayf |
ar | female | Zeina |
ar | female | Aisha |
ar | male | Farooq |
ar | male | Hussein |
ar | female | Amal |
bg | male | Ivan |
bn | female | Sushmita |
bn | male | Sayan |
ca | female | Conchita |
ca | female | Herena |
cs | male | Jakub |
da | female | Helle |
da | male | Mads |
da | female | Naja |
de | female | Angela |
de | male | Hans |
de | female | Vicki |
de | male | Stefan |
de | female | Marlene |
de | female | Hedda |
de-at | male | Michael |
de-ch | male | Karsten |
el | female | Afroditi |
el | male | Stefanos |
el | female | Sophia |
en | female | Jane |
en | female | Jessica |
en | female | Joanna |
en | male | Joey |
en | male | Justin |
en | female | Kendra |
en | female | Kimberly |
en | male | Matthew |
en | female | Zira |
en | female | Ivy |
en | male | Guy |
en | male | Benjamin |
en | female | Salli |
en-au | male | Russell |
en-au | female | Nicole |
en-au | female | Catherine |
en-au | female | Hayley |
en-ca | female | Heather |
en-ca | female | Alice |
en-gb | female | Rosie |
en-gb | female | Hazel |
en-gb | male | George |
en-gb | female | Emma |
en-gb | male | Brian |
en-gb | female | Amy |
en-gb-wls | male | Geraint |
en-ie | male | Sean |
en-in | male | Ravi |
en-in | female | Aditi |
en-in | female | Heera |
en-in | female | Priya |
en-in | female | Raveena |
es | female | Penelope |
es | male | Miguel |
es | female | Linda |
es | female | Laura |
es | male | Enrique |
es | female | Lupe |
es | male | Pablo |
es-cl | female | Francisca |
es-mx | female | Hilda |
es-mx | female | Mia |
es-mx | male | Raul |
fi | female | Milla |
fi | female | Evelin |
fi | female | Heidi |
fr | male | Picart |
fr | male | Mathieu |
fr | female | Juliette |
fr | female | Lea |
fr | female | Celine |
fr | female | Hortense |
fr-ca | female | Caroline |
fr-ca | female | Chantal |
fr-ca | female | Harmonie |
fr-ch | male | Guillaume |
gu | female | Leela |
gu | male | Dinesh |
he | male | Asaf |
hi | female | Kalpana |
hi | male | Hemant |
hi | female | Aadita |
hr | male | Matej |
hu | male | Szabolcs |
id | female | Indah |
id | male | Andika |
id | male | Reza |
id | female | Nurul |
id | male | Arif |
is | male | Karl |
is | female | Dora |
it | female | Lucia |
it | male | Cosimo |
it | female | Carla |
it | female | Bianca |
it | male | Giorgio |
it | female | Gianna |
ja | male | Ichiro |
ja | male | Takumi |
ja | female | Haruka |
ja | female | Ayumi |
ja | female | Mizuki |
kn | male | Shashank |
kn | female | Namratha |
ko | male | Minho |
ko | male | Himchan |
ko | female | Jina |
ko | female | Sumi |
ko | female | Yumi |
ko | female | Seoyeon |
ko | female | Heami |
ml | female | Kirti |
ml | male | Vishnu |
ms | male | Rizwan |
nl | male | Ruben |
nl | female | Lotte |
nl | female | Hanna |
no | female | Liv |
no | female | Hulda |
pl | male | Jacek |
pl | female | Ewa |
pl | male | Jan |
pl | female | Paulina |
pl | female | Maja |
pt-br | female | Camila |
pt-br | male | Daniel |
pt-br | female | Vitoria |
pt-br | male | Ricardo |
pt-br | female | Heloisa |
pt-pt | female | Abrielle |
pt-pt | female | Jacinda |
pt-pt | male | Jeraldo |
pt-pt | male | Henriques |
pt-pt | female | Ines |
pt-pt | female | Helia |
pt-pt | male | Cristiano |
pt-pt | female | Amalia |
ro | female | Carmen |
ro | male | Andrei |
ru | female | Ekaterina |
ru | female | Irina |
ru | male | Pavel |
ru | female | Tatyana |
ru | male | Maxim |
sk | male | Filip |
sl | male | Lado |
sv | female | Astrid |
sv | female | Hedvig |
ta | female | Shruti |
ta | male | Valluvar |
ta | male | Ganesh |
te | male | Vijay |
te | female | Samantha |
te | female | Chitra |
th | male | Pattara |
th | female | Somsi |
tr | female | Filiz |
tr | female | Seda |
vi | female | Lien |
vi | male | Quan |
vi | male | An |
vi | male | Thao |
vi | female | Mai |
wls | female | Gwyneth |
zh-cn | female | Lin |
zh-cn | female | Akemi |
zh-cn | female | Liu |
zh-cn | male | Wang |
zh-cn | male | Huang |
zh-cn | male | Chen |
zh-cn | female | Zhiyu |
zh-cn | female | Yaoyao |
zh-cn | female | Lily |
zh-cn | male | Kangkang |
zh-cn | female | Huihui |
zh-cn | male | Zhang |
zh-tw | female | Yating |
zh-tw | male | Zhiwei |
zh-tw | female | Hanhan |
Which API for Swift should I use?
Discover the advantages and disadvantages of each of our APIs. Find out which API is best for your Software in Swift.
This API allows you to connect to us from Swift to send requests via HTTP GET requests. This request sends the parameters in the same URL as the request.
- HTTP GET is extremely simple to implement
- Information is sent unencrypted (passwords could be extracted from logs or cache)
- Maximum request of ~4000 characters
The POST request API allows you to connect to our API from Swift by sending request parameters via HTTP POST parameters. The information is sent independently of the URL.
- HTTP POST is simple to implement
- Information is sent encrypted
- There is no limit on the size of the request
- Medium security
The basic authentication API allows the use of GET and POST requests in Swift with an additional security layer, since in this case the username and password are sent in the header of the request.
- Basic authentication is easy to implement
- Access data is sent encrypted
- The size limit depends on the use of GET or POST
- Medium security
SOAP allows you to send requests in XML format with Swift, SOAP adds an extra layer of security to API requests.
- SOAP integration is more complex
- Information is sent encrypted
- There is no limit on the size of the request
- Medium / High security
Our JSON API allows you to send requests in JSON format with Swift, in addition this API adds the oAuth 2.0 protocol in the authentication that allows you to add an additional layer of security.
- JSON oAuth 2.0 integration is more complex
- Information is sent encrypted
- There is no limit on the size of the request
- High security
Connect Swift with our TEXT-TO-SPEECH API
Register as a client
In order to have access to the API you must be an Afilnet client. Registration will take a few minutes.
Request your free trial
Our company will offer you trial balance that will allow you to test with the API you need.
Integrate the API
Perform API integration using the programming language of your choice. If you have any questions or suggestions about the API, contact us
Welcome to Afilnet!
Everything ready!, has managed to improve its communications with Afilnet. We are here to support our API when you need it
Contact our team with any questions through the contact methods that we offer. Our team will try to offer you an immediate solution and will help you in the integration of our API in your Software.