Tutorial - Revenda de SMS para Desenvolvedores

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por ANDRIL »

Pessoal, respondendo a algumas dúvida de alguns colegas do fórum, criei este singelo tutorial mostrando que o desenvolvedor de aplicativo (clipper/xharbour) pode implantar o envio de SMS e ser revendedor para seus clientes do crédito necessário para envio. Estou colocando o serviço de SMS que utilizo (pago) mais creio que o procedimento deva ser parecido para as demais empresas pagas ou não.

A novidade é que ficou mais fácil para mim desenvolvedor centralizar o controle de créditos dos meus clientes, por que cada um possui uma chave (token) e é criada dentro da minha própria conta. Antes tinha que solicitar ao cliente fazer o cadastro e o cliente sempre ocupado não tinha tempo.

Lembrando que já tenho conta de acesso no site www.easysms.net.br.

Ao acessar o painel clique no icone conforme a imagem
Imagem

Crie sua subconta (conta filha)
Imagem

Após criada a conta, transfira a quantidade de crédito que seu cliente comprou de voce
Imagem

Notem que ao criar a subconta é dado um token único, ele é necessário para usar os serviços da API de comunicação com o site.

Este token eu informo ao cliente que acessa uma opção em meu sistema que permite registrá-lo e apartir daí já utilizar os serviços de envio.

Importante: essa subconta embora esteja com o nome do cliente´é só para meu controle, ele não recebe login e senha de acesso como uma conta convencional, sendo assim, não pode usar os serviços do site e consequêntemente adquirir créditos direto da empresa.

Resolvi criar um tópico novo para não atrapalhar o andamento do tópico
https://pctoledo.org/forum/viewto ... &start=735

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por sygecom »

O Custo do SMS nesse Easy é muito caro para quem usa muito SMS, no http://www.iagente.com.br é mais em conta.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por ANDRIL »

Olá sygecon, é verdade tem outros com valores menores mesmo, porem, meu uso aqui não chega ser tanto que compense visto que estes valores menores são para grandes quantidades o que ocasiona num valor de pacote muito alto.

Estive consultando o departamento comercial da easySMS sobre outros planos e me disseram para aguardar +- uma semana que estão refazendo os valores dos pacotes e que sendo eles, vão "abalar o mercado".

Quem viver verá, rs.

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Eros
Usuário Nível 3
Usuário Nível 3
Mensagens: 291
Registrado em: 19 Dez 2008 19:23
Localização: Goiania

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por Eros »

SMS é com modem daruma mini-210. Coloca um chip lá, e manda ver.
Avatar do usuário
filizola
Usuário Nível 3
Usuário Nível 3
Mensagens: 421
Registrado em: 19 Ago 2003 20:10
Localização: Belo Horizonte/MG

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por filizola »

Pode informar por favor onde compro mini modem daruma 210 ?
"Um passo a frente, e já não estará mais no mesmo lugar..."
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por HASA »

:))
Compre direto na Daruma http://www.desenvolvedoresdaruma.com.br/home/index.php no site click no menu Modems e Telecom, não uso mas o link é esse.

HASA
Eros
Usuário Nível 3
Usuário Nível 3
Mensagens: 291
Registrado em: 19 Dez 2008 19:23
Localização: Goiania

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por Eros »

Vc pode comprar direito na daruma, ou no mercado livre.

Fale com claudenir@daruma.com.br ou claudenirandrade@daruma.com.br
No mercado livre tem tambem. E recomendo, nao compre modem usb. Da pau demais.. tenha preferencia por modem para ligar na porta serial (com1, com2). Te garanto que modem na porta serial, nao vai te dar dor de cabeça.
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por ANDRIL »

Eros escreveu:nao compre modem usb. Da pau demais..
Modem USB geralmente instalando o drive cria uma porta serial virtual, utilizo modens USB usando comunicação serial via xharbour normalmente.

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por Abel »

