TUTORIAL
Quer enviar SMS via PHP em apenas 3 minutos? Então utilize a biblioteca desenvolvida por nossa equipe de desenvolvimento para tornar seu trabalho muito mais fácil
Vamos disponibilizar também exemplos de como agendar envios de SMS, autenticação dois fatores, consultar relatórios e muito mais, tudo através de seu sistema.
Antes de começar, você precisa de uma conta conosco para testar nossas soluções. Você pode testar gratuitamente solicitando uma conta teste conosco clicando no botão abaixo.
Temos dois métodos para utilizar nossa SDK e fazer envios de SMS em PHP, via importação de arquivos ou composer.
comtele_sdk está disponível no Packagist o código é open source e pode ser encontrado em nosso GitHub:
A versão mínima necessária do PHP para instalar a SDK via composer é a PHP 7 e via importação de arquivos PHP 5.6.1, caso esteja utilizando uma versão inferior e tenha alguma dificuldade de usar a API Rest, recomendamos que dê uma olhadinha nos projetos acima, pois neles são feitas chamadas via API e não haverá incompatibilidades de bibliotecas e você pode ver como fazer as chamadas e fazer a sua própria versão, ou até mesmo modificar as dependências que não são compatíveis com o seu projeto.
Caso esteja utilizando composer, veja abaixo como instalar nossa biblioteca
$ composer require comtele/comtele_sdk
Nota: envios por importação de arquivos não é necessário essa instalação.
Problemas de compatibilidade ou é um dev desbravador e hands on?
Veja abaixo um código php para enviar sms a celulares de forma instantânea utilizando uma de nossas SDK.
É simples, rápido e fácil.
<?php
require_once "vendor/autoload.php";
use Comtele\Services\TextMessageService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$textMessageService = new TextMessageService(API_KEY);
$result = $textMessageService->send(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Content: Conteudo da mensagem a ser enviada.
["11999998888"], // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
<?php
require_once "textmessage_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = send(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Content: Conteudo da mensagem a ser enviada.
["11999998888"], // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
Campo | Obrigatório | Descrição |
---|---|---|
Sender | não | Este campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensamdo que você faça “de para” dos ids da Comtele com o sistema que está integrando. |
Content | sim | Conteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente. |
Receivers | sim | Destinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número. |
Com este recurso, é possível enviar SMS de forma instantânea e quando o SMS for respondido, é possível enviar uma resposta de forma automática, baseado em um contexto previamente configurado.
Para utilizar este recurso, é necessário que você acesse a opção Resposta Automática no menu Configurações no painel de SMS, cadastre uma regra de resposta automática e informe o nome que foi cadastrado no campo ContextRuleName no momento que for usar o endpoint.
<?php
require_once "vendor/autoload.php";
use Comtele\Services\ContextMessageService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$contextMessageService = new ContextMessageService(API_KEY);
$result = $contextMessageService->send(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"ContextRuleName", // ContextRuleName: Nome da regra de resposta automativa a ser usada no envio.
["11999998888"], // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
<?php
require_once "contextmessage_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = send(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"ContextRuleName", // ContextRuleName: Nome da regra de resposta automativa a ser usada no envio.
["11999998888"], // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
Campo | Obrigatório | Descrição |
---|---|---|
Sender | não | Este campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando. |
ContextRuleName | sim | Neste campo deve ser informado o nome da regra que o contexto de resposta foi programado e cadastrado no sistema que no caso será usado neste envio. |
Receivers | sim | Destinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número. |
Precisa enviar SMS para uma grande base de contatos? Também temos a solução.
Com este recurso, é possível enviar SMS de forma instantânea para um grupo de contatos.
Para usar este recuso, é necessário ter grupos de contatos já cadastrados em nossa aplicação, caso ainda não tenha feito isso, dê uma olhadinha no recurso Cadastrar Grupos e Adicionar Contatos / Grupos
<?php
require_once "vendor/autoload.php";
use Comtele\Services\ContactMessageService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$contactMessageService = new ContactMessageService(API_KEY);
$result = $contactMessageService->send(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Content: Conteudo da mensagem a ser enviada.
"GroupName", // GroupName: Nome do grupo de contatos que receberao o SMS
);
?>
<?php
require_once "contactmessage_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = send(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Content: Conteudo da mensagem a ser enviada.
"GroupName", // GroupName: Nome do grupo de contatos que receberao o SMS
);
?>
Campos | Obrigatório | Descrição |
---|---|---|
Sender | não | Este campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando. |
Content | sim | Conteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente. |
GroupName | sim | Nome do grupo de contatos, com todos os telefones que receberão o SMS. |
Precisa agendar aquele SMS de aniversário? Ou até de algum evento que está próximo? Também temos a solução.
Com este recurso, é possível programar a data e horário de envio de SMS para serem enviados.
<?php
require_once "vendor/autoload.php";
use Comtele\Services\TextMessageService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$textMessageService = new TextMessageService(API_KEY);
$result = $textMessageService->schedule(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Content: Conteudo da mensagem a ser enviada.
"yyyy-MM-dd HH:mm", // ScheduleDate: Data que o SMS deve ser disparado.
["11999998888"] // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
<?php
require_once "textmessage_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = schedule(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Content: Conteudo da mensagem a ser enviada.
"yyyy-MM-dd HH:mm", // ScheduleDate: Data que o SMS deve ser disparado.
["11999998888"] // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
Campos | Obrigatório | Descrição |
---|---|---|
Sender | não | Este campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando. |
Content | sim | Conteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente. |
ScheduleDate | sim | Data de agendamento que o SMS deve ser disparado, formato: yyyy-MM-dd HH:mm. |
Receivers | sim | Destinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número. |
Com este recurso, é possível programar a data e horário de envio de SMS para serem enviados, e quando o SMS for respondido, é possível enviar uma resposta de forma automática, baseado em um contexto previamente configurado.
Para utilizar este recurso, é necessário que você acesse a opção Resposta Automática no menu Configurações no painel de SMS, cadastre uma regra de resposta automática e informe o nome que foi cadastrado no campo ContextRuleName no momento que for usar o endpoint.
<?php
require_once "vendor/autoload.php";
use Comtele\Services\ContextMessageService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$contextMessageService = new ContextMessageService(API_KEY);
$result = $contextMessageService->schedule(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"ContextRuleName", // ContextRuleName: Nome da regra de resposta automatica a ser usada no envio.
"yyyy-MM-dd HH:mm", // ScheduleDate: Data que o SMS deve ser disparado.
["11999998888"] // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
<?php
require_once "contextmessage_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = schedule(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"ContextRuleName", // ContextRuleName: Nome da regra de resposta automatica a ser usada no envio.
"yyyy-MM-dd HH:mm", // ScheduleDate: Data que o SMS deve ser disparado.
["11999998888"] // Receivers: Numero de telefone que vai ser enviado o SMS.
);
?>
Campos | Obrigatório | Descrição |
---|---|---|
Sender | não | Este campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando. |
ContextRuleName | sim | Neste campo deve ser informado o nome da regra que o contexto de resposta foi programado e cadastrado no sistema que no caso será usado neste envio. |
ScheduleDate | sim | Data de agendamento que o SMS deve ser disparado, formato: yyyy-MM-dd HH:mm. |
Receivers | sim | Destinatários que irão receber o SMS. Para dois ou mais destinatários, separe por uma vírgula os telefones, formato: DDD + Número. |
Precisa agendar SMS para uma grande quantidade de contatos? Também temos a soluçã.
Com este recurso, é possível programar a data e horário de envio de SMS para um grupo de contatos.
Para usar este recuso, é necessário ter grupos de contatos já cadastrados em nossa aplicação, caso ainda não tenha feito isso, dê uma olhadinha no recurso Cadastrar Grupos e Adicionar Contatos / Grupos
<?php
require_once "vendor/autoload.php";
use Comtele\Services\ContactMessageService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$contactMessageService = new ContactMessageService(API_KEY);
$result = $contactMessageService->schedule(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Conteudo da mensagem a ser enviada.
"GroupName", // GroupName: Nome do grupo de contatos que receberao o SMS.
"yyyy-MM-dd HH:mm" // ScheduleDate: Data que o SMS deve ser disparado.
);
?>
<?php
require_once "contactmessage_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = schedule(
"my_id", // Sender: Id de requisicao da sua aplicacao para ser retornado no relatorio, pode ser passado em branco.
"Hello PHP", // Conteudo da mensagem a ser enviada.
"GroupName", // GroupName: Nome do grupo de contatos que receberao o SMS.
"yyyy-MM-dd HH:mm" // ScheduleDate: Data que o SMS deve ser disparado.
);
?>
Campos | Obrigatório | Descrição |
---|---|---|
Sender | não | Este campo é usado só internamente, e geralmente é bem util para controle. Por exemplo você pode informar um id interno, que ele será exibido no relatório, dispensando que você faça “de para” dos ids da Comtele com o sistema que está integrando. |
Content | sim | Conteúdo da mensagem que vai ser recebida pelo número que o SMS será enviado. Nos casos que o conteúdo do SMS superar 160 caracteres, será tarifado mais de um crédito a cada 153 caracteres. Algumas operadoras como a Oi e Sercomtel não suportam concatenação da mensagens, então serão recebidos SMS separadamente. |
GroupName | sim | Nome do grupo de contatos, com todos os telefones que receberão o SMS. |
ScheduleDate | sim | Data de agendamento que o SMS deve ser disparado, formato: yyyy-MM-dd HH:mm. |
Precisa de mais segurança em seu sistema de autenticação? Nós cuidamos disso para você.
Com este recurso, é possível enviar via SMS de forma instantânea um código de autenticação para o destinatário, que pode ser validado posteriormente no endpoint a seguir: Validar Código / Dois Fatores.
<?php
require_once "vendor/autoload.php";
use Comtele\Services\TokenService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$tokenService = new TokenService(API_KEY);
$result = $tokenService->send_token(
"11999998888", // PhoneNumber: Numero de telefone que vai ser enviado o token via SMS.
"Company" // Prefix: Identificação da empresa que aparecerá no corpo da mensagem.
);
?>
<?php
require_once "token_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = send_token(
"11999998888", // PhoneNumber: Numero de telefone que vai ser enviado o token via SMS.
"Company" // Prefix: Identificação da empresa que aparecerá no corpo da mensagem.
);
?>
Campos | Obrigatório | Descrição |
---|---|---|
PhoneNumber | sim | Número de telefone do destinatário que você quer enviar um código para autenticação de dois fatores. |
Prefix | não | Neste campo, você pode informar ao destinatário a origem do token recebido, por exemplo: Comtele: Codigo de Autorizacao xxxxxx. |
Com este recurso, é possível validar o token recebido e informado pelo usuário que recebeu o SMS, enviado pelo endpoint anterior anterior: Enviar SMS / Dois Fatores.
<?php
require_once "vendor/autoload.php";
use Comtele\Services\TokenService;
const API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$tokenService = new TokenService(API_KEY);
$result = $tokenService->validate_token(
"TokenCode" // TokenCode: Token que o cliente informou e deve ser validado pela Comtele.
);
?>
<?php
require_once "token_service.php";
$API_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
$result = validate_token(
"TokenCode" // TokenCode: Token que o cliente informou e deve ser validado pela Comtele.
);
?>
Campos | Obrigatório | Descrição |
---|---|---|
TokenCode | sim | Token recebido pelo usuário, que deve ser validado. |
{
"Success": true,
"Object": null,
"Message": "A requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios."
}
Campo | Descrição |
---|---|
Success | Pode ser retornado true para sucesso ou false para erro, este campo é o resultado da operação. |
Object | Neste recurso será nulo, pois não existe objeto a ser retornado. |
Content | Conteúdo da mensagem que foi recebida pelo número retornado. |
Message | Neste campo é retornado mais detalhes sobre o resultado da operação do recurso que foi utilizado. |
Campo | Descrição |
---|---|
true | A requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios. |
false | Object reference not set to an instance of an object. Possível Causa: Nenhum objeto foi informado no Body da requisição. |
false | É necessário informar ao menos um destinatário que irá receber o SMS. |
false | O parâmetro “Content” deve ser informado com conteúdo. |
false | Não foi possível continuar, pois a quantidade de créditos é insuficiente. Para efetuar o envio é necessário ao menos 1 créditos. |
false | A chave de acesso informada é inválida e não pode efetuar uma requisição à API. Possível Causa: auth-key está incorreta ou o campo foi informado em branco. |
false | O usuário informado está desativado. |
false | O usuário informado está incorreto ou não existe Possível Causa: o campo auth-key não está sendo informado na requisição. |
– | Caso seja retornado um erro não tratado da linguagem, cheque a sua chave de API. |
Consulte relatórios, cadastre grupos e contatos através de nossos outros endpoints.
Agora que você já sabe como enviar SMS de uma maneira rápida e fácil para é só criar uma conta teste agora mesmo.
O processo é automático e rápido, acesse nossa página de contratação e comece a codar agora mesmo.