- Print
- DarkLight
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
- 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 curl:
curl -X GET 'https://max.cfaz.net/api/v1/events' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'title_eq=João das Couves' \
-F '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:
curl -X GET 'https://max.cfaz.net/api/v1/events' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'title_eq=João das Couves"' \
-F 'status=1' \
-F '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' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'event[calendar_id]=158' \
-F 'event[patient_id]=317358' \
-F 'event[title]=Agendamento pela API' \
-F 'event[description]=Descrição de teste' \
-F 'event[start_date]=Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00' \
-F 'event[end_date]=Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00' \
-F 'event[status]=2' \
-F 'event[phone]=31 9 1234 5678' \
-F 'event[dentist_datum_id]=56022'
Exemplo com 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}' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'event[title]=Agendamento pela API/Update'
Exemplo com 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 exlcuir um agendamento acessando a action "destroy". Para deletar 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}' \
-F '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' \
-F 'access_token=0cd675768fev8dab81fe1c1297d56b09' \
-F 'event[calendar_id]=158' \
-F 'event[title]=Bloqueio pela API' \
-F 'event[start_date]=Thu, 16 Jun 2025 14:00:00.000000000 UTC +00:00' \
-F 'event[end_date]=Thu, 16 Jun 2025 14:30:00.000000000 UTC +00:00' \
-F 'event[status]=8'
Exemplo com 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"
}