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
  • Integra la teva aplicació amb la nostra API

    Aquest tutorial explica com iniciar la integració de qualsevol aplicació o programari amb la plataforma de comunicació SMS de LabsMobile.

    Ir al tutorial