muito boa noite,
em 2014 postei algumas duvidas aqui sobre envio sms e alguns de voces falaram sobre algumas empresas etc...
atualmente alguns links nem estao mais no ar, por exemplo easysms, alguem pode dizer se tem o sistema integrado com alguma empresa de sms e que esta satisfeito agora em 2020 ? agora devido a pandemia, enviar sms pelo sistema para contatar clientes, pode ser bem interessante.

Desde ja agradeço,
ABEL
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por ANDRIL »

Usamos por muito tempo a easysms, porem quando um cliente necessitou de integração também com um programa de pontos, passamos a usar o MixPontos que além dos pontos também tem a parte de envio de SMS e permite integração via api.
Temos usado tanto a parte de fidelidade de clientes integrado ao nosso sistema e também o SMS em shortcode com excelente qualidade. Usamos para diversas tarefas os SMS, aviso de compra, aviso de entrega, aviso de aniversário, etc.

Para desenvolvedores tem que se cadastrar no site para receber os tokens de integração. Depois cada cliente cria sua conta de EMPRESA/LOJISTA e tem acesso a seus tokens além de poder usar a plataforma de pontuação de clientes. O desenvolvedor cria no aplicativo campos para guardarem os tokens que farão parte da chamada http. Como já tinhamos as chamadas para a easysms foi muito simples passar para o MixPontos.
http://www.mixpontos.com.br/
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por Abel »

Obrigado pela dica, Andril, vou analisar eles tambem
ontem fiz o cadastro de teste na comtele para iniciar alguns testes

consegui enviar o sms, mas nao consegui pegar o retorno true ou codigo de erro,
alguem tem alguma experiencia parecida ?

Código: Selecionar todos

Function ENVIA_SMS_COMTELE()
  Local oOle, aRet, aHash:=hash(), cJson

    ahash["Sender"]      := "cod_id01" 
    ahash["Receivers"]   := "11999999999"
    ahash["Content"]     := "esta e uma mensagem sms teste"

    cJson := hb_jsonEncode(ahash, .t.)
    ////// cJson :="["+cJson+"]"
    ALERT2('AZUL',cJson)
    Try
        oOle := CreateObject("MSXML2.XMLHTTP")
    Catch
        oOle := CreateObject("Microsoft.XMLHTTP")
    End

    oOle:Open( "POST", "https://sms.comtele.com.br/api/v2/send", .t. )
    oOle:SetRequestHeader( "content-type", "application/json")
    oOle:SetRequestHeader( "auth-key", "xxxxxxxx-xxxx-4037-b011-8d58bdfe7685")  // substituir seu token recibido no cadastrar
    oOle:Send(cJson)
    Do While oOle:readyState <> 4
       // oOle:WaitForResponse( 500 ) // SysRefresh()
       millisec(500)
    ENDDO
    //
    ALERT2('VERDE',oOle:ResponseBody) ////////////////////////// retorna nulo
    
    hb_jsonDecode(oOle:ResponseBody, @aRet)
    
    ALERT2('AZUL',aRet) ////////////////////////// retorna nil

Return nil
segue o manual

Enviar SMS
Com este recurso, é possivel enviar SMS de forma instantânea.
URL do Endpoint: https://sms.comtele.com.br/api/v2/send
Autenticação via Header: auth-key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Método: POST


curl
curl --request POST \
--url https://sms.comtele.com.br/api/v2/send \
--header 'auth-key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' \
--header 'content-type: application/json' \
--data '{"Sender":"sender_id","Receivers":"phone_number","Content":"message"}'



Exemplo de Retorno de Sucesso
copy
{
"Success": true,
"Object": null,
"Message": "A requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios."
}
{
"Success": true,
"Object": null,
"Message": "A requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios."
}

Campos do Retorno
Campos 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.

