Enviar Voz Masiva con Swift
Envíe un mensaje de voz a un grupo de teléfonos o móviles con Swift
Swift : DOCUMENTACIÓN API
- Crear grupo con Swift
- Obtener campos de un grupo con Swift
- Añadir campo a un grupo con Swift
- Elimina campo de un grupo con Swift
- Eliminar un grupo de contactos
- Asigna país a un grupo con Swift
- Obtener contactos del grupo con Swift
- Añadir contacto a grupo con Swift
- Modificar contacto del grupo con Swift
- Eliminar contacto del grupo con Swift
Enviar Voz Masiva con 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/?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)
}
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=voice | Clase a la que se realiza la petición | Obligatorio |
method=sendvoicetogroup | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
from | Remitente de la llamada de voz, debe ser un número de teléfono, en caso de que se incluya un remitente no aceptado se enviará la llamada de voz con remitente desconocido | Obligatorio |
countrycode | Prefijo del país | Obligatorio |
idgroup | Identificador del grupo que contiene los contactos a donde se enviará la llamada de voz | Obligatorio |
message | Mensaje que se reproducirá por voz en la llamada de voz | Obligatorio |
language | Idioma en el que se reproducirá la llamada de voz, revisar tabla anexa para ver valores disponibles | Opcional |
voice | Voz con la que se reproducirá la llamada de voz, revisar tabla anexa para ver valores disponibles | Opcional |
scheduledatetime | Fecha y hora de envío en formato yyyy-mm-dd hh:mm:ss | Opcional |
output | Formato de salida del resultado | Opcional |
Al realizar peticiones recibirá los siguientes campos:
- status
-
result (si status=success), recibirá los siguientes valores:
- id
- count
- credits
-
destinations
- messageid
- destination
- error (si status=error), aquí recibirá el código de error
Los códigos de error posibles son los siguientes:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
NOT_ACCESS_TO_GROUP | No dispone de permisos al grupo indicado |
NO_CREDITS | No dispone de saldo suficiente |
Parámetros:
- class : voice
- method : sendvoicetogroup
- user : user
- password : password
- from : 34900000000
- countrycode : 34
- idgroup : 1
- message : sms+test
- language : en
- voice : Joanna
- scheduledatetime :
- output :
Petición:
https://www.afilnet.com/api/http/?class=voice&method=sendvoicetogroup&user=user&password=password&from=34900000000&countrycode=34&idgroup=1&message=sms+test&language=en&voice=Joanna&scheduledatetime=&output=
ANEXO: Listado de idiomas y voces para llamadas de voz disponibles
En este anexo podrá encontrar todas las posibles combinaciones de idiomas y voces que puede utilizara a la hora de enviar mensajes de llamadas de voz
Idioma (language) | Género | Nombre (voice) |
---|---|---|
ar | female | Hoda |
ar | male | Naayf |
ar | male | Tarik |
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 |
ca | female | Montserrat |
cs | male | Jakub |
da | female | Naja |
da | female | Helle |
da | male | Mads |
de | male | Hans |
de | female | Hedda |
de | female | Marlene |
de | male | Stefan |
de | female | Angela |
de | female | Vicki |
de-at | male | Michael |
de-ch | male | Karsten |
el | male | Stefanos |
el | female | Afroditi |
el | female | Sophia |
en | female | Jessica |
en | male | Joey |
en | female | Joanna |
en | female | Jane |
en | female | Ivy |
en | male | Guy |
en | male | Benjamin |
en | female | Kimberly |
en | male | Matthew |
en | female | Kendra |
en | female | Salli |
en | female | Zira |
en | male | Justin |
en-au | male | Russell |
en-au | female | Catherine |
en-au | female | Hayley |
en-au | female | Nicole |
en-ca | female | Alice |
en-ca | female | Heather |
en-gb | female | Rosie |
en-gb | female | Hazel |
en-gb | male | George |
en-gb | male | Brian |
en-gb | female | Amy |
en-gb | female | Emma |
en-gb-wls | male | Geraint |
en-ie | male | Sean |
en-in | female | Heera |
en-in | male | Ravi |
en-in | female | Raveena |
en-in | female | Priya |
en-in | female | Aditi |
es | male | Miguel |
es | female | Penelope |
es | female | Lupe |
es | male | Pablo |
es | male | Enrique |
es | female | Laura |
es | female | Linda |
es-ar | male | Diego |
es-cl | female | Francisca |
es-es | female | Lola |
es-mx | male | Raul |
es-mx | female | Mia |
es-mx | female | Hilda |
fi | female | Heidi |
fi | female | Milla |
fi | female | Evelin |
fr | female | Juliette |
fr | female | Celine |
fr | male | Mathieu |
fr | female | Lea |
fr | female | Hortense |
fr | male | Picart |
fr-ca | female | Chantal |
fr-ca | female | Harmonie |
fr-ca | female | Caroline |
fr-ch | male | Guillaume |
gu | male | Dinesh |
gu | female | Leela |
he | male | Asaf |
hi | female | Aadita |
hi | female | Kalpana |
hi | male | Hemant |
hr | male | Matej |
hu | male | Szabolcs |
id | male | Andika |
id | male | Arif |
id | female | Indah |
id | male | Reza |
id | female | Nurul |
is | male | Karl |
is | female | Dora |
it | male | Giorgio |
it | male | Cosimo |
it | male | Carla |
it | female | Bianca |
it | female | Lucia |
it | female | Gianna |
ja | female | Mizuki |
ja | male | Ichiro |
ja | female | Ayumi |
ja | male | Takumi |
ja | female | Haruka |
kn | female | Namratha |
kn | male | Shashank |
ko | female | Jina |
ko | female | Sumi |
ko | female | Yumi |
ko | female | Seoyeon |
ko | female | Heami |
ko | male | Himchan |
ko | male | Minho |
ml | female | Kirti |
ml | male | Vishnu |
ms | male | Rizwan |
nl | male | Ruben |
nl | female | Lotte |
nl | female | Hanna |
no | female | Hulda |
no | female | Liv |
pl | female | Paulina |
pl | female | Maja |
pl | male | Jan |
pl | male | Jacek |
pl | female | Ewa |
pt-br | female | Vitoria |
pt-br | male | Ricardo |
pt-br | female | Heloisa |
pt-br | male | Daniel |
pt-br | female | Camila |
pt-pt | male | Jeraldo |
pt-pt | female | Jacinda |
pt-pt | male | Henriques |
pt-pt | female | Amalia |
pt-pt | female | Abrielle |
pt-pt | female | Ines |
pt-pt | female | Helia |
pt-pt | male | Cristiano |
ro | female | Carmen |
ro | male | Andrei |
ru | female | Irina |
ru | female | Ekaterina |
ru | male | Maxim |
ru | male | Pavel |
ru | female | Tatyana |
sk | male | Filip |
sl | male | Lado |
sv | female | Astrid |
sv | female | Hedvig |
ta | male | Valluvar |
ta | male | Ganesh |
ta | female | Shruti |
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 | Thao |
vi | female | Mai |
vi | male | An |
wls | female | Gwyneth |
zh-cn | female | Akemi |
zh-cn | male | Wang |
zh-cn | female | Lin |
zh-cn | female | Huihui |
zh-cn | male | Zhang |
zh-cn | female | Liu |
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-tw | female | Hanhan |
zh-tw | female | Yating |
zh-tw | male | Zhiwei |