Codi d'exemple en llenguatge de programació C++ per integració SMS API

A continuació trobaràs els exemples de codi de programació en el llenguatge C++ per enviar missatges SMS a través de l'API de la plataforma LabsMobile.

També disposes d'exemples de codi en C, C# i altres llenguatges de programació.

Et recomanem consultis i tinguis en compte els següents recursos i ajuda al teu integració:

Enviar missatges - HTTP/GET

Exemple d'enviament per a la versió GET de la SMS API de LabsMobile. Aquest és un mètode bàsic i simple d'enviar missatges SMS des d'una aplicació o programari creada en C++ codificant tots els paràmetres en la mateixa url.

És important codificar tots els valors com URL (amb la funció urlencode() per exemple).

Pots veure i descarregar el manual de l'API GET de LabsMobile en la següent url: https://www.labsmobile.com/ca/api-sms/versions-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 missatges - 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èdits - 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

    Registra't!

    Crea un compte d'usuari i envia missatges SMS en segons. Tindràs totes les funcionalitats i prestacions a una mateixa plataforma.

    Envia des de l'API i gestiona el teu compte amb la nostra aplicació online WebSMS.

    Crea un compte
  • Maqueens, Centres d'estètica recomana LabsMobile

    Recordatoris de cites, campanyes SMSLanding i comunicació directa amb clients de centres d'estètica.

    Veure més opinions
  • dashboard aplicación online

    La màxima fiabilitat al millor preu

    A LabsMobile només oferim rutes directes de màxima fiabilitat i qualitat. Gaudeix de la nostra plataforma i de totes nostres serveis pel preu d'un SMS.

    Paga NOMÉS pels missatges enviats.

    Consulta les nostres tarifes
  • dashboard aplicación online

    Més info? Contacta amb nosaltres!

    El nostre departament tècnic compta amb professionals amb anys d'experiència i hem realitzat múltiples integracions.

    Et guiem i ajudem en tot el procés.

    Sol·licita suport tècnic
  • Gestiona i actualitza la teva base de dades de telèfons mòbils

    Aquest tutorial explica com mantenir en el temps una llista de telèfons mòbils en l'aplicació WebSMS perquè els enviaments tinguin un major percentatge de lliurament i lectura.

    Ir al tutorial