Funcionalidades

De Tek-System Wiki
Ir para navegação Ir para pesquisar

Funcionalidades liberadas para uso:

BuscarToken.

- Por padrão os tokens gerados pela meta tem durabilidade de 24hs. Apesar de possuir opção de gerar token permanente e aconselhável usar esse token somente para buscar tokens de acesso temporário para que esses realizem as requisições de envio de mensagens com o cliente.

 - function BuscarToken(Client_ID, Client_Secret, Token: String): String;
   - Cliente ID: É a ID do aplicativo.
   - Cliente Secrete: É a chave secreta do aplicativo.
   - Token: É o token permanente gerado.

EnviarMensagemWhatsApp.

- Para usar essa opção o template tem de ser do tipo Texto.

- Nessa opção de envio, tudo que for enviado será através do formato texto. Onde pode ser enviado texto, valores, data e etc...

- Como informado no menu de cadastro conta Meta para a empresa enviar uma mensagem é obrigatório usar um tamplete onde o mesmo pode possuir parâmetros ou apenas mensagem fixa.

  - procedure EnviarMensagemWhatsApp(IDRemetente, Token, Telefone, Template, Linguagem: String; Dados: OleVariant );
    - IDRemente: Ao cadastrar o telefone da empresa é gerado uma ID essa ID que será usada para identificar quem é a empresa que esta enviado a mensagem.
    - Token: Aconselhado usar o token que foi gerado através da função BuscarToken e não o token permanente.
    - Telefone: Telefone para qual pretende enviar a mensagem 55 + DDD + Numero de Telefone.
    - Template: Nome do template cadastrado na meta que será usado para a mensagem que deseja enviar.
    - Linguagem: Linguagem na qual o template foi gerado. Ao cadastrar um template deve informar a linguagem do mesmo.
    - Dados: É um vetor de parâmetros. Caso não possuir parâmetros enviar  ‘ ‘.

EnviarMensagemWhatsAppLink

- Para usar essa opção o template tem de ser do tipo mídia.

- Opção criada para envio de Mídia através de links da internet. O Link também pode ser enviado usando a opção EnviarMensagemWhatsApp, a diferença é que nesse formato será enviado somente o link obrigado o recebedor a abrir para visualizar seu conteúdo diretamente. Agora usando a opção EnviarMensagemWhatsAppLink caso o arquivo seja uma imagem a mesma já é carregada, se for um vídeo o mesmo já fica com opção de player e etc...

- Informação importante:

  - Para enviar imagens, a mesma tem de ser no formato jpg ou png. 

Exemplo: https://mobimg.b-cdn.net/pic/v2/gallery/preview/gory-pejzazh-priroda-46792.jpg

   - Para enviar vídeos, o mesmo tem de ser no formato mp4 ou 3gp. Link do youtube por exemplo não são enviados usando a opção EnviarMensagemWhatsAppLink , somente a opção de EnviarMensagemWhatsApp.

- Nessa opção, além do link do arquivo enviado pode também enviar as mesmas informações da opção de EnviarMensagemWhatsApp, que são mensagens fixas e mensagens com parâmetros.

 -procedure EnviarMensagemWhatsAppLink(IDRemetente, Token, Telefone, Template, Linguagem, Link, TipoArquivo: String; Dados: OleVariant);
   - IDRemente: Ao cadastrar o telefone da empresa é gerado uma ID essa ID que será usada para identificar quem é a empresa que esta enviado a mensagem.
   - Token: Aconselhado usar o token que foi gerado através da função BuscarToken e não o token permanente.
   - Telefone: Telefone para qual pretende enviar a mensagem 55 + DDD + Numero de Telefone.
   - Template: Nome do template cadastrado na meta que será usado para a mensagem que deseja enviar.
   - Linguagem: Linguagem na qual o template foi gerado. Ao cadastrar um template deve informar a linguagem do mesmo.
   - Link: Link do arquivo. Deve ser respeitado o tópico de  Informação importante.
   - TipoArquivo: Se o arquivo enviado no link é do tipo “Image”, “vídeo”, “document”
   - Dados: É um vetor de parâmetros. Caso não possuir parâmetros enviar  ‘ ‘.

UploadArquivoWhatsApp

