Para que é necessária a integração do teu próprio CRM/ERP/Desk com a central telefónica virtual
Na maioria dos sistemas de automação empresarial (CRM/ERP/Desk, etc.) a comunicação com clientes e/ou parceiros é automatizada. Como uma parte significativa da comunicação ocorre através do telefone, é estritamente necessário integrar o sistema com a telefonia IP.
Especialmente para os desenvolvedores de CRM/Desk e outros sistemas de automação, oferecemos instruções de integração do teu sistema com a telefonia IP da Zadarma.
Vantagens da integração com Zadarma:
- grande base de clientes da Zadarma (mais de 1,6 milhões) terão acesso aos teus serviços;
- os teus clientes poderão integrar a telefonia sem custos adicionais (central telefónica virtual, API, integrações - são serviços gratuitos);
- cobertura mundial de serviços, os teus clientes podem estar em qualquer parte do mundo (suporte em 5 idiomas, centros de dados em três continentes, números virtuais em 100 países do mundo).
Além disso, após a integração, se as visitas do teu site superarem os 30 mil utilizadores por mês, estaremos encantados em testar a tua integração e publicar as instruções no nosso site (o que te dará tráfego gratuito de um dos operadores VoIP mais populares na Europa e países CEI).
Na área pessoal, seguindo o link, estão disponíveis integrações diretas (desenvolvidas por nós) com diversos sistemas. Além disso, na seção Ajuda-Instruções de configuração, encontrarás exemplos de integração com sistemas de terceiros, desenvolvidas sem a nossa participação. A interface aberta da API permite implementar de forma independente a integração completa com a central telefónica virtual da Zadarma. Esta tarefa é acessível para qualquer desenvolvedor devido à sua baixa complexidade. Para tua conveniência, nesta seção veremos a integração da central telefónica virtual da Zadarma com um sistema CRM externo.
Funções básicas:
- Chamadas através de um clique a partir do CRM.
- Janela pop-up com a notificação da chamada recebida/efetuada com a informação do cliente, link para a ficha do cliente.
- Estatísticas de chamadas, gravação de chamadas na ficha do cliente.
- Criação automática de contactos/leads/acordos para chamadas de um novo cliente.
- Envio automático da chamada recebida de um cliente existente para o seu operador responsável.
- Visualização do nome do cliente no telefone IP para chamadas recebidas.
- Lembrete sobre as chamadas perdidas.
- Uso da lista negra própria para chamadas recebidas.
A interação com API pode ser dividida em duas partes:
1. Pedidos (POST, GET) por parte do CRM para a API da Zadarma
2. Sistema de notificações sobre chamadas (webhook), pedidos POST com a informação sobre as chamadas enviadas pela API para o sistema CRM
A documentação completa sobre a API encontra-se neste link
Para que é necessária a integração do teu próprio CRM/ERP/Desk com a central telefónica virtual
Na maioria dos sistemas de automação empresarial (CRM/ERP/Desk, etc.) a comunicação com clientes e/ou parceiros é automatizada. Como uma parte significativa da comunicação ocorre através do telefone, é estritamente necessário integrar o sistema com a telefonia IP.
Especialmente para os desenvolvedores de CRM/Desk e outros sistemas de automação, oferecemos instruções de integração do teu sistema com a telefonia IP da Zadarma.
Vantagens da integração com Zadarma:
- grande base de clientes da Zadarma (mais de 1,6 milhões) terão acesso aos teus serviços;
- os teus clientes poderão integrar a telefonia sem custos adicionais (central telefónica virtual, API, integrações - são serviços gratuitos);
- cobertura mundial de serviços, os teus clientes podem estar em qualquer parte do mundo (suporte em 5 idiomas, centros de dados em três continentes, números virtuais em 100 países do mundo).
Além disso, após a integração, se as visitas do teu site superarem os 30 mil utilizadores por mês, estaremos encantados em testar a tua integração e publicar as instruções no nosso site (o que te dará tráfego gratuito de um dos operadores VoIP mais populares na Europa e países CEI).
Na área pessoal, seguindo o link, estão disponíveis integrações diretas (desenvolvidas por nós) com diversos sistemas. Além disso, na seção Ajuda-Instruções de configuração, encontrarás exemplos de integração com sistemas de terceiros, desenvolvidas sem a nossa participação. A interface aberta da API permite implementar de forma independente a integração completa com a central telefónica virtual da Zadarma. Esta tarefa é acessível para qualquer desenvolvedor devido à sua baixa complexidade. Para tua conveniência, nesta seção veremos a integração da central telefónica virtual da Zadarma com um sistema CRM externo.
Funções básicas:
- Chamadas através de um clique a partir do CRM.
- Janela pop-up com a notificação da chamada recebida/efetuada com a informação do cliente, link para a ficha do cliente.
- Estatísticas de chamadas, gravação de chamadas na ficha do cliente.
- Criação automática de contactos/leads/acordos para chamadas de um novo cliente.
- Envio automático da chamada recebida de um cliente existente para o seu operador responsável.
- Visualização do nome do cliente no telefone IP para chamadas recebidas.
- Lembrete sobre as chamadas perdidas.
- Uso da lista negra própria para chamadas recebidas.
A interação com API pode ser dividida em duas partes:
1. Pedidos (POST, GET) por parte do CRM para a API da Zadarma
2. Sistema de notificações sobre chamadas (webhook), pedidos POST com a informação sobre as chamadas enviadas pela API para o sistema CRM
A documentação completa sobre a API encontra-se neste link
Recomendamos que um dos utilizadores seja designado como responsável por defeito através da criação da caixa de verificação correspondente na página de configuração de telefonia. O responsável por defeito será o operário responsável por eventos que não têm um responsável atribuído. Por exemplo, uma chamada recebida de um novo cliente é enviada simultaneamente para 5 extensões (5 utilizadores do CRM) e nenhum deles respondeu à chamada. Como não queremos perder um cliente potencial, podemos criar um evento, tarefa ou lead "Chamada perdida desde o número", mas, quem será o responsável? Poderíamos atribuí-lo aos 5 utilizadores ao mesmo tempo, mas, nesse caso, o cliente potencial poderia receber 5 chamadas dos 5 utilizadores. Nesse caso, podemos atribuir o evento ao responsável por defeito (por exemplo, o responsável do departamento de vendas). Se no teu CRM tens uma lista de leads não trabalhados e são os utilizadores que os atribuem ou são atribuídos automaticamente de acordo com algum algoritmo interno, podes não utilizar a opção de responsável por defeito.
As configurações de telefonia no CRM normalmente estão disponíveis apenas para utilizadores com direitos de administrador/gerente. Para os callcenters pode ser útil a visualização do saldo da área pessoal da Zadarma na página de telefonia no CRM. Podes obter o saldo com a ajuda do método GET /v1/info/balance/
3. Chamadas efetuadas a partir da interface do CRM ▾
3.1 Widget em WebRTC para chamadas a partir do navegador.
Se o sistema CRM usa https podes inserir o nosso widget. Atenção! Não coloques o widget no domínio público, pois, nesse caso, qualquer pessoa poderá efetuar chamadas a partir da tua conta. Em cada carregamento de página por parte do código do servidor precisas gerar uma chave para webrtc obtida com a ajuda do método GET /v1/webrtc/get_key da nossa API (Período de validade da chave - 72 horas).
Na área pessoal na secção Configuração - Integrações e API na secção "Integração do widget WebRTC" é necessário inserir o domínio do teu sistema CRM e selecionar as configurações da localização e o design do widget. Depois usa a chave obtida para a integração no teu sistema CRM. Em vez de YOUR_KEY insere a chave gerada através da API; YOUR_SIP insere o número SIP ou número completo de extensão da central telefónica a partir da qual serão efetuadas as chamadas.
Exemplo do código:
<script src="https://my.zadarma.com/webphoneWebRTCWidget/v8/js/loader-phone-lib.js?v=17"></script>
<script src="https://my.zadarma.com/webphoneWebRTCWidget/v8/js/loader-phone-fn.js?v=17"></script>
<script>
if (window.addEventListener) {
window.addEventListener('load', function() {
zadarmaWidgetFn('YOUR_KEY', 'YOUR_SIP', 'square' /*square|rounded*/, 'en' /*ru, en, es, fr, de, pl, ua*/, true, "{right:'10px',bottom:'5px'}");
}, false);
} else if (window.attachEvent) {
window.attachEvent('onload', function(){
zadarmaWidgetFn('YOUR_KEY', 'YOUR_SIP', 'square' /*square|rounded*/, 'en' /*ru, en, es, fr, de, pl, ua*/, true, "{right:'10px',bottom:'5px'}");
});
}
</script>
Widget em estado oculto:

Widget em estado expandido:

3.2 Chamadas com a ajuda de retorno de chamada (Callback)
Na interface CRM ao lado de cada número inserimos o ícone/botão para o início de chamada para o número de telefone. Assim, recomendamos realizar o telefone web com o teclado de marcação para a chamada a um novo número, não guardado no CRM. As chamadas efetuadas são realizadas sob o princípio de Callback. Na extensão da central telefónica deve haver configurado um telefone IP ou softphone para realizar e receber chamadas. O utilizador no CRM clica no ícone ao lado de cada número ou no botão de chamada no telefone web, na parte de CRM é enviado o Callback.
MétodoGET /v1/request/callback/
Parâmetros:
- from – número de 3 dígitos da extensão atribuída ao utilizador.
- to – número de telefone para o qual o utilizador deseja ligar.
O utilizador recebe a chamada recebida no seu softphone, atende e espera ser comunicado com o número para o qual quer ligar.
Exemplo de realização:

4. Notificações de chamadas emergentes na interface CRM ▾
Quando a extensão da central telefónica recebe e realiza chamadas, é necessário que no sistema do CRM se visualize a notificação correspondente. A notificação deve ser visível apenas para aquele utilizador que participa na chamada. Na notificação da chamada pode-se visualizar a seguinte informação:
- Número de telefone
- Nome do contacto/empresa/lead se o número tiver sido previamente guardado no CRM, o nome será o link para ir diretamente à entidade (contacto/empresa/lead)
- Se a chamada for de um novo cliente - botão para a criação de contacto/empresa/lead
- Nome do operário responsável se a chamada for de um cliente já existente
- Número virtual para o qual entrou a chamada (número conectado na Zadarma)
O desencadeador da aparição da notificação emergente é o evento NOTIFY_INTERNAL (início da chamada recebida na extensão da central telefónica) ou evento NOTIFY_OUT_START (início da chamada efetuada a partir da central telefónica).
Quando a chamada for atendida e começar a conversa, será enviada ao CRM a notificação NOTIFY_ANSWER (resposta à chamada na extensão ou número externo) que, por sua vez, será o desencadeador para a notificação emergente. Ao receber NOTIFY_ANSWER na notificação, pode-se iniciar um contador que mostre a duração da chamada em tempo real ou também o cabeçalho da notificação “Chamada de 442037691880” que pode ser substituído por “Conversação com 442037691880”.
Após a finalização da chamada, será enviada a notificação NOTIFY_END (fim da chamada recebida na extensão da central telefónica) ou NOTIFY_OUT_END (fim da chamada efetuada a partir da central telefónica).
Depois de receber NOTIFY_END ou NOTIFY_OUT_END, a janela pop-up deve fechar-se.
Exemplo de realização:

5. Gravação e estatísticas de chamadas ▾
Para carregar as gravações desde Zadarma para o CRM, é necessário que nas configurações da central telefónica esteja ativada a gravação de chamadas na nuvem. Após finalizar a chamada, quando a gravação de chamada estiver pronta para ser descarregada, será enviada ao CRM a notificação NOTIFY_RECORD (gravação de chamada pronta para ser descarregada).
O parâmetro call_id_with_rec contém o identificador que, ao ser utilizado, permite receber a gravação de chamadas. Para isso, implementa-se o método GET /v1/pbx/record/request/. A resposta conterá um link para o arquivo com a gravação da chamada; se o teu sistema CRM tiver a sua própria nuvem para guardar os arquivos, a gravação pode ser carregada automaticamente para a nuvem do CRM. Se não tiveres a tua própria nuvem, podes usar o botão play para reproduzir a gravação através do link recebido. Podes distribuir o botão para a reprodução da gravação ao lado da informação sobre a chamada, por exemplo, no painel de lead/contacto/acordo e na estatística geral de chamadas.
Para a formulação de estatísticas de chamadas conjuntas no CRM, é necessário utilizar a informação sobre chamadas recebidas através das notificações NOTIFY_END e NOTIFY_OUT_END.
6. Criação automática de contactos/leads/acordos em chamadas de novos clientes ▾
Criação automática de eventos no CRM em chamadas recebidas de números desconhecidos ou chamadas efetuadas para números desconhecidos. Quando se recebe uma chamada ou se inicia uma chamada, o número de telefone é consultado na base de dados do CRM e, se não for encontrado, pode-se criar um novo contacto/lead/acordo/solicitação e atribuir essa tarefa ao utilizador que fez a chamada. Recomendamos criar opções separadas da função de autocrição para chamadas recebidas e efetuadas. Para a chamada efetuada, pode-se criar a tarefa quando: a chamada foi iniciada (notificação NOTIFY_OUT_START), a chamada foi atendida (notificação NOTIFY_ANSWER), por chamada finalizada (notificação NOTIFY_OUT_END). O número de telefone para o qual se realiza a chamada é transmitido no parâmetro destination.
Para a chamada recebida, pode-se criar a tarefa quando a chamada entra na extensão do utilizador do CRM (notificação NOTIFY_INTERNAL, o número do chamador é transferido no parâmetro caller_id) para que durante a chamada o utilizador já possa abrir a recém-criada ficha do cliente que chama, editá-la, anotar comentários, etc. Ao terminar a chamada, será enviada a notificação NOTIFY_END, na qual, no parâmetro internal, será transmitida a extensão da central telefónica que recebeu a chamada; verificando a extensão na lista dos utilizadores, o sistema CRM entenderá a que utilizador atribuir como responsável. Também se pode criar a tarefa ao terminar a chamada recebida depois de receber NOTIFY_END. Alguns sistemas de CRM nem sequer utilizam a criação automática de tarefas, atribuindo esta tarefa ao operário que recebeu a chamada para que decida se foi ou não uma chamada objetivo e, manualmente, crie o lead/contacto/tarefa.
7. Envio da chamada recebida ao operário responsável▾
Perante a chamada recebida do cliente já existente (cujo número já está guardado no CRM), a chamada será automaticamente enviada ao utilizador responsável por este cliente. Desta forma, o chamador não tem que ouvir a saudação de voz cada vez que liga nem solicitar ser transferido para o comercial que o atendeu há apenas alguns minutos. A sua chamada será automaticamente transferida para a extensão do operário responsável no CRM. Isto é implementado com a ajuda da notificação NOTIFY_START
No parâmetro caller_id é transmitido o número do chamador se este tiver sido previamente guardado no CRM, por exemplo, como um número de contacto de um dos clientes, e se este cliente tiver um operário responsável, a chamada pode ser enviada para a extensão deste. Também se pode indicar a duração da chamada para o operário responsável, por exemplo, 15 segundos. Se o responsável estiver ausente e não puder atender a chamada, passados os 15 segundos a chamada recebida do seu cliente será devolvida ao menu de voz e posteriormente seguirá os cenários da central telefónica. Isto é implementado com a ajuda de resposta ao pedido POST NOTIFY_START
{
"redirect": "101",
"return_timeout": "15"
}
onde,
- redirect - extensão da central telefónica (número de 3 dígitos).
- return_timeout - Valor em segundos >= 3 - duração da chamada na extensão antes de ser devolvida ao menu, valor recomendado 15 ou 20.
8. Visualização do nome do cliente no telefone IP/softphone▾
A opção permite transferir o nome do cliente do sistema CRM para o telefone IP ou softphone no qual a chamada é recebida. Isto é realizado com a ajuda da notificação NOTIFY_START e resposta a esta. Nas notificações no parâmetro caller_id é transmitido o número do chamador se o número já estiver guardado no CRM e atribuído a um cliente/contacto/lead, em resposta a NOTIFY_START pode-se transmitir em letras latinas o nome do cliente:
{
"caller_name": "IBM"
}
onde,
- caller_name - nome do cliente/empresa no CRM.
9. Lembrete sobre chamadas perdidas▾
Perante a chamada recebida do cliente ao receber a notificação NOTIFY_END a partir do parâmetro caller_id, pode-se obter o número do chamador e encontrar o cliente/contacto/lead com este número e o seu operário responsável. Se a chamada não foi atendida, estado da chamada "não atendida" no parâmetro disposition, pode-se criar uma tarefa/lembrete ao operário responsável sobre a chamada perdida do cliente.
10. Lista negra no CRM ▾
Podes criar uma lista de números cujas chamadas serão rejeitadas. Podes adicionar o número à lista na página de configuração de telefonia ou criar para cada utilizador um botão para adicionar números à lista negra. Isto também é implementado com base na notificação NOTIFY_START e resposta a esta. Se o número do chamador no parâmetro caller_id estiver na lista negra do CRM, na resposta a NOTIFY_START transmite-se:
{
"redirect": "blacklist"
}
11. Adicionar a integração na área pessoal da Zadarma ▾
Após completar com sucesso os passos anteriores e os testes a nível de utilizador individual, podes solicitar a adição da integração ao Marketplace da Zadarma (se o tráfego mensal da web do teu sistema ultrapassar os 30.000 utilizadores). Isto permitirá o uso desta integração a qualquer utilizador da Zadarma que tenha uma conta ativa e configurada a central telefónica. Também permitirá ao utilizador final guardar todas as configurações de forma rápida e eficaz. O pedido deve ser enviado por e-mail para integration@zadarma.com com o assunto "Pedido para adicionar a integração com o sistema [nome do teu CRM] ao Marketplace Zadarma". O pedido deve conter os seguintes dados:
Endereço URL do teu CRM para ativar a integração
Para este endereço será enviada a informação sobre o utilizador da Zadarma que tenta realizar a integração da telefonia com o teu sistema CRM. Num formato escolhido para a transmissão de dados (GET, POST) será enviado um identificador único do utilizador em formato md5 hash. Como resposta, deverá enviar umas chaves de autorização geradas que serão vinculadas a esse utilizador. Daqui em diante, perante os pedidos ao teu sistema CRM, o identificador de utilizador e o hash enviado serão utilizados como dados justificantes com o título:
Authorization: Bearer [userId . hash]
Além disso, o identificador do utilizador será transmitido em cada notificação sobre a chamada no campo zdUserId. É necessário apresentar exemplos de possíveis respostas.
Endereço URL do teu sistema CRM para desativar a integração
Para este endereço será enviado o pedido ao tentar desativar o utilizador a integração. Utiliza-se a autorização padrão Bearer.
Endereço URL do teu sistema CRM para obter as notificações sobre as chamadas
As notificações sobre as chamadas são transmitidas a todos os utilizadores integrados. É possível determinar o utilizador utilizando o campo zdUserId. O formato das notificações pode ser obtido na página da descrição da API. Utiliza-se a autorização padrão Bearer.
Endereço URL do teu sistema CRM que permite obter os nomes dos clientes por números de telefone
É necessário para a realização da função "Visualização do nome do cliente no softphone". É necessário um exemplo de pedido e possíveis respostas. Utiliza-se a autorização padrão Bearer.
(Opcional) Endereço URL do teu sistema CRM que permite obter a lista dos operários
É necessário para a realização da função "Atribuição de operários às extensões da central telefónica". Isto permitirá ao utilizador atribuir os operários do sistema CRM com as extensões da central telefónica diretamente desde a área pessoal. Em caso de necessitar da sincronização destes dados com o teu CRM também é necessário indicar o endereço URL para onde enviar estes dados em formato JSON. É necessário um exemplo do pedido e possíveis respostas. Utiliza-se a autorização padrão Bearer.
Visualização do nome do autor da integração (podes enviar o nome da tua empresa e link para a página web principal)
O logo da integração em formato PNG sobre um fundo transparente de tamanho 500 x 150px
A funcionalidade dos pontos 6-10 é opcional para que o utilizador final possa ativar ou desativar as funções que precisa no apartado "Configuração de telefonia" no CRM