Skip to main content
O Profile consolida identidade, dados de passageiro e escopo de acesso do usuário autenticado.

Campos

CampoTipoOrigemDescrição
userIdUUIDUserIdentificador do usuário
googleProviderIdString?UserID do provedor Google OAuth
scopeProfileScopeRoles e vínculosEscopo de organização, role e permissões
nameStringUserNome completo
emailString?UserEmail
emailVerifiedBooleanUserEmail verificado
avatarString?UserReferência ao avatar
documentString?CustomerNúmero do documento
documentTypeDocumentType?CustomerTipo do documento
birthDateDate?CustomerData de nascimento
phoneIsoStringUserCódigo ISO do país do telefone
phoneDdiStringUserDDI do telefone
phoneNumberStringUserNúmero do telefone
phoneVerifiedBooleanUserTelefone verificado
statusUserStatusUserStatus da conta
createdByUUID?UserUsuário que criou o registro, quando aplicável
createdAtDateTimeUserData de criação
updatedByUUID?UserUsuário que fez a última atualização, quando aplicável
updatedAtDateTimeUserData da última atualização

ProfileScope

CampoTipoDescrição
permissionIdsPermissionId[]União dos claims de acesso derivados, das roles internas e das roles do escopo ativo
organization{ organizationId, name }?Organização do escopo ativo
role{ roleId, name }?Role do escopo ativo

Regras de Negócio

  • O Profile agrega dados de identidade (User), de passageiro (Customer, quando existe) e de autorização em uma única resposta.
  • permissionIds é a união, sem duplicatas, dos claims de acesso derivados, das roles INTERNAL e das roles ENVIRONMENT/ORGANIZATION da organização ativa.
  • Apenas Memberships ACTIVE participam da composição de claims, roles e permissions.
  • access:bko é derivado quando o usuário possui Membership ACTIVE com Role INTERNAL.
  • access:ops é derivado quando o usuário possui Membership ACTIVE em uma organização com Role ENVIRONMENT ou ORGANIZATION.
  • access:driver é derivado quando o usuário possui vínculo ativo como motorista em uma empresa.
  • organization e role só aparecem quando existe escopo ativo de organização. Passageiros e usuários apenas com roles internas não têm escopo de organização.

Example

{
  "userId": "0197a7f5-2a88-7c1e-9b65-1f6d8f3b3a10",
  "googleProviderId": null,
  "scope": {
    "permissionIds": [
      "access:ops",
      "read:order",
      "create:order",
      "read:trip"
    ],
    "organization": {
      "organizationId": "0197a7f7-7291-7a43-96db-2c8580b80c5d",
      "name": "Transportes Brasil"
    },
    "role": {
      "roleId": "0197a7f8-15d1-7320-9b60-02497d7a0d61",
      "name": "Operador de Vendas"
    }
  },
  "name": "Mariana Costa",
  "email": "mariana.costa@example.com",
  "emailVerified": true,
  "avatar": "users/0197a7f5-2a88-7c1e-9b65-1f6d8f3b3a10/avatar.webp",
  "document": "12345678909",
  "documentType": "CPF",
  "birthDate": "1992-04-18",
  "phoneIso": "BR",
  "phoneDdi": "55",
  "phoneNumber": "11987654321",
  "phoneVerified": true,
  "status": "ACTIVE",
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T12:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T12:10:00.000Z"
}