Ver categorias

Como Atualizar ou Cancelar um Agendamento Via API

7 minutos de leitura

Atualizar ou Cancelar um Agendamento

Resumo #

A API da plataforma eAgenda permite atualizar ou cancelar um agendamento de forma programática, ajustando o status ou removendo compromissos existentes. Este guia prático detalha como enviar requisições HTTP PATCH para atualizar (/api/v3/appointments/{appointment_key}/) e DELETE para cancelar (/api/v3/appointments/{appointment_key}/) um agendamento, além de processar as respostas. 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, para atualização, defina Content-Type: application/json.
  • Chave do agendamento (appointment_key): Obtenha o UUID do agendamento a ser atualizado ou cancelado, geralmente retornado ao criar ou listar agendamentos.

Dica: Consulte a seção de autenticação na documentação da API para configurar o token corretamente.

Atualizar um Agendamento #

Para atualizar um agendamento, envie uma requisição HTTP PATCH para o endpoint /api/v3/appointments/{appointment_key}/, modificando o status ou outros parâmetros.

Definição dos Dados para Atualização #

Envie um objeto JSON no corpo da requisição com os seguintes campos:

{
  "status": "string",
  "send_email": boolean,
  "account_slug": "string"
}

status (opcional) #

  • Descrição: Novo status do agendamento.
  • Valores possíveis: ATTENDED, CANCELED, CANCELED_CLIENT, CANCELED_GOOGLE, CONFIRMED, IN_PROGRESS, NO_SHOW, PENDING, PENDING_COMPANIONS, PENDING_FORM, PENDING_PAYMENT.
  • Impacto: Altera o estado do agendamento.
  • Exemplo: “CONFIRMED”

send_email (opcional) #

  • Descrição: Envia e-mail de confirmação da atualização.
  • Impacto: Notifica os participantes se true.
  • Exemplo: true

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 a atualização a uma conta específica.
  • Exemplo: “minha-conta”

Nota: Pelo menos um campo deve ser enviado para atualizar o agendamento.

Envio da Requisição para Atualizar #

Para atualizar um agendamento, envie uma requisição HTTP PATCH para o endpoint:

https://eagenda.com.br/api/v3/appointments/{appointment_key}/

Configuração da Requisição #

  • Método: PATCH
  • Cabeçalhos:
    • accept: application/json
    • Authorization: Bearer <seu-token>
    • Content-Type: application/json
  • Corpo da requisição: JSON com os dados a serem atualizados.

Exemplo de Requisição com cURL #

curl -X PATCH https://eagenda.com.br/api/v3/appointments/19730681-29a0-4000-8ddf-025c8f2d1401/ \
-H "accept: application/json" \
-H "Authorization: Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999" \
-H "Content-Type: application/json" \
-d '{
  "status": "CONFIRMED",
  "send_email": true,
  "account_slug": "minha-conta"
}'

Exemplo em Python (usando requests) #

import requests

url = "https://eagenda.com.br/api/v3/appointments/19730681-29a0-4000-8ddf-025c8f2d1401/"
headers = {
    "accept": "application/json",
    "Authorization": "Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999",
    "Content-Type": "application/json"
}
data = {
    "status": "CONFIRMED",
    "send_email": True,
    "account_slug": "minha-conta"
}

response = requests.patch(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 atualização. Verifique os seguintes pontos:

  • Código de status HTTP:
    • 200 OK: Agendamento atualizado com sucesso.
    • 400 Bad Request: Erro nos dados enviados (verifique o JSON).
    • 401 Unauthorized: Token inválido ou ausente.
    • 404 Not Found: appointment_key inválido.
  • Corpo da resposta: Contém os detalhes atualizados do agendamento, como:
{
  "appointment_key": "19730681-29a0-4000-8ddf-025c8f2d1401",
  "search_code": "A001",
  "status": "CONFIRMED",
  "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": "minha-conta"
}

O agendamento será atualizado no sistema, refletindo as alterações enviadas.

Cancelar um Agendamento #

Para cancelar um agendamento, envie uma requisição HTTP DELETE para o endpoint /api/v3/appointments/{appointment_key}/.

Definição dos Parâmetros para Cancelamento #

appointment_key (obrigatório) #

  • Descrição: Chave UUID do agendamento.
  • Impacto: Identifica o agendamento a ser cancelado.
  • Como obter: Obtido ao criar ou listar agendamentos.
  • Exemplo: 19730681-29a0-4000-8ddf-025c8f2d1401

send_email (opcional) #

  • Descrição: Envia e-mail de notificação de cancelamento.
  • Impacto: Notifica os participantes se true.
  • Exemplo: true

Envio da Requisição para Cancelar #

Para cancelar um agendamento, envie uma requisição HTTP DELETE para o endpoint:

https://eagenda.com.br/api/v3/appointments/{appointment_key}/

Configuração da Requisição #

  • Método: DELETE
  • Cabeçalhos:
    • accept: application/json
    • Authorization: Bearer <seu-token>
  • Query-string: Parâmetro send_email (ex.: ?send_email=true).

Exemplo de Requisição com cURL #

curl -X DELETE "https://eagenda.com.br/api/v3/appointments/19730681-29a0-4000-8ddf-025c8f2d1401/?send_email=true" \
-H "accept: application/json" \
-H "Authorization: Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999"

Exemplo em Python (usando requests) #

import requests

url = "https://eagenda.com.br/api/v3/appointments/19730681-29a0-4000-8ddf-025c8f2d1401/"
headers = {
    "accept": "application/json",
    "Authorization": "Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999"
}
params = {
    "send_email": True
}

response = requests.delete(url, headers=headers, params=params)
print(response.status_code)
print(response.json())

Verificação da Resposta #

A API retornará uma resposta com o status do cancelamento. Verifique os seguintes pontos:

  • Código de status HTTP:
    • 200 OK: Agendamento cancelado com sucesso.
    • 401 Unauthorized: Token inválido ou ausente.
    • 404 Not Found: appointment_key inválido.
  • Corpo da resposta: Contém os detalhes do agendamento cancelado, com o status atualizado para CANCELED, como:
{
  "appointment_key": "19730681-29a0-4000-8ddf-025c8f2d1401",
  "search_code": "A001",
  "status": "CANCELED",
  "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á marcado como cancelado no sistema, e os participantes serão notificados se send_email for true.

Conclusão #

Com este tutorial, você aprendeu como atualizar ou cancelar um agendamento via API da eAgenda, utilizando os endpoints PATCH e DELETE para gerenciar compromissos de forma eficiente. Essas integrações são ideais para automatizar a administração de agendamentos, ajustando status ou removendo compromissos conforme necessário. Para mais funcionalidades, como criar ou listar 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

Desenvolvido por BetterDocs