Retornos Previsíveis
HTTP Status Descrição
200 A requisicao de envio foi encaminhada para processamento com sucesso. Voce podera acompanhar o status pelos relatorios.
400 Object reference not set to an instance of an object. Possível Causa: Nenhum objeto foi informado no Body da requisição.
400 É necessário informar ao menos um destinatário que irá receber o SMS.
400 O parâmetro ‘Content’ deve ser informado com conteúdo.
400 Não foi possível continuar, pois a quantidade de créditos é insuficiente. Para efetuar o envio é necessário ao menos 1 créditos.
401 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.
401 O usuário informado está desativado.
401 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.
500 Algum problema com o servidor em que está o recurso acessado, neste caso, tente acessar novamente.
503 houve um time out na requisição ao efetuar a conexão com o endpoint.
rossine
Usuário Nível 3
Usuário Nível 3
Mensagens: 325
Registrado em: 06 Ago 2007 09:57
Localização: Divinópolis-MG

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por rossine »

Olá Abel,

Eu estou integrando meu aplicativo com o Disparo PRO.

Tente fazer estas mudanças no seu no fonte para ver se consegue fazer o que você precisa:

Código: Selecionar todos


Troque: 

Try
    oOle := CreateObject("MSXML2.XMLHTTP")
Catch
    oOle := CreateObject("Microsoft.XMLHTTP")
End

Por:

Try
    oOle := CreateObject("MSXML2.ServerXMLHTTP")
Catch
    oOle := CreateObject("Microsoft.XMLHTTP")
End

e isto:

oOle:Open( "POST", "https://sms.comtele.com.br/api/v2/send", .t. )

por:

oOle:Open( "POST", "https://sms.comtele.com.br/api/v2/send", .f. )

Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por Abel »

Ola, rossine

nao adiantou, mas descobri onde estava o erro.

apos o send(), ao invés de pegar o retorno de oOle:ResponseText,
estava pegando oOle:ResponseBody

tentei descobrir quais são as variáveis que o send() alimenta alem de
oOle:status, e oOle:ResponseText mas nao descobri, ficou assim:

Código: Selecionar todos


Try
        oOle := CreateObject("MSXML2.XMLHTTP")
    Catch
        oOle := CreateObject("Microsoft.XMLHTTP")
    End
    //
    oOle:Open( "POST", "https://sms.comtele.com.br/api/v2/send", .f. )
    oOle:SetRequestHeader( "content-type", "application/json")
    oOle:SetRequestHeader( "auth-key", "xxxxxxxxxxd4037-b011-8d58bdfe7685")  // substituir o 99999999999 por seu token recibido no cadastrar
    oOle:Send(cJson)
    Do While oOle:readyState <> 4
       millisec(500)
    ENDDO
    aRet=STRTRAN(oOle:ResponseText,CHR(227),"a") // TIRA o a com til que aparecia um caractere esquisito
    //
    IF oOle:status=200     //  200=processado com sucesso para qualquer transacao da comtele
       IF 'sucesso' $ aRet
          ALERT2('VERDE','SMS enviado para processamento.')  // padronizei as msg de retorno deles nao me interessa quando retorna sucesso
       ELSE
          ALERT2('AZUL',aRet)    
       ENDIF
    ELSE
       ALERT2('VERMELHO',aRet) 
    ENDIF
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por HASA »

Bom dia, Rossine, você tem algum exemplo desse Disparo Pro ?

HASA
rossine
Usuário Nível 3
Usuário Nível 3
Mensagens: 325
Registrado em: 06 Ago 2007 09:57
Localização: Divinópolis-MG

Tutorial - Revenda de SMS para Desenvolvedores

Mensagem por rossine »

Olá Hasa,

O Everton tem um exemplo bacana para Harbour e xHarbour.

Vou ver se tem como ele entrar em contato contigo. Eu usei o exemplo dele para montar minha classe, mas qualquer dúvida me avisa que te ajudo também.

Abraço,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Responder