Endpoints públicos e parâmetros de busca
TLDR: Notas de referência sobre os endpoints de verificação de telefone, perfil do usuário e perfil público do terapeuta, mais os parâmetros de busca aceitos via Ransack.
Conteúdo herdado do
README.mdda raiz do repo. Descreve comportamento observado e documentado à mão, não gerado a partir do código — confira contraconfig/routes.rbe os controllers antes de depender de um detalhe específico. A coleção executável está no Postman (link noREADME.mdda raiz).
Verificação de telefone
POST /api/v1/phones_verification
| Params | { phone: "" } |
| Resposta | {} |
- Não dispara novamente se a última chamada foi há menos de 40 segundos.
- Ignora se o telefone já estiver validado.
PUT /api/v1/phones_verification
| Params | { verification: { pin: "XYZ123" } } |
| Resposta | {}, status 200 |
- Ignora se já estiver validado.
- Se o código estiver correto, marca o datetime
user.phone_number_validated_at.
Perfil do usuário
PUT /api/v1/me/
Atributos aceitos:
address_attributes:street,number,country,city,region,external_gateway_id,external_gateway_urldocument_typedocument_numberbirth_dategender
Terapeuta
GET /api/v1/terapeuta/:slug/availability?from=2023-07-19&to=2023-07-23
Retorna a disponibilidade do terapeuta sempre em janelas de 4 dias. A API cruza os eventos de meetings com a disponibilidade cadastrada e retorna apenas o que está de fato livre.
GET /api/v1/terapeuta/:slug
Retorna o perfil público do terapeuta.
Parâmetros de busca (Ransack)
| Filtro | Exemplo |
|---|---|
| Idiomas | &q[languages_cont_any][]=Alemão&q[languages_cont_any][]=Português |
| Tags / experiência (associação polimórfica) | ?q[tag_options_slug_cont_any]=adolescencia&q[tag_options_slug_cont_any]=abuso |
| Gênero | &q[genre]=male, ?q[gender_eq]=female, ?q[gender_eq]=non_binary |
| Nome do usuário | &q[user_name_cont]=dj |
| Localidade | ?q[user_user_addresses_full_address_cont]=Rua tal |
Referências
config/routes.rb- show_therapist_regardless_of_availabilities — regra atual de quais terapeutas aparecem na busca