API de SMS para Go lang
Envíe SMS con nuestra API para Go lang de forma sencilla y segura. Pruebe gratis nuestra API para Go lang. Nuestro equipo le ayudará a integrar el envío de SMS en su aplicación en Go lang.
Funcionalidad de la API de SMS
Enviar SMS con Go lang
package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
var aclass string = "sms"
var method string = "sendsms"
var user string = "user"
var password string = "password"
var from string = "Afilnet"
var to string = "34600000000"
var sms string = "sms+test"
var scheduledatetime string = ""
var output string = ""
var request string = "https://www.afilnet.com/api/http/?class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&from="+from+"&to="+to+"&sms="+sms+"&scheduledatetime="+scheduledatetime+"&output="+output
resp, err := http.Get(request)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsms"},
"user" : {"user"},
"password" : {"password"},
"from" : {"Afilnet"},
"to" : {"34600000000"},
"sms" : {"sms+test"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=sms | Clase a la que se realiza la petición | Obligatorio |
method=sendsms | 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 | Obligatorio |
to | Número móvil destino | Obligatorio |
sms | Mensaje SMS a enviar | Obligatorio |
scheduledatetime | Fecha y hora de envío en formato yyyy-mm-dd hh:mm:ss | Opcional |
output | Formato de salida del resultado | Opcional |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
- messageid
- credits
- error (si status=error), aquí recibirá el código de error
Códigos de error:
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 |
NO_ROUTE_AVAILABLE | No hay rutas disponibles para el destino indicado |
NO_CREDITS | No dispone de saldo suficiente |
Enviar SMS desde plantilla con Go lang
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsms"},
"user" : {"user"},
"password" : {"password"},
"from" : {"Afilnet"},
"to" : {"34600000000"},
"sms" : {"sms+test"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
var aclass string = "sms"
var method string = "sendsmsfromtemplate"
var user string = "user"
var password string = "password"
var to string = "34600000000"
var idtemplate string = "1000"
var params string = "mobile:123456789,name:test+name"
var scheduledatetime string = ""
var output string = ""
var request string = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&to="+to+"&idtemplate="+idtemplate+"¶ms="+params+"&scheduledatetime="+scheduledatetime+"&output="+output
resp, err := http.Get(request)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsmsfromtemplate"},
"user" : {"user"},
"password" : {"password"},
"to" : {"34600000000"},
"idtemplate" : {"1000"},
"params" : {"mobile:123456789,name:test+name"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=sms | Clase a la que se realiza la petición | Obligatorio |
method=sendsmsfromtemplate | 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 |
to | Número móvil destino | Obligatorio |
idtemplate | Identificador de la plantilla | Obligatorio |
params | Parámetros que se sustituirán en la plantilla para su personalización (<<parámetro>>), separado por , (comas) | Opcional |
scheduledatetime | Fecha y hora de envío en formato yyyy-mm-dd hh:mm:ss | Opcional |
output | Formato de salida del resultado | Opcional |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
- messageid
- credits
- error (si status=error), aquí recibirá el código de error
Códigos de error:
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 |
NO_ROUTE_AVAILABLE | No hay rutas disponibles para el destino indicado |
NO_CREDITS | No dispone de saldo suficiente |
NOT_ACCESS_TO_TEMPLATE | No dispone acceso a la plantilla indicada |
Enviar SMS Masivo con Go lang
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsmsfromtemplate"},
"user" : {"user"},
"password" : {"password"},
"to" : {"34600000000"},
"idtemplate" : {"1000"},
"params" : {"mobile:123456789,name:test+name"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
var aclass string = "sms"
var method string = "sendsmstogroup"
var user string = "user"
var password string = "password"
var from string = "Afilnet"
var countrycode string = "34"
var idgroup string = "1"
var sms string = "sms+test"
var scheduledatetime string = ""
var output string = ""
var request string = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&from="+from+"&countrycode="+countrycode+"&idgroup="+idgroup+"&sms="+sms+"&scheduledatetime="+scheduledatetime+"&output="+output
resp, err := http.Get(request)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsmstogroup"},
"user" : {"user"},
"password" : {"password"},
"from" : {"Afilnet"},
"countrycode" : {"34"},
"idgroup" : {"1"},
"sms" : {"sms+test"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=sms | Clase a la que se realiza la petición | Obligatorio |
method=sendsmstogroup | 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 | Obligatorio |
countrycode | Prefijo del país | Obligatorio |
idgroup | Identificador del grupo destinatario | Obligatorio |
sms | Mensaje SMS a enviar | Obligatorio |
scheduledatetime | Fecha y hora de envío en formato yyyy-mm-dd hh:mm:ss | Opcional |
output | Formato de salida del resultado | Opcional |
Respuesta:
- 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
Códigos de error:
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 |
Enviar SMS Masivo desde plantilla con Go lang
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsmstogroup"},
"user" : {"user"},
"password" : {"password"},
"from" : {"Afilnet"},
"countrycode" : {"34"},
"idgroup" : {"1"},
"sms" : {"sms+test"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
var aclass string = "sms"
var method string = "sendsmstogroupfromtemplate"
var user string = "user"
var password string = "password"
var countrycode string = "34"
var idgroup string = "1"
var idtemplate string = "1000"
var scheduledatetime string = ""
var output string = ""
var request string = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&countrycode="+countrycode+"&idgroup="+idgroup+"&idtemplate="+idtemplate+"&scheduledatetime="+scheduledatetime+"&output="+output
resp, err := http.Get(request)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsmstogroupfromtemplate"},
"user" : {"user"},
"password" : {"password"},
"countrycode" : {"34"},
"idgroup" : {"1"},
"idtemplate" : {"1000"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=sms | Clase a la que se realiza la petición | Obligatorio |
method=sendsmstogroupfromtemplate | 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 |
countrycode | Prefijo del país | Obligatorio |
idgroup | Identificador del grupo destinatario | Obligatorio |
idtemplate | Identificador de la plantilla | Obligatorio |
scheduledatetime | Fecha y hora de envío en formato yyyy-mm-dd hh:mm:ss | Opcional |
output | Formato de salida del resultado | Opcional |
Respuesta:
- 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
Códigos de error:
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 |
Obtener estado de entrega de SMS con Go lang
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"sendsmstogroupfromtemplate"},
"user" : {"user"},
"password" : {"password"},
"countrycode" : {"34"},
"idgroup" : {"1"},
"idtemplate" : {"1000"},
"scheduledatetime" : {""},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
var aclass string = "sms"
var method string = "getdeliverystatus"
var user string = "user"
var password string = "password"
var messages string = "123456,123457,123458"
var output string = ""
var request string = "https://www.afilnet.com/api/http/?+"&class="+aclass+"&method="+method+"&user="+user+"&password="+password+"&messages="+messages+"&output="+output
resp, err := http.Get(request)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
package main
import (
"io/ioutil"
"log"
"net/http"
"net/url"
)
func main() {
formData := url.Values{
"class" : {"sms"},
"method" : {"getdeliverystatus"},
"user" : {"user"},
"password" : {"password"},
"messages" : {"123456,123457,123458"},
"output" : {""},
}
resp, err := http.PostForm("https://www.afilnet.com/api/http/", formData)
if(err != nil) {
log.Fatalln(err)
}
defer resp.Body.Close()
ioutil.ReadAll(resp.Body)
if(err != nil) {
log.Fatalln(err)
}
}
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=sms | Clase a la que se realiza la petición | Obligatorio |
method=getdeliverystatus | 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 |
messages | Listado de identificadores de envío separados por , (comas) | Obligatorio |
output | Formato de salida del resultado | Opcional |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
- messageid
- sms
- deliverydate
- deliverystatus
- error (si status=error), aquí recibirá el código de error
Códigos de error:
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 |
API de SMS para
¿Qué API para Go lang debo utilizar?
Descubra las ventajas e inconvenientes de cada una de nuestras APIs. Descubra cual API es mejor para su Software en Go lang.
Esta API permite conectar con nosotros desde Go lang para enviar peticiones a través de peticiones HTTP GET. Esta petición envía los parámetros en la misma URL de la petición.
- HTTP GET es extremadamente sencillo de implementar
- Información se envía no cifrada (Se podría extraer contraseñas de logs o caché)
- Petición máximas de ~4000 caracteres
La API de peticiones POST le permite conectar con nuestra API desde Go lang enviando los parámetros de la petición por parámetros HTTP POST. La información se envía de forma independiente a la URL.
- HTTP POST es sencillo de implementar
- Información se envía cifrada
- No hay limite en el tamaño de la petición
- Seguridad media
La API de autenticación básica permite la utilización de peticiones GET y POST en Go lang con una capa de seguridad adicional, ya que en este caso el usuario y clave se envía en la cabecera de la petición.
- La autenticación básica es sencilla de implementar
- Datos de acceso se envían cifrados
- El límite del tamaño depende del uso de GET o POST
- Seguridad media
SOAP le permite enviar peticiones en formato XML con Go lang, SOAP añade capa de seguridad extra en las peticiones API.
- La integración SOAP es más compleja
- Información se envía cifrada
- No hay limite en el tamaño de la petición
- Seguridad media / alta
Nuestra API JSON le permite enviar peticiones en formato JSON con Go lang, además esta API añade el protocolo oAuth 2.0 en la autenticación que le permite añadir una capa adicional de seguridad.
- La integración JSON oAuth 2.0 es más compleja
- Información se envía cifrada
- No hay limite en el tamaño de la petición
- Seguridad alta
Conectar Go lang con nuestra API de SMS
Nuestra API de SMS le permite enviar SMS o realizar campañas de forma sencilla, rápida y eficiente. El proceso que debe seguir para poder utilizar nuestra API sólo le llevará unos minutos. Nuestra empresa le ofrecerá una prueba gratuita para que pueda enviar SMS con Go lang.
Regístrese como cliente
Para poder tener acceso a la API debe ser cliente de Afilnet. El registro le llevará pocos minutos.
Solicite su prueba gratuita
Nuestra empresa le ofrecerá saldo de prueba que le permitirá realizar las pruebas con la API que necesite.
Integre la API
Realice la integración de la API utilizando el lenguaje de programación que deseen. Si tiene alguna duda o sugerencía sobre la API contáctenos
¡Bienvenido a Afilnet!
¡Todo listo!, ha conseguido mejorar sus comunicaciones con Afilnet. Estamos para darle soporte de nuestra API cuando lo necesite
Contacte con nuestro equipo a través de cualquiera duda a través de los métodos de contacto que le ofrecemos. Nuestro equipo intentará ofrecerla una solución inmediata y le ayudará en la integración de nuestra API en su Software.