Developer Portal

Quickstart: primeiro agendamento

Da criação do App ao primeiro Appointment no Sandbox.

Atualizado em 01/09/2026
  1. Tenha uma empresa Hubday no Plano Profissional ou Business.
  2. Abra Desenvolvedores no menu principal da Platform e crie um Developer App privado.
  3. Use a instalação Sandbox Development ou crie outro Sandbox dedicado à integração.
  4. Conceda somente os scopes necessários e gere client_id/client_secret; o secret é exibido uma única vez.
  5. Troque as credenciais por um access token usando OAuth 2.0 Client Credentials.
  6. Descubra Location, Service e Professional IDs.
  7. Consulte availability imediatamente antes da reserva.
  8. Crie o Appointment com Idempotency-Key e persista o ID retornado.

1. Emitir o access token

curl -u "$HUBDAY_CLIENT_ID:$HUBDAY_CLIENT_SECRET" \
  -X POST 'https://sandbox-api.hubday.com.br/oauth2/token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'scope=locations:read services:read professionals:read availability:read appointments:read appointments:write'

2. Descobrir o catálogo

curl 'https://sandbox-api.hubday.com.br/v1/locations?limit=25' \
  -H "Authorization: Bearer $HUBDAY_ACCESS_TOKEN"

curl 'https://sandbox-api.hubday.com.br/v1/services?locationId=$LOCATION_ID&limit=25' \
  -H "Authorization: Bearer $HUBDAY_ACCESS_TOKEN"

curl 'https://sandbox-api.hubday.com.br/v1/professionals?locationId=$LOCATION_ID&serviceId=$SERVICE_ID&limit=25' \
  -H "Authorization: Bearer $HUBDAY_ACCESS_TOKEN"

3. Consultar disponibilidade

curl --get 'https://sandbox-api.hubday.com.br/v1/availability' \
  -H "Authorization: Bearer $HUBDAY_ACCESS_TOKEN" \
  --data-urlencode "locationId=$LOCATION_ID" \
  --data-urlencode "serviceId=$SERVICE_ID" \
  --data-urlencode "professionalId=$PROFESSIONAL_ID" \
  --data-urlencode 'from=2026-09-05T08:00:00-03:00' \
  --data-urlencode 'to=2026-09-06T20:00:00-03:00' \
  --data-urlencode 'stepMinutes=15'

4. Criar o Appointment

curl -X POST 'https://sandbox-api.hubday.com.br/v1/appointments' \
  -H "Authorization: Bearer $HUBDAY_ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: crm-appointment-98217' \
  -d '{
    "locationId": "019...",
    "customer": {
      "name": "Maria Silva",
      "phone": "+5531999999999",
      "email": "maria@example.com"
    },
    "items": [{
      "serviceId": "019...",
      "professionalId": "019...",
      "startsAt": "2026-09-05T14:00:00-03:00"
    }],
    "notes": "Consulta de avaliação"
  }'