Pular para conteúdo

Criar Link de Chamada

O endpoint /api/calls permite criar links de chamada utilizando seu Token de API.

Requisição

Cria um novo registro de chamada para um projeto.

Cabeçalhos:

{
  "Authorization": "Bearer {API_TOKEN}"
}

Parâmetros do Corpo

  • title: (string) Título da reunião. Exemplo: "Reunião de Equipe".
  • expiresAt: (string, ISO 8601) Data e hora de expiração do link. Deve ser posterior à data atual.
  • recording: (boolean, opcional) Controla a gravação da chamada:
  • true: Grava a chamada independentemente da configuração do projeto
  • false: Não grava a chamada independentemente da configuração do projeto
  • null ou não informado: Usa a configuração padrão do projeto (project.enableRecording)

Exemplos de Implementação

curl -X POST https://api.videochamada.com.br/api/calls \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{}'
import requests

url = "https://api.videochamada.com.br/api/calls"
headers = {
    "Authorization": "Bearer {API_TOKEN}",
    "Content-Type": "application/json"
}
data = {}

response = requests.post(url, headers=headers, json=data)
print(response.json())
const axios = require('axios');

const url = 'https://api.videochamada.com.br/api/calls';
const headers = {
  Authorization: 'Bearer {API_TOKEN}',
  'Content-Type': 'application/json'
};
const data = {};

axios.post(url, data, { headers })
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Authorization", "Bearer {API_TOKEN}");

        var url = "https://api.videochamada.com.br/api/calls";
        var data = new {};

        var content = new StringContent(
            Newtonsoft.Json.JsonConvert.SerializeObject(data),
            Encoding.UTF8,
            "application/json"
        );

        var response = await client.PostAsync(url, content);
        var responseString = await response.Content.ReadAsStringAsync();

        Console.WriteLine(responseString);
    }
}

Resposta

Exemplo de Resposta:

{
    created = Wed Jan 29 2025 11:26:01 GMT-0300 (Horário Padrão de Brasília)
    deleted = null
    ended = null
    id = '12345'
    started = null
    status = 'created'
    totalBillableMinutes ='0.00'
    updated = Wed Jan 29 2025 11:26:01 GMT-0300 (Horário Padrão de Brasília)
    url = 'https://api.videochamada.com.br/calls/12345'
}

Limite de gastos foi atingido

{
  "message": "Maximum spending limit reached for this month",
  "error": "Forbidden"
}

Organização não encontrada

{
  "message": "Organization not found",
  "error": "Not Found"
}

Assinatura não encontrada

{
  "message": "Subscription not found",
  "error": "Not Found"
}

Explicação dos Campos:

  • created: Data de criação da chamada.
  • deleted: A data de exclusão (se aplicável).
  • ended: Data e hora do fim da chamada.
  • id: ID único da chamada.
  • started: Data e hora de início da chamada.
  • status: Status atual da chamada.
  • totalBillableMinutes: Total de minutos cobrados.
  • updated: Data e hora da última atualização da chamada.
  • url: URL única para acessar a chamada diretamente no sistema.

Boas Práticas

  • Validação de Expiração: Sempre defina uma data de expiração para garantir que os links não fiquem disponíveis indefinidamente.
  • Controle de Acessos: Compartilhe os links apenas com os participantes necessários.