Como Agendar uma Reunião via API

Este artigo explica como utilizar o endpoint público /calendarmeeting da API SprintHub para agendar reuniões automaticamente com base em um calendário criado na plataforma.


✅ Visão Geral

O endpoint /calendarmeeting permite agendar reuniões diretamente em um link de calendário, usando dados de um lead já existente ou criando um novo lead automaticamente com os dados enviados.

📌 Este endpoint é público. Não exige autenticação (apitoken ou Authorization) — mas requer que a chamada seja feita dentro do contexto correto da instância.

POST https://sprinthub-api-master.sprinthub.app/calendarmeeting?i=nome_da_instancia

🔑 Parâmetros obrigatórios

Parâmetro
Tipo
Onde vai
Descrição

i

string

query

Nome da instância (ex: suporte)

keyName

string

body

ID do calendário, obtido na URL pública do link

date

string

body

Data e hora da reunião no formato ISO 8601 (UTC)

🧾 Estrutura do Body

🔹 Opção 1 – Agendar criando um novo lead

{
  "keyName": "TGcbitBqLjqmmp5tRzlX3",
  "leadId": null,
  "opportunityId": null,
  "date": "2025-06-27T15:30:00.000Z",
  "formData": {
    "firstname": "Wanderson Fernandes",
    "email": "[email protected]"
  },
  "properties": {}
}

🔹 Opção 2 – Agendar para um lead já existente

{
  "keyName": "TGcbitBqLjqmmp5tRzlX3",
  "leadId": 2222,
  "opportunityId": null,
  "date": "2025-06-27T15:30:00.000Z",
  "properties": {}
}

❗ Quando leadId for informado, não envie o formData para evitar conflitos.

🧠 Observações importantes

  • leadId deve ser um lead válido da mesma instância.

  • formData é obrigatório somente quando leadId for null (será usado para criar o lead).

  • properties pode permanecer como {}. É utilizado apenas para reagendamentos ou dados adicionais em chamadas mais avançadas.

  • A data e hora devem estar em UTC (ex: 2025-06-27T15:30:00.000Z).

  • O link do calendário precisa estar ativo e com horários disponíveis.

📌 Onde encontrar o keyName

Acesse seu link público de agendamento. Exemplo:

https://instancia.sprinthub.app/calendar/TGcbitBqLjqmmp5tRzlX3

O trecho final da URL é o keyName:

TGcbitBqLjqmmp5tRzlX3

💥 Erros comuns

Código
Significado

CL006

O keyName não pertence à instância informada ou não está ativo.

CL008

O leadId não existe ou não pertence à instância correta.

400

Dados ausentes ou mal formatados (ex: null como string: "null").

exemplo de requisição:

curl -X POST "https://sprinthub-api-master.sprinthub.app/calendarmeeting?i=instancia" \
  -H "Content-Type: application/json" \
  -d '{
    "keyName": "TGcbitBqLjqmmp5tRzlX3",
    "leadId": null,
    "opportunityId": null,
    "date": "2025-06-27T15:30:00.000Z",
    "formData": {
      "firstname": "Wanderson Fernandes",
      "email": "[email protected]"
    },
    "properties": {}
  }'

Atualizado

Isto foi útil?