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
  • PlandUp, Aplicación web de confirmaciones recomienda LabsMobile

    Envío de confirmaciones a eventos. Mensajes SMS que incluyen un enlace que confirma la asistencia al evento.

    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
  • Resultados de tus envíos o campañas SMS

    Este tutorial explica cómo obtener los resultados o informes de estadísticas de los envíos SMS realizados desde una cuenta WebSMS.

    Ir al tutorial