Users
What is it?
User is the access identity the Pontotel platform — is the one that log in, performs actions and/or registers point according to the assigned permissions.
Employee
- User = Who access system (login, permissions, actions)
- Employee = Who works (HR registration, journeys, markings)
In many scenarios, the user is linked to an employee so that the collaborator can access the system with the correct data.
User Types
| Type | Description |
| Management | Administrative/operational profile — HR, supervision, administration |
| Official | Restricted employee profile — point record + personal view |
| Collective | For shared devices (company totem/tablet point) |
Why It Matters In Integration
Integrations usually: - Automatically provide users for managers/HR and for employees themselves - Link user ↔ employee to avoid duplicity of registration and ensure consistent data (name, e-mail) in the point record
Business Rules
- Username and email should be unique on the platform
- Inactive users cannot authenticate in API
- The bond with employee ensures consistency: when editing the employee, user data automatically updates
- Clearly set the pattern of emails before creating mass users (real email, aliases by CPF, technical email, etc.)
Available Operations
| Method | Endpoint | Description |
| GET | /usuarios/ | List Users |
| POST | /usuarios/ | Create User |
| GET | /usuarios/{id}/ | Get User |
| PATCH | /usuarios/{id}/ | Update |
| DELETE | /usuarios/{id}/ | Remove |
Fields
| Field | Type | Required | Description |
id | integer | — | Internal ID |
username | string | | User Login |
email | string | | Email |
first_name | string | — | Name |
last_name | string | — | Surname |
password | string | | Password (creation only) |
empregado_id | integer | — | Bond with employee (recommended) |
permissoes | array | — | Permissions list |
is_active | boolean | — | Status (default: true) |
date_joined | datetime | — | Date of creation |
Example: Create User Employee
| HTTP |
|---|
| POST /pontotel/api/v4/usuarios/
Authorization: Bearer {token}
Content-Type: application/json
{
"username": "maria.santos",
"email": "maria.santos@empresa.com",
"first_name": "Maria",
"last_name": "Santos",
"password": "senha_segura_123!",
"empregado_id": 500
}
|
Common Errors
| Error | Cause | Solution |
| Duplicate Email | Two users with the same email | Standardize before mass creation |
| Diverging data | User not linked to employee | Always bind empregado_id for employees |
| Wrong permission | Mix management profile with personal profile | Set profile types before integration |
Common Flows
- Create management user: via
POST /usuarios/ without empregado_id - Create employee user: via
POST /usuarios/ with empregado_id filled (fill name/e-mail automatically)