Código ejemplo en lenguaje de programación C++ para integración SMS API

A continuación se muestran los ejemplos de código de programación en el lenguaje C++ para enviar mensajes SMS a través de la API de la plataforma LabsMobile.

También dispones de ejemplos de código en C, C# y otros lenguajes de programación.

Te recomendamos consultes y tengas en cuenta los siguientes recursos y ayuda en tu integración:

Enviar mensajes - HTTP/GET

Ejemplo de envío para la versión GET de la SMS API de LabsMobile. Este es un método básico y simple de enviar mensajes SMS desde una aplicación o software creada en C++ codificando todos los parámetros en la misma url.

Es importante codificar todos los valores como url (con la función urlencode() por ejemplo).

Puedes ver y descargar el manual de la API GET de LabsMobile en la siguiente url: https://www.labsmobile.com/es/api-sms/versiones-api/http-get

                
#include <winsock2.h>
#include <windows.h>
#include <iostream>
#include <string>
#include <locale>
#pragma comment(lib,"ws2_32.lib")
using namespace std;

string website_HTML;
locale local;


void get_Website(char *url );

int main ()
{
    //open website
    get_Website("http://api.labsmobile.com/get/send.php?username=[X]&password=[X]&msisdn=34609036253&sender=SENDER&message=This+is+the+message");

    //format website HTML
    for (size_t i=0; i<website_HTML.length(); ++i)
        website_HTML[i]= tolower(website_HTML[i],local);

    //display HTML
    cout <<website_HTML;

    cout<<"\n\n";



    return 0;
}



//***************************
void get_Website(char *url )
{
    WSADATA wsaData;
    SOCKET Socket;
    SOCKADDR_IN SockAddr;


    int lineCount=0;
    int rowCount=0;

    struct hostent *host;
    char *get_http= new char[256];

        memset(get_http,' ', sizeof(get_http) );
        strcpy(get_http,"GET / HTTP/1.1\r\nHost: ");
        strcat(get_http,url);
        strcat(get_http,"\r\nConnection: close\r\n\r\n");

        if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0)
        {
            cout << "WSAStartup failed.\n";
            system("pause");
            //return 1;
        }

        Socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
        host = gethostbyname(url);

        SockAddr.sin_port=htons(80);
        SockAddr.sin_family=AF_INET;
        SockAddr.sin_addr.s_addr = *((unsigned long*)host->h_addr);

        cout << "Connecting to "<< url<<" ...\n";

        if(connect(Socket,(SOCKADDR*)(&SockAddr),sizeof(SockAddr)) != 0)
        {
            cout << "Could not connect";
            system("pause");
            //return 1;
        }

        cout << "Connected.\n";
        send(Socket,get_http, strlen(get_http),0 );

        char buffer[10000];

        int nDataLength;
            while ((nDataLength = recv(Socket,buffer,10000,0)) > 0)
            {
                int i = 0;

                while (buffer[i] >= 32 || buffer[i] == '\n' || buffer[i] == '\r')
                {
                    website_HTML+=buffer[i];
                    i += 1;
                }
            }
        closesocket(Socket);
        WSACleanup();

            delete[] get_http;
}

Enviar mensajes - Builder C++ 6 - HTTP/GET

                
#include<iostream>
#include<sstream>
#include<windows.h>
#include<wininet.h>

#include <vcl.h>
#pragma hdrstop

#pragma comment(lib, "wininet.lib")

...

string host       = "api.labsmobile.com";
int port          = 80;

string username   = "YOUR USERNAME";
string password   = "YOUR PASSWORD";
string message    = "YOUR MESSAGE";
string originator = "DESTINATION PHONE NUMBER";
string recipient  = "YOUR SENDER";

stringstream url;
url << "/get/send.php?username=" << encode(username);
url << "&password=" << encode(password);
url << "&sender=" << encode(recipient);
url << "&msisdn=" << encode(originator);
url << "&message=" << encode(message);


// Create socket.
HINTERNET inet = InternetOpen("SendingSMSLabsMobile", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);

// Open connection and bind it to the socket.
HINTERNET conn = InternetConnect(inet, host.c_str() , port, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);

// Open the HTTP request
HINTERNET sess = HttpOpenRequest(conn, "GET", url.str().c_str(), "HTTP/1.1", NULL, NULL, INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RELOAD, 0);

// Check errors
int error = GetLastError();
if(error == NO_ERROR)
{
        // Send HTTP request.
        HttpSendRequest(sess, NULL, 0, NULL,0);

        // Receive HTTP response.

        int size = 1024;
        char *buffer = new char[size + 1];
        DWORD read;
        int rsize = InternetReadFile(sess, (void *)buffer, size, &read);
        string s = buffer;
        s = s.substr(0, read);

        // Check statuscode
        int pos = s.find("<code>0</code>");

        // If statuscode is 0, write "Message sent." to output
        // else write "Error."
        if(pos > 0){
          ShowMessage("Message sent.");
        }
        else{
          ShowMessage("Error.");
        }
}

Consulta de créditos - HTTP/GET

                
#include <winsock2.h>
#include <windows.h>
#include <iostream>
#include <string>
#include <locale>
#pragma comment(lib,"ws2_32.lib")
using namespace std;

string website_HTML;
locale local;


void get_Website(char *url );

int main ()
{
    //open website
    get_Website("http://api.labsmobile.com/get/balance.php?username=[X]&password=[X]");

    //format website HTML
    for (size_t i=0; i<website_HTML.length(); ++i)
        website_HTML[i]= tolower(website_HTML[i],local);

    //display HTML
    cout <<website_HTML;

    cout<<"\n\n";



    return 0;
}
  • contact form support

    ¡Regístrate!

    Crea una cuenta de usuario y envía tus mensajes SMS en segundos. Tendrás todas las funcionalidades y prestaciones en una misma plataforma.

    Envía desde API y gestiona tu cuenta con nuestra aplicación online WebSMS.

    Crear nueva cuenta
  • Agencia de marketing, Eventos y campañas de SMS marketing recomienda LabsMobile

    Campañas masivas de SMSLanding para grandes marcas y para convocar y gestionar eventos deportivos.

    Ver más opiniones
  • dashboard aplicación online

    Máxima fiabilidad al mejor precio

    En LabsMobile sólo ofrecemos rutas directas de máxima fiabilidad y calidad. Disfruta de nuestra plataforma y de todas nuestros servicios por el precio de un SMS.

    Paga SÓLO por los mensajes enviados.

    Consulta nuestras tarifas
  • dashboard aplicación online

    ¿Más información? ¡Contáctanos!

    Nuestro departamento técnico cuenta con profesionales con años de experiencia y hemos realizado múltiples integraciones.

    Te guiamos y ayudamos en todo el proceso.

    Solicita soporte técnico
  • Gestiona y actualiza tu base de datos de teléfonos móviles

    Este tutorial explica cómo mantener en el tiempo una lista de teléfonos móviles en la aplicación WebSMS para que los envíos tengan un mayor porcentaje de entrega y lectura.

    Ir al tutorial