Campos do agendamento
O agendamento possui os seguintes campos:
- calendar_id: Id do calendário
- patient_id: Id do paciente
- dentist_datum_id: id do dentista
- title: Título do agendamento
- description: Descrição do agendamento
- start_date: Data e hora de início do agendamento
- end_date: Data e hora final do agendamento
- comment: Comentário sobre o agendamento
- color: Cor do agendamento
- status: Status do agendamento
- phone: Telefone do agendamento
O agendamento possui os seguintes estados:
- 0 : Aberto
- 1 : Atendido
- 2 : Em espera
- 3 : Ausente
- 4 : Anotação
- 5 : Observação
- 6 : Confirmado
- 7 : Cancelado
- 8 : Horário bloqueado, usado para bloqueio de horários na agenda
Listar os agendamentos
O controller de agendamentos permite listar os agendamentos através da action "index". Isso pode ser usado para encontrar um agendamento que vai ser atualizado.
Exemplo com CURL:curl -X GET 'https://max.cfaz.net/api/v1/events' \ -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \ -d 'title_eq=João das Couves' \ -d 'status=1'
Exemplo com a Gem RestClient:RestClient.get 'https://max.cfaz.net/api/v1/events',
{
'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
'title_eq' => 'João das Couves',
'status' => '1'
}Nessa listagem há uma paginação com 8 agendamentos em cada página, ao não especificar a página, por padrão, é retornada a primeira, entretanto essa pode ser especificada adicionando o parâmetro "page" com um valor inteiro maior que 0, retornando então a página em questão. Exemplo com o parâmetro:
Exemplo com CURL:curl -X GET 'https://max.cfaz.net/api/v1/events' \ -d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \ -d 'title_eq=João das Couves"' \ -d 'status=1' \ -d 'page=2'
Exemplo com a Gem RestClient:RestClient.get 'https://max.cfaz.net/api/v1/events',
{
'access_token'=> '0cd675768fev8dab81fe1c1297d56b09',
'title_eq' => 'João das Couves',
'status' => '1',
'page' => 2
}Criar um agendamento
O controller de agendamentos permite criar agendamentos acessando a action "create".
Exemplo com CURL:curl -X POST 'https://max.cfaz.net/api/v1/events' \
-d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-d 'event[calendar_id]=158' \
-d 'event[patient_id]=317358' \
-d 'event[title]=Agendamento pela API' \
-d 'event[description]=Descrição de teste' \
-d 'event[start_date]=Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00' \
-d 'event[end_date]=Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00' \
-d 'event[status]=2' \
-d 'event[phone]=31 9 1234 5678' \
-d 'event[dentist_datum_id]=56022'Exemplo com a Gem RestClient:RestClient.post 'https://max.cfaz.net/api/v1/events',
{
event: {
calendar_id: 158,
patient_id: 317358,
title: "Agendamento pela API",
description: "Descrição de teste",
start_date: "Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00",
end_date: "Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00",
status: 2,
phone: "31 9 1234 5678",
dentist_datum_id: 56022,
},
access_token: "0cd675768fev8dab81fe1c1297d56b09",
}Atualizar um agendamento
O controller de agendamentos permite atualizar um agendamento acessando a action "update". Para atualizar um agendamento é necessário saber o id do agendamento que deseja atualizar.
Exemplo com CURL:curl -X PUT 'https://max.cfaz.net/api/v1/events/{event_id}' \
-d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-d 'event[title]=Agendamento pela API/Update'Exemplo com a Gem RestClient:RestClient.put "https://max.cfaz.net/api/v1/events/{event_id}",
{ event:
{
title: "Agendamento pela API/Update"
},
access_token: "0cd675768fev8dab81fe1c1297d56b09",
}Excluir um agendamento
O controller de agendamentos permite excluir um agendamento acessando a action "destroy". Para excluir um agendamento é necessário saber o id do agendamento que deseja excluir.
Exemplo com CURL:curl -X DELETE 'https://max.cfaz.net/api/v1/events/{event_id}' \
-d 'access_token=9b6309a4fe550142d34cba2af195ef07'Exemplo com a Gem RestClient:RestClient.delete "https://max.cfaz.net/api/v1/event/{patient_id}",
"authorization" => "Token token=0cd675768fev8dab81fe1c1297d56b09"Criar um bloqueio
O controller de eventos permite com que você crie um bloqueio de horário, o funcionamento do bloqueio de horários é igual ao de criação um evento com a diferença que o status tem que ser igual a 8.
O bloqueio possui os seguintes campos:
- calendar_id: Id do calendário
- title: Motivo do bloqueio
- start_date: Data e hora de início do bloqueio
- end_date: Data e hora final do bloqueio
- status: Status do bloqueio, tem que ser sempre igual a 8
Exemplo com CURL:curl -X POST 'https://max.cfaz.net/api/v1/events' \
-d 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-d 'event[calendar_id]=158' \
-d 'event[title]=Bloqueio pela API' \
-d 'event[start_date]=Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00' \
-d 'event[end_date]=Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00' \
-d 'event[status]=8'Exemplo com a Gem RestClient:RestClient.post 'https://max.cfaz.net/api/v1/events',
{
event: {
calendar_id: 158,
title: "Bloqueio pela API",
start_date: "Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00",
end_date: "Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00",
status: 8,
},
access_token: "0cd675768fev8dab81fe1c1297d56b09"
}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