instancias
A funcionalidade de instâncias no componente euAtendo é essencial para a gestão de múltiplas empresas simultâneos. Cada instância representa uma conexão ativa com um canal de comunicação (como WhatsApp), permitindo que sua empresa tenha diferentes clientes configurados para diversos setores ou serviços. Nesta seção, vamos aprender como criar, configurar e gerenciar instâncias, garantindo um controle eficiente sobre as operações de atendimento.
Para usar o componente euAtendo, é necessário definir o servidor URL e a GlobalAPI antes de utilizar as funções. Esses valores podem ser fixados no seu código, pois geralmente não mudam.
Caso ainda não possua um servidor privado, você pode testar utilizando o servidor COMUNITÁRIO DISPONÍVEL:
- ApiGlobal: ASD3F21APIDEVS6A5SPAULOJRDEVFA1
- endPoint: https://apiv1demo.apidevs.app
- Manager: https://apiv1demo.apidevs.app/manager
Abaixo segue um exemplo de como configurar esses valores no evento onShow do formulário em Delphi:
procedure TForm1.FormShow(Sender: TObject);
begin
ApiEuAtendo1.VersionAPI := TVersionOption.V1; // Definir a versão da API
ApiEuAtendo1.GlobalAPI := 'ASD3F21APIDEVS6A5SPAULOJRDEVFA1'; // Chave Global API
ApiEuAtendo1.EvolutionApiURL := 'https://apiv1demo.apidevs.app'; // URL do servidor
end;
Cada instância representa um dispositivo conectado (por exemplo, o celular de um cliente). Pode ser utilizado para uma única empresa ou para diferentes empresas.
Sempre que uma instância é criada, é obrigatório salvar o nome e a senha da instância para uso futuro. Dessa forma, sempre que o ERP for inicializado, os valores serão passados ao componente durante a sua inicialização.
Antes de chamar a função CriarInstancia, é necessário passar dois parâmetros ao componente:
ApiEuAtendo1.NomeInstancia := edtNome.Text; // Nome da instância
ApiEuAtendo1.ChaveApi := edtSenha.Text; // Chave API da instância (Opcional)
A criação de uma instância pode ser feita da seguinte forma:
var
ErrorMsg: string;
begin
if not ApiEuAtendo1.CriarInstancia(ErrorMsg) then
begin
ShowMessage('Erro ao criar instância: ' + ErrorMsg);
Exit;
end;
end;
Após chamar a função para criar a instância, é necessário implementar o evento que será disparado com as informações da instância recém-criada:
procedure TForm9.ApiEuAtendo1CriarInstancia(Sender: TObject;
const InstanceResponse: TInstanceResponse);
begin
edtNome.Text := InstanceResponse.InstanceName; // Nome da instância
edtStatus.Text := InstanceResponse.Status; // Status da instância
edtSenha.Text := InstanceResponse.ApiKey; // Chave API da instância
// Configurar o componente com os dados da nova instância
ApiEuAtendo1.ChaveApi := InstanceResponse.ApiKey;
ApiEuAtendo1.NomeInstancia := InstanceResponse.InstanceName;
end;
Assim, após a criação da instância, os dados retornados (nome, status, chave API) são armazenados e usados para futuras conexões.
Uma vez que a instancia é criada, voce deve armazenar os dados dela, e usar esses dados sempre que for necessario.
Passo a Passo para utilizar e alternar instancias
- Recupere o nome e a chave API da instância previamente salvos..
- Passe os valores ao componente.
- Tente conectar à instância utilizando a função StatusInstancia.
Passe os parametros para o componente
procedure TForm9.ConectarInstanciaExistente;
var
ErrorMsg: string;
NomeInstancia: string;
ChaveApi: string;
begin
// Recupera o nome e a chave API da instância previamente armazenados
NomeInstancia := edtNome.Text; // Nome da instância previamente salvo
ChaveApi := edtSenha.Text; // Chave API previamente salva (opcional)
// Passa os valores ao componente
ApiEuAtendo1.NomeInstancia := NomeInstancia;
ApiEuAtendo1.ChaveApi := ChaveApi;
// Tenta conectar à instância
ApiEuAtendo1.StatusInstancia;
end;
Resultado Esperado
Após a execução bem-sucedida dessa função, o componente estará conectado à instância especificada. Caso ocorra algum erro durante a tentativa de conexão, uma mensagem será exibida com detalhes do erro.
Para consultar o status de uma instância já criada, você pode utilizar a função ApiEuAtendo1.StatusInstancia(). Após chamar essa função, o evento OnStatusInstancia será disparado, retornando as informações de status da instância.
Passo a Passo para Consultar o Status
- Chame a função StatusInstancia para consultar o status da instância.
- O evento OnStatusInstancia será disparado com o retorno do status da instância.
- Utilize os valores retornados para atualizar os campos ou interface conforme necessário.
Chame a função
// Chamar a função para consultar o status da instância
ApiEuAtendo1.StatusInstancia;
Retorno no componente
// Evento disparado ao consultar o status
procedure TForm9.ApiEuAtendo1StatusInstancia(Sender: TObject;
const InstanceStatus: TInstanceStatus);
begin
edtNome.Text := InstanceStatus.InstanceName; // Nome da instância
edtStatus.Text := InstanceStatus.State; // Status da instância
end;
Resultado Esperado
Após chamar a função StatusInstancia, o evento OnStatusInstancia será disparado automaticamente, retornando informações como o nome da instância e o estado atual. Essas informações podem ser utilizadas para atualizar a interface ou tomar ações com base no status da instância.
Possíveis Estados de Instância
O valor InstanceStatus.State
retornará o estado atual da instância, que pode ser utilizado para monitorar se a instância está conectada, desconectada, ou em outro estado.
Exemplos de estados:
- Open
- Closed
- Connecting
Tratamento de Erros
Caso haja algum problema na consulta do status, certifique-se de que a instância está corretamente configurada e ativa.
Para listar todas as instâncias conectadas, utilize o método ApiEuAtendo1.ObterInstancias. Quando essa função é chamada, o evento OnObterInstancias será disparado, retornando uma lista de todas as instâncias disponíveis.
Passo a Passo para Listar as Instâncias
- Chame o método ObterInstancias para recuperar a lista de instâncias.
- O evento OnObterInstancias será disparado, retornando as informações de cada instância.
- Utilize essas informações para exibir as instâncias, como nome, chave API e número de telefone, de acordo com a versão do componente.
Chame usando esse metodo
// Chamar a função para obter todas as instâncias
ApiEuAtendo1.ObterInstancias;
implemente o evento do componente OnObterInstancias
// Evento disparado ao listar as instâncias
procedure TForm9.ApiEuAtendo1ObterInstancias(Sender: TObject;
const Instancias: TInstances);
var
i: Integer;
begin
i := 0;
if ApiEuAtendo1.Version = TVersionOption.V1 then
begin
for i := 0 to Length(Instancias) - 1 do
begin
memo1.Lines.Add('Instância: ' + Instancias[i].InstanceName);
memo1.Lines.Add('Chave: ' + Instancias[i].ApiKey);
memo1.Lines.Add('Número: ' + Instancias[i].Owner);
memo1.Lines.Add('----------------------------------------');
end;
end;
if ApiEuAtendo1.Version = TVersionOption.V2 then
begin
for i := 0 to Length(Instancias) - 1 do
begin
memo1.Lines.Add('Instância: ' + Instancias[i].InstanceName);
memo1.Lines.Add('Chave: ' + Instancias[i].ApiKey);
memo1.Lines.Add('Número: ' + Instancias[i].PhoneNumber);
memo1.Lines.Add('----------------------------------------');
end;
end;
end;
Resultado Esperado
Após chamar o método ObterInstancias, o evento OnObterInstancias será disparado, retornando uma lista de instâncias. As informações retornadas variam de acordo com a versão do componente (V1 ou V2), e incluem o nome da instância, a chave API, e o número de telefone associado à instância.
- Para a versão V1, a propriedade
Owner
contém o número de telefone. - Para a versão V2, a propriedade
PhoneNumber
contém o número de telefone.
Tratamento de Versões
A função lida com diferentes versões do componente euAtendo, ajustando o retorno das informações conforme necessário para cada versão.
Was this page helpful?