No campo de áudio atualmente, ao consumir o endpoint callHistory, o campo retorna diretamente o link da gravação da chamada.
O que muda com a atualização?
O campo áudio passará a conter um novo endpoint que deve ser consumido para obter o link da gravação da chamada.
Motivo da mudança
Segurança: Em ambientes onde o bucket é privado, o acesso à gravação será protegido, e o link retornado será temporário.
Controle de acesso: Essa abordagem garante que os links sejam gerados sob demanda, reduzindo o risco de acessos indevidos.
Como adaptar o consumo da API
Requisição ao callHistory: Continue consumindo o endpoint normalmente.
Novo endpoint para obter o link do áudio: O campo audio agora retorna um endpoint que deve ser chamado para obter o link real da gravação.
Gerenciamento de links temporários:
Se o bucket for privado, o link obtido terá validade limitada.
Caso o link expire, a requisição retornará um erro de acesso negado.
Obrigatoriedade do novo fluxo: Mesmo que o bucket não esteja privado, o novo endpoint deve ser consumido para acessar o áudio.
Exemplo de resposta do endpoint callHistory (novo formato):
{
"@odata.context": "https://api.exactspotter.com/v3/$metadata#CallsHistory",
"value": [
{
"leadId": 5062381,
"leadName": "TESTE",
"stage": "Entrada",
"caller": null,
"called": "4830257750",
"startDate": "2022-03-10T13:27:35.849827Z",
"endDate": "2022-03-10T13:27:28Z",
"price": 0.000000,
"talkingDurationSeconds": 0,
"result": null,
"description": null,
"manualSet": false,
"callAnswered": false,
"audio": "https://api.exactspotter.com/v3/CallRecording?ligacaoId=128579",
"userId": 179313,
"userEmail": "gerente@exactsales.com.br",
"userName": "Gerente",
"userLastName": "Teste",
"funnelId": 3119,
"id": 271479
}
]
Exemplo de requisição para obter o link da gravação:
GET https://api.exactspotter.com/v3/CallRecording?ligacaoId=128579
Exemplo de resposta do novo endpoint:
{
"@odata.context": "https://api.exactspotter.com/v3/$metadata#CallRecording",
"value": [
{
"id": 27147,
}
],
"@odata.nextLink": "https://api.exactspotter.com/v3/CallRecording?ligacaoid=27147&$skip=500"
}
Ações necessárias:
Atualizar o fluxo de consumo do áudio para realizar uma segunda requisição ao novo endpoint antes de acessar a gravação.
Considerar que, em buckets privados, os links serão temporários e precisarão ser renovados periodicamente.
Incluir o header token_exact na requisição ao novo endpoint para obter o link do áudio.
Tratar erros de acesso negado caso o link tenha expirado, garantindo que um novo link seja gerado quando necessário.
Adaptar o consumo da API para utilizar o novo endpoint, independentemente do status do bucket.
Caso tenha alguma dúvida, entre em contato com a gente pelo suporte@exactsales.com.br.
Até a próxima!
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo