SMS Delphi. Enviar SMS Delphi

El envío de SMS en Delphi es sencillo de integrar mediante la SMS API de Altiria.

Ofrecemos dos ejemplos:

Código fuente

¿Cómo integrar el envío de SMS en Delphi?

Para integrar el envío de SMS con Delphi en tu propio software, lo más conveniente es leer la documentación técnica de envío de SMS, API SMS. El protocolo de comunicaciones más sencillo para implementar el envío de SMS es HTTP.

Los siguientes códigos son ejemplos funcionales que han sido probados con éxito pero pueden resultar incompleto para integrar el envío de SMS masivo con Delphi. Para solucionar cualquier incidencia, se debe consultar la especificación técnica. Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

Código de ejemplo utilizando IdHTTP

program HttpDelphiAltiria1;

// Copyright (c) 2021, Altiria TIC SL
// All rights reserved.
// El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
// Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
// más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
// https://www.altiria.com/api-envio-sms/


{$APPTYPE CONSOLE}

{$R *.res}

uses
System.SysUtils, Classes, IdHTTP,System.WideStrUtils;

var
DResultado,SUrl : String;
Parametros : TStringList;
IdHTTP1: TIdHTTP;

begin
try
//Se fija la URL sobre la que enviar la petición POST
SUrl:='http://www.altiria.net/api/http';
//Compone el mensaje a enviar
//YY y ZZ se corresponden con los valores de identificación del usuario en el sistema
Parametros := TStringList.Create();
Parametros.Add('cmd=sendsms');
Parametros.Add('login=YY');
Parametros.Add('passwd=ZZ');
Parametros.Add('dest=346xxxxxxxx');
Parametros.Add('dest=346yyyyyyyy');
Parametros.Add(UTF8Encode('msg=Mensaje de prueba'));
//No es posible utilizar el remitente en América pero sí en España y Europa
//Descomentar la línea solo si se cuenta con un remitente autorizado por Altiria
//Parametros.Add('senderId=remitente');

IdHTTP1:= TIdHTTP.Create(nil);

//Se fija el tiempo máximo de espera para conectar con el servidor (5000)
//Se fija el tiempo máximo de espera de la respuesta del servidor (60000)
IdHTTP1.ConnectTimeout := 5000;
IdHTTP1.ReadTimeout:=60000;

IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
IdHTTP1.Request.Charset := 'UTF-8';
IdHTTP1.Request.ContentEncoding := 'UTF-8';

// Enviamos un mensaje, recibiendo en "DResultado" la respuesta del servidor
DResultado:=IdHTTP1.Post(SUrl,Parametros);
WriteLn(DResultado);

except
on E: Exception do
if E.ClassName='EIdConnectTimeout' then
WriteLn ('ERROR Connect Timeout')
else if E.ClassName='EIdReadTimeout' then
WriteLn ('ERROR Response Timeout')
else
Writeln(E.ClassName, ': ', E.Message);
end;
Parametros.Free;
IdHTTP1.Free;
end.

Código de ejemplo utilizando TnetHTTPClient

program HttpDelphiAltiria2;

// Copyright (c) 2021, Altiria TIC SL
// All rights reserved.
// El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
// Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
// más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
// https://www.altiria.com/api-envio-sms/

{$APPTYPE CONSOLE}

{$R *.res}

uses
System.SysUtils, Classes, System.Net.HTTPClient, System.Net.HTTPClientComponent;
var
SUrl : String;
client : TNetHTTPClient;
response : IHTTPResponse;
Parametros : TStringList;
begin
try
client := TNetHTTPClient.Create(nil);
client.ContentType :='application/x-www-form-urlencoded';
//Se fija la URL sobre la que enviar la petición POST
SUrl:='http://www.altiria.net/api/http';
//YY y ZZ se corresponden con los valores de identificación del usuario en el sistema
Parametros := TStringList.Create();
Parametros.Add('cmd=sendsms');
Parametros.Add('login=YY');
Parametros.Add('passwd=ZZ');
Parametros.Add('dest=346xxxxxxxx');
Parametros.Add('dest=346yyyyyyyy');
Parametros.Add(UTF8Encode('msg=Mensaje de prueba'));
//No es posible utilizar el remitente en América pero sí en España y Europa
//Descomentar la línea solo si se cuenta con un remitente autorizado por Altiria
//Parametros.Add('senderId=remitente');

Response:=client.Post(SUrl,Parametros);

if Response.StatusCode = 200 then
WriteLn(Response.ContentAsString())
else
begin
WriteLn('Código de error: ' + IntToStr(Response.StatusCode));
WriteLn(Response.StatusText);
end;
except
on E: ENetHTTPClientException do
WriteLn ('ERROR Conexión. ' + E.Message);

on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Parametros.Free;
Client.Free;
end.

Paga solo por lo que necesitas

Sin cuotas de alta

Sin cuotas de mantenimiento

Protocolos de comunicación soportados

La API SMS se puede utilizar con los siguientes protocolos de comunicación:

SMS API

Descarga

Guía para la integración de SMS API

Lista de tareas detallada, checklist, para asegurarte que no se olvida nada importante en la integración de API SMS. Independiente del lenguaje de programación elegido.

Países a los que damos servicio

bandera españa

España

Bandera Mexico

México

Bandera Colombia

Colombia

Bandera Perú

Perú

Chile

Chile

Bandera Ecuador

Ecuador

Bandera Argentina

Argentina

+125 países

Características

Descubre las funcionalidades avanzadas de Altiria para el envío de SMS

Confirmación entrega SMS

Confirmación de entrega

Remitente SMS

Remitente personalizado

Estadísticas

Estadísticas

Programación envío SMS

Programación de envíos

SMS concatenados

SMS largos, más de 160 caracteres

Landing SMS

Editor de landing

SMS Unicode

Unicode. Acentos y otros alfabetos

Eliminar duplicados

Elimina teléfonos duplicados

SMS personalizados

Textos personalizados

Plantillas SMS

Plantillas de mensajes

Recordatorio citas SMS

Recordatorio de citas

Pruébalo gratis