
Resumo #
A API da plataforma eAgenda permite criar um agendamento de forma programática, configurando detalhes como agenda, serviços, participantes e horários. Este guia prático detalha como enviar uma requisição HTTP POST para o endpoint /api/v3/appointments/ e processar a resposta. Para mais detalhes, consulte a documentação oficial da API da eAgenda.
Preparação do Ambiente #
Antes de começar, você precisará:
- Chave de API: Acesse o painel da eAgenda para obter seu token Bearer.
- Ferramenta para requisições HTTP: Use cURL, Postman ou bibliotecas como requests (Python) ou axios (JavaScript).
- Configuração do cabeçalho: A autenticação é feita via Bearer Token. Configure o cabeçalho Authorization: Bearer <seu-token> e defina Content-Type: application/json.
Dica: Consulte a seção de autenticação na documentação da API para configurar o token corretamente: https://eagenda.com.br/api/v3/documents/#overview.
Definição dos Dados do Agendamento #
Para criar um agendamento, envie um objeto JSON no corpo da requisição com os seguintes campos:
{
"status": "string",
"calendar_key": "uuid",
"service_list": [
{
"service_key": "uuid"
}
],
"tag_list": [
{
"tag_key": "uuid"
}
],
"owner_user": {
"email": "email"
},
"attendees": [
{
"name": "string",
"email": "email",
"phone": "string",
"identification_code": "string",
"identification_type": "string"
}
],
"start": {
"dateTime": "date-time"
},
"description": "string",
"verify_limits": boolean,
"send_email": boolean,
"include_flows": boolean,
"account_slug": "string"
}
status (opcional) #
- Descrição: Status inicial do agendamento.
- Valores possíveis: ATTENDED, CANCELED, CANCELED_CLIENT, CANCELED_GOOGLE, CONFIRMED, IN_PROGRESS, NO_SHOW, PENDING, PENDING_COMPANIONS, PENDING_FORM, PENDING_PAYMENT.
- Impacto: Define o estado do agendamento; padrão é PENDING se não informado.
- Exemplo: “PENDING”
calendar_key (obrigatório) #
- Descrição: Chave UUID da agenda.
- Impacto: Vincula o agendamento a uma agenda específica.
- Como obter: Use o endpoint de listagem de agendas (/api/v3/calendars/).
- Exemplo: “1973125a-ab10-4000-8674-eef17b31e080”
service_list (opcional) #
- Descrição: Lista de serviços associados ao agendamento.
- Estrutura: Array de objetos, cada um com service_key (UUID).
- Como obter: Use o endpoint de listagem de serviços (/api/v3/services/).
- Impacto: Especifica os serviços a serem realizados.
- Exemplo:
[ { "service_key": "19730681-2aa0-4000-84b6-2bc54b4ace01" } ]
tag_list (opcional) #
- Descrição: Lista de tags associadas ao agendamento.
- Estrutura: Array de objetos, cada um com tag_key (UUID).
- Como obter: Use o endpoint de listagem de tags.
- Impacto: Permite categorizar o agendamento.
- Exemplo:
[ { "tag_key": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } ]
owner_user (opcional) #
- Descrição: Usuário responsável pelo agendamento.
- Estrutura: Objeto com email.
- Impacto: Vincula o agendamento a um responsável.
- Exemplo:
{ "email": "responsavel@example.com" }
attendees (obrigatório) #
- Descrição: Lista de participantes do agendamento.
- Estrutura: Array de objetos, cada um com:
- name (obrigatório): Nome do participante (1 a 200 caracteres).
- email (opcional): E-mail do participante.
- phone (opcional): Telefone no formato E.164.
- identification_code (opcional): Documento de identificação.
- identification_type (opcional): Tipo de documento (ex.: br_cpf, ar_dni).
- Impacto: Define quem participará do agendamento.
- Exemplo:
[ { "name": "João Silva", "email": "joao.silva@example.com", "phone": "+5511999999999", "identification_code": "123.456.789-00", "identification_type": "br_cpf" } ]
start (obrigatório) #
- Descrição: Data e hora de início do agendamento.
- Estrutura: Objeto com dateTime (formato ISO 8601).
- Impacto: Define o horário do agendamento.
- Exemplo:
{ "dateTime": "2025-06-01T10:00:00Z" }
description (opcional) #
- Descrição: Descrição do agendamento.
- Restrições: Mínimo de 1 caractere.
- Impacto: Adiciona informações contextuais.
- Exemplo: “Consulta de rotina”
verify_limits (opcional) #
- Descrição: Verifica os limites de agendamento configurados.
- Impacto: Garante conformidade com as regras da agenda se true.
- Exemplo: true
send_email (opcional) #
- Descrição: Envia e-mail de confirmação do agendamento.
- Impacto: Notifica os participantes se true.
- Exemplo: false
include_flows (opcional) #
- Descrição: Inclui o agendamento nas regras de notificação (se status for CONFIRMED).
- Impacto: Ativa fluxos de notificação se true.
- Exemplo: false
account_slug (opcional) #
- Descrição: Slug da conta ou subconta.
- Restrições: Mínimo de 1 caractere, padrão ^[-a-zA-Z0-9_]+$.
- Como obter: Use o endpoint de listagem de contas.
- Impacto: Vincula o agendamento a uma conta específica.
- Exemplo: “minha-conta”
Nota: Os campos obrigatórios são calendar_key, attendees e start. Os demais são opcionais, mas recomendados para maior controle.
Exemplo Básico:
{
"status": "PENDING",
"calendar_key": "1973125a-ab10-4000-8674-eef17b31e080",
"attendees": [
{
"name": "João Silva",
"email": "joao.silva@example.com"
}
],
"start": {
"dateTime": "2025-06-01T10:00:00Z"
}
}
Envio da Requisição para Criar um Agendamento #
Para criar um agendamento, envie uma requisição HTTP POST para o endpoint:
https://eagenda.com.br/api/v3/appointments/
Configuração da Requisição #
- Método: POST
- Cabeçalhos:
- accept: application/json
- Authorization: Bearer <seu-token>
- Content-Type: application/json
- Corpo da requisição: JSON com os dados do agendamento.
Exemplo de Requisição com cURL #
curl -X POST https://eagenda.com.br/api/v3/appointments/ \
-H "accept: application/json" \
-H "Authorization: Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999" \
-H "Content-Type: application/json" \
-d '{
"status": "PENDING",
"calendar_key": "1973125a-ab10-4000-8674-eef17b31e080",
"attendees": [
{
"name": "João Silva",
"email": "joao.silva@example.com"
}
],
"start": {
"dateTime": "2025-06-01T10:00:00Z"
}
}'
Exemplo em Python (usando requests) #
import requests
url = "https://eagenda.com.br/api/v3/appointments/"
headers = {
"accept": "application/json",
"Authorization": "Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999",
"Content-Type": "application/json"
}
data = {
"status": "PENDING",
"calendar_key": "1973125a-ab10-4000-8674-eef17b31e080",
"attendees": [
{
"name": "João Silva",
"email": "joao.silva@example.com"
}
],
"start": {
"dateTime": "2025-06-01T10:00:00Z"
}
}
response = requests.post(url, json=data, headers=headers)
print(response.status_code)
print(response.json())
Verificação da Resposta #
A API retornará uma resposta com o status da criação do agendamento. Verifique os seguintes pontos:
- Código de status HTTP:
- 201 Created: Agendamento criado com sucesso.
- 400 Bad Request: Erro nos dados enviados (verifique o JSON).
- 401 Unauthorized: Token inválido ou ausente.
- Corpo da resposta: Contém detalhes do agendamento criado, como:
{
"appointment_key": "19730681-29a0-4000-8ddf-025c8f2d1401",
"search_code": "A001",
"status": "PENDING",
"calendar": {
"calendar_key": "1973125a-ab10-4000-8674-eef17b31e080",
"calendar_name": "Agenda Principal"
},
"service_list": [],
"tag_list": [],
"attendees": [
{
"person_key": "19730681-29a0-4000-8584-d036c75a2f80",
"name": "João Silva",
"email": "joao.silva@example.com",
"phone": null,
"identification_code": null,
"identification_type": null
}
],
"owner_user": null,
"start": {
"dateTime": "2025-06-01T10:00:00Z",
"timeZone": "UTC"
},
"end": {
"dateTime": "2025-06-01T10:30:00Z",
"timeZone": "UTC"
},
"description": null,
"questionnaires": [],
"created_at": {
"dateTime": "2025-06-01T09:58:00Z",
"timeZone": "UTC"
},
"location": null,
"conference_data": null,
"account_slug": null
}
O agendamento será registrado no sistema, respeitando as configurações da agenda e os dados fornecidos. Use o appointment_key para gerenciar o agendamento em outras requisições.
Conclusão #
Com este tutorial, você aprendeu como criar um agendamento via API da eAgenda, configurando participantes, horários e outros detalhes de forma eficiente. Essa integração é ideal para automatizar a criação de agendamentos, otimizando a gestão de compromissos. Para mais funcionalidades, como listagem de horários disponíveis ou edição de agendamentos, consulte a documentação completa da API da eAgenda.
Entre em Contato ou Saiba Mais #
Estamos à disposição para ajudar! Acesse nossos canais oficiais:
📞 WhatsApp : Clique aqui para nos enviar uma mensagem
🌐 Plataforma eAgenda : Conheça o eAgenda
🏢 Nossa Empresa : Mupi Systems – Soluções Inovadoras
📧 E-mail : contato@mupisystems.com.br
📚 Tutoriais e Documentação : Acesse nossos guias e tutoriais