- Para conseguir enviar um arquivo de mídia do tipo, imagem, vídeo, documento, áudio entre outros que esteja por exemplo saldo seu HD, Pen drive entre outros é necessário realizar o upload do arquivo para a Meta e com um código de ID retornado realizar o envio da mídia para os destinatários.

  - function UploadArquivoWhatsApp(IDRemetente, Token, FileName, TipoArquivo: String;): String;
    - IDRemente: Ao cadastrar o telefone da empresa é gerado uma ID essa ID que será usada para identificar quem é a empresa que esta enviado a mensagem.
    - Token: Aconselhado usar o token que foi gerado através da função BuscarToken e não o token permanente.
    - FileName: Caminho e nome do arquivo que deseja realizar  o upload. 
      - Exemplo : C:\tek-System\temp\imagem.jpg.
    - TipoArquivo: Se o arquivo enviado no FileName é do tipo “Image” (image/jpeg), “vídeo”(video/mp4), “document”(application/pdf)

- Ao executar essa opção será retornado uma ID. Essa ID será usada para enviar o arquivo para os destinatários através da funcionalidade EnviarMensagemWhatsAppAnexo.


DeletarArquivoWhatsApp

- Quando realiza um Upload de um arquivo o mesmo fica disponível por 30 dias na Meta. Após esses 30 dias o mesmo e deletado de forma automática.

- Quanto mais arquivos forem realizados Upload e mantido na Meta, atingindo o limite máximo, vai ficando lento o processo e enviar novos arquivos (Não foi especificado qual o limite máximo), para evitar esse problema, foi liberado opção de deletar o arquivo enviado.

- Deletando os arquivos a empresa consegue gerenciar o processo.

 - procedure DeletarArquivoWhatsApp(ID, Token: String);
   - ID: Id gerada na função UploadArquivoWhatsApp
   - Token: Aconselhado usar o token que foi gerado através da função BuscarToken e não o token permanente.

EnviarMensagemWhatsAppAnexo

-Opção criada para enviar arquivos na qual foi realizado UploadArquivoWhatsApp.

-Nessa opção, além do arquivo de Mídia enviado pode também enviar as mesmas informações da opção de EnviarMensagemWhatsApp, que são mensagens fixas e mensagens com parâmetros

-Informação importante:

  - O tamanho máximo de arquivo de mídia é de 100MB, Sendo:
     - Audio : 16MB
     - Document : 100MB
     - Image : 5MB
     - Video: 16MB  
  - Formatos aceitos para Imagem Imagem: image/jpeg e image/png. 
  - Formatos aceitos para Videos:  video/mp4 e video/3gp
  - Formatos aceitos para Documentos: text/plain, application/pdf, application/vnd.ms-powerpoint, application/msword, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  - Formatos aceitos para Audio: audio/aac, audio/mp4, audio/mpeg, audio/amr
  - procedure EnviarMensagemWhatsAppAnexo(IDRemetente, Token, Telefone, Template, Linguagem, ID, TipoArquivo: String; Dados: OleVariant );
   - IDRemente:Ao cadastrar o telefone da empresa é gerado uma ID essa ID que será usada para identificar quem é a empresa que esta enviado a mensagem.
   - Token: Aconselhado usar o token que foi gerado através da função BuscarToken e não o token permanente.
   - Telefone: Telefone para qual pretende enviar a mensagem 55 + DDD + Numero de Telefone.
   - Template: Nome do template cadastrado na meta que será usado para a mensagem que deseja enviar.
   - Linguagem: Linguagem na qual o template foi gerado. Ao cadastrar um template deve informar a linguagem do mesmo.
   - ID: Id gerada na função UploadArquivoWhatsApp
   - TipoArquivo: Se o arquivo enviado é do tipo “Image”, “video”, “document”
   - Dados: É um vetor de parâmetros. Caso não possuir parâmetros enviar  ‘ ‘.


Exemplo prático do uso em um Gatilho

unit uDocumento_Fatura_AfterUpdServer;
uses TEK_INTEGRACAO_WHATSAPP;
Const
 Client_ID = 'ID do App';
 Client_Secret = 'Cliente Secreto do APP';
 IDRemetente = 'Informar ID do Remetente correspondente ao Telefone cadastrado no App';
 Token_Permanente = 'Infomar Token Permanente';
 Template = 'Nome do Template cadastrado na Meta';
 Linguagem = 'Liguagem do Template. Exemplo: pt_br';
 Link = 'Link de uma imagem da internet'; 
 
procedure Main;
var 
  Telefone, NumeroTelefone, Token, ID, Documento, Valor: String;
begin           
 if (UpdateKind = ukInsert) and (ClassOwner = 'TSMCadPedidoVenda') then
 begin
   Documento := IntToStr(Value('CODIGO_DOCFAT'));
   Valor := FormatFloat(',0.00',Value('VLRLIQUIDO_DOCFAT'));
   
   if Value('VLRLIQUIDO_DOCFAT') < 10000 then
     Exit;
   
   NumeroTelefone := ExecuteScalar(
     'select first 1 PESSOA_TELEFONE.TELEFONE_PESSOA_TEL TELEFONE '+#13+
     'from PESSOA_TELEFONE  '+#13+
     'where PESSOA_TELEFONE.PESSOA_PESSOA_TEL = '+ IntToStr(Value('CLIENTE_DOCFAT'))+' and '+#13+
     '  PESSOA_TELEFONE.TIPOTELEFONE_PESSOA_TEL = ‘C‘  '+#13+
     'order by PESSOA_TELEFONE.TELEFONEPADRAO_PESSOA_TEL desc'); 
   
   Telefone := '55'+ SoNumero(NumeroTelefone);
   if Length(Telefone) < 12 then
     Exit; 
     
   try 
     Token := BuscarToken(Client_ID, Client_Secret, Token_Permanente);                       
   
     {Opção 1: Template sem paramentros}
     // EnviarMensagemWhatsApp(IDRemetente, Token, Telefone, Template, Linguagem, VarArrayOf([‘ ‘])); 
     
     {Opção 2: Template com um paramentro}
     // EnviarMensagemWhatsApp(IDRemetente, Token, Telefone, Template, Linguagem, VarArrayOf([Documento])); 
   
     {Opção 3: Template com um ou mais paramentros }
     // EnviarMensagemWhatsApp(IDRemetente, Token, Telefone, Template, Linguagem, VarArrayOf([Documento, Valor])); 
   
     {Opção 4: Enviando link com templates sem paramentros }
     // EnviarMensagemWhatsAppLink(IDRemetente, Token, Telefone, Template, Linguagem, Link, 'image', VarArrayOf([‘ ‘])); 
   
     {Opção 5: Enviando link com templates com um ou mais paramentros }
     // EnviarMensagemWhatsAppLink(IDRemetente, Token, Telefone, Template, Linguagem, Link, 'image', VarArrayOf([Documento, Valor]));  
     
     {Opção 6: Realizando o Upload de um arquivo,  Enviando o arquivo com templates sem paramentros e  Deletando arquivo enviado }
     // ID := UploadArquivoWhatsApp(IDRemetente, Token, 'C:\Tek-System\Temp\nome do arquio.jpg', 'image/jpeg'); 
     // EnviarMensagemWhatsAppAnexo(IDRemetente, Token, Telefone, Template, Linguagem, ID, 'image', VarArrayOf([‘ ‘]));  
     // DeletarArquivoWhatsApp(ID, Token);
       
     {Opção 7: Realizando o Upload de um arquivo, Enviando o arquivo com templates com um ou mais paramentros e Deletando arquivo enviado }
     // ID := UploadArquivoWhatsApp(IDRemetente, Token, 'C:\Tek-System\Temp\nome do arquio.jpg', 'image/jpeg'); 
     // EnviarMensagemWhatsAppAnexo(IDRemetente, Token, Telefone, Template, Linguagem, ID, 'image', VarArrayOf([Documento, Valor]));  
     // DeletarArquivoWhatsApp(ID, Token);
   
   except
   on E: Exception do
     EnviarMensagemInterna('Nome do Usuario', 'Erro ao enviar Mensagem via WhatsApp', 'O erro ocorreu ao enviar o Pedido: '+ Documento + #13+ E.Message);
                           
    // EnviarEMail('email do usuario','Erro ao enviar Mensagem via WhatsApp',  'O erro ocorreu ao enviar o Pedido: '+ Documento + #13+ E.Message);             
   end;
   
 end;
end; 
                                 
end.