Busca K
Appearance
Essa integração permite que você utilize o Webphone da Api4Com para fazer chamadas telefônicas diretamente do seu CRM. Com essa integração, você pode fazer chamadas telefônicas, registrar chamadas, enviar mensagens de voz e muito mais.
Para começar a utilizar o Webphone da Api4Com, você precisa criar uma nova conta. Para isso, acesse o Portal da Api4Com, preencha o formulário de cadastro e clique em "Criar conta".
Você também poder criar uma nova conta através da API. Para isso, utilize o seguinte código:
Os campos obrigatórios são:
organization_name
: Nome da empresadomain
: Domínio da empresa na Api4Com, deve ser único e terminar com .api4com.com
email
: E-mail do usuário, deve ser únicopassword
: Senha do usuáriophone
: Número de telefone da empresacrm
: CRM utilizado pela empresa user_quantity
: Quantidade de usuários const axios = require('axios');
const url = 'https://api.api4com.com/api/v1/accounts/signup';
const payload = {
organization_name: 'Nome da Empresa',
domain: 'seudominio.api4com.com',
email: 'email@usuario.com',
password: 'senha123',
phone: '+554833328530',
crm: 'Outros',
user_quantity: '1-5'
};
axios.post(url, payload).then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});
Resposta de sucesso:
{
"status": 201,
"message": "Cadastro realizado com sucesso!"
}
Importante:
Para criar um Token de Acesso que nunca expira, utilize o seguinte código:
const axios = require('axios');
const url = 'https://api.api4com.com/api/v1/users/accessTokens';
const config = {
headers: {
'Authorization': '<token>'
}
};
const payload = {
ttl: -1
};
axios.post(url, payload, config).then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});
Resposta de sucesso:
{
"id": "YggyHfrLEHAWmKiUFbXsT93Tkw2xjwHUbwJ6mgw4Vz5YGubReFGw34HmhrhZDUBM",
"ttl": -1,
"created": "2025-01-01T00:00:00.000
}
Importante:
Authorization
.Para instalar o Webphone da Api4Com, acesse o Portal da Api4Com, faça login com sua conta e clique no menu "1 - Webphone" e em seguida clique no link para instalar o Webphone.
Caso você não encontre o link para instalar o Webphone, click aqui para instalar a extensão do Webphone diretamente na Chrome Web Store.
Após instalar a extensão, clique no ícone do Webphone na barra de ferramentas do Chrome e faça login com sua conta da Api4Com.
Para validar a instalação, verifique na parte centro superior do Webphone se o status está como "Você está online", passando o mouse sobre um icone circular verde. Caso tenha algum problema, esse icone ficará laranja ou vermelho. Nesse mesmo local, você pode verificar qual o seu Ramal, guarde esse número, pois ele será necessário para configurar a integração.
Para configurar o Webhook é necessário criar uma Integração de Usuário via API.
Segue um exemplo de como criar uma Integração de Usuário:
const axios = require('axios');
const url = 'https://api.api4com.com/api/v1/integrations';
const config = {
headers: {
'Authorization': '<token>'
}
};
const payload = {
gateway: 'integration-test',
webhook: true,
webhookConstraint: {
metadata: {
gateway: 'integration-test'
}
},
metadata: {
webhookUrl: 'https://seu-webhook.com/callback',
webhookVersion: 'v1.4',
webhookTypes: ['channel-hangup']
}
};
axios.patch(url, payload, config).then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});
Resposta de sucesso:
{
"id": 123,
"gateway": "integration-test",
"webhook": true,
"webhookConstraint": {
"metadata": {
"gateway": "integration-test"
}
},
"metadata": {
"webhookUrl": "https://seu-webhook.com/callback",
"webhookVersion": "v1.4",
"webhookTypes": ["channel-hangup"]
}
}
Importante:
gateway
deve ser preenchido com o nome do seu gateway.webhookUrl
deve ser preenchido com a URL do seu webhook.metadata
.Para realizar uma chamada, utilize o seguinte código:
const axios = require('axios');
const url = 'https://api.api4com.com/api/v1/dialer';
const config = {
headers: {
'Authorization': '<token>'
}
};
const payload = {
extension: '1000',
phone: '+554833328530',
metadata: {
gateway: 'integration-test',
userId: 123,
entityId: 456
}
};
axios.post(url, payload, config).then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});
Resposta de sucesso:
{
"id": "bdf199fa-f85b-4378-80cd-0ac28c1355e9",
"message": "successfull"
}
Importante:
Authorization
deve ser preenchido com o token de acesso gerado.extension
deve ser preenchido com o número do ramal do usuário que irá realizar a chamada, neste caso, o número do seu ramal, que você guardou ao instalar o Webphone.phone
deve ser preenchido com o número de telefone que você deseja ligar.metadata
deve ser preenchido com os dados que você deseja enviar para o webhook.Quando uma chamada é finalizada, o webhook é acionado e envia uma requisição POST para a URL configurada. O corpo da requisição é um JSON com as informações da chamada.
Segue um exemplo de webhook:
{
"version": "v1.4",
"eventType": "channel-hangup",
"id": "2ee13fa4-975c-499d-bbb8-5177ff418316",
"domain": "seudominio.api4com.com",
"direction": "outbound",
"caller": "1000",
"called": "04833328530",
"startedAt": "2025-01-01 00:00:00",
"answeredAt": "2025-01-01 00:00:05",
"endedAt": "2025-01-01 00:00:10",
"duration": 5,
"hangupCause": "NORMAL_CLEARING",
"hangupCauseCode": "16",
"recordUrl": "https://listener.api4com.com/files/listen/2ee13fa4-975c-499d-bbb8-5177ff418316.mp3",
"metadata": {
"gateway": "integration-test",
"userId": 123,
"entityId": 456
}
}
Os campos retornados são:
version
indica a versão do webhook.eventType
indica o tipo de evento.id
é o identificador da chamada.domain
é o domínio da empresa.direction
indica se a chamada é de entrada ou saída.caller
é o número do ramal que realizou a chamada.called
é o número de telefone que recebeu a chamada.startedAt
é a data e hora de início da chamada.answeredAt
é a data e hora que a chamada foi atendida.endedAt
é a data e hora que a chamada foi finalizada.duration
é a duração da chamada em segundos.hangupCause
é o motivo do desligamento da chamada.hangupCauseCode
é o código do motivo do desligamento da chamada.recordUrl
é a URL do arquivo de áudio da chamada.metadata
é um objeto com os dados enviados na requisição de chamada.Agora para continuar a integração, você pode:
Neste guia, você aprendeu como integrar o Webphone da Api4Com com o seu CRM. Com essa integração, você pode fazer chamadas telefônicas diretamente do seu CRM, registrar chamadas, enviar mensagens de voz e muito mais.
A documentação completa da Api4Com está disponível em https://docs.api4com.com.
Se você tiver alguma dúvida ou precisar de ajuda, entre em contato com o suporte da Api4Com.