Client admin users interact with their own company through theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sistemashm24/pagos_hotspot_api/llms.txt
Use this file to discover all available pages before exploring further.
/api/v1/admin/mi-empresa namespace. Every request must carry a valid session token issued at login for a user with the cliente_admin role. These endpoints let you read and update company information, configure Conekta and Mercado Pago payment credentials, upload your brand logo, inspect your routers, and browse the company dashboard — all scoped strictly to the company associated with your account.
All endpoints in this section require the header
Authorization: Bearer <session_token> for a user with role cliente_admin. Tokens are obtained from the /api/v1/auth/login endpoint.GET /api/v1/admin/mi-empresa
Returns the full public profile of the authenticated user’s company, including payment gateway modes and Telegram notification settings. Sensitive private keys are never returned by this endpoint.cURL
Response
Unique company identifier in
EMP_ + 10 hex characters format. Example: EMP_3A9F1C0B2D.Company display name.
Primary contact email address for the company.
Optional contact phone number.
Relative path to the uploaded company logo, e.g.
/static/logos/logo_EMP_xxx_a1b2c3.png. Build the full URL by prepending your API base URL.Conekta operating mode. One of
"test" or "live".Conekta public key (safe to expose to the captive portal frontend).
Mercado Pago operating mode. Defaults to
"test".Mercado Pago public key (safe to expose to the captive portal frontend).
Whether the company account is currently active.
Timestamp of when the company was created.
Telegram Bot Token used for payment notifications. Stored in the database, returned as-is for display in the admin panel.
Telegram Chat ID where notifications are sent.
Whether Telegram payment notifications are enabled. Defaults to
false.PUT /api/v1/admin/mi-empresa
Updates the company’s basic contact information and Telegram notification settings. Only fields included in the request body are modified (partial update).cURL
Request Body
New display name for the company.
New primary contact email.
New contact phone number.
Telegram Bot Token. Obtain one by messaging
@BotFather on Telegram.Telegram Chat ID. Can be a personal chat ID or a group/channel ID (prefixed with
-100).Set to
true to enable Telegram notifications for new payments and hotspot user creation events.Response
GET /api/v1/admin/mi-empresa/conekta
Returns the current Conekta configuration for the company. The private key is masked as"********" for security — it is never returned in full.
cURL
Response
Always
"Configuración cargada" on success.PUT /api/v1/admin/mi-empresa/conekta-config
Updates Conekta credentials (legacy endpoint, still supported). PreferPOST /configurar-conekta for new integrations.
cURL
Request Body
Conekta secret key (starts with
key_test_ or key_live_). Only updated if provided.Conekta public key. Only updated if provided.
Gateway mode. Accepted values:
"test", "live".POST /api/v1/admin/mi-empresa/configurar-conekta
Sets or replaces Conekta credentials. This is the preferred endpoint used by the desktop admin application. Accepts the same body asPUT /conekta-config.
cURL
Request Body
Conekta secret key. Only updated when a non-empty value is provided.
Conekta public key. Only updated when a non-empty value is provided.
"test" or "live".Response
GET /api/v1/admin/mi-empresa/mercado-pago
Returns the current Mercado Pago configuration. Theaccess_token and webhook_secret are always masked as "********".
cURL
Response
POST /api/v1/admin/mi-empresa/configurar-credenciales
Sets or replaces Mercado Pago credentials. Fields are only updated when a non-empty value is provided.cURL
Request Body
Mercado Pago private access token (starts with
APP_USR- or TEST-).Mercado Pago public key, safe to include in the captive portal frontend.
Secret used to validate incoming Mercado Pago webhook signatures.
"test" or "live".Response
POST /api/v1/admin/mi-empresa/logo
Uploads or replaces the company logo. The file is saved understatic/logos/ with a UUID-derived filename to prevent caching conflicts.
Accepted formats:
.jpg, .jpeg, .png, .webp. Any other extension returns HTTP 400.cURL
Request
| Field | Type | Required | Description |
|---|---|---|---|
| file | multipart/form-data file | ✅ | Image file (.jpg, .jpeg, .png, .webp) |
Response
GET /api/v1/admin/mi-empresa/dashboard
Returns aggregated statistics for the company: transaction counts, total revenue, and the 5 most recent transactions. Useful for building summary dashboards in the admin panel.cURL
Response
Array of the 5 most recent transactions, ordered by
creada_en descending.Example Response
GET /api/v1/admin/mi-empresa/routers
Lists all routers registered to the authenticated user’s company.cURL
Response
PUT /api/v1/admin/mi-empresa/routers/
Updates the configuration of a specific router that belongs to the company. Fails with HTTP 404 if the router does not exist or belongs to a different company.cURL
Path Parameters
The router ID to update, e.g.
RTR_A1B2C3D4.Request Body
New display name for the router.
MikroTik router IP address or hostname.
MikroTik API port. Defaults to
8728 if omitted.MikroTik API username.
MikroTik API password.
Human-readable physical location description.
Response
GET /api/v1/admin/mi-empresa/transacciones
Returns paginated transaction history for the company, ordered by creation date descending. See the Transactions page for full detail.cURL
Query Parameters
Maximum number of transactions to return per page.
Number of records to skip for pagination.
POST /api/v1/admin/mi-empresa/verify-api-key
Verifies that an API Key belongs to the authenticated user’s company, and returns which router it is associated with along with usage metadata.The API Key must start with the
jwt_ prefix. This endpoint only looks up keys scoped to your company — it cannot verify keys from other companies.cURL
Request Body
The full API Key to verify, including the
jwt_ prefix.Response
"valid" if the key is active, "revoked" if it has been revoked.POST /api/v1/admin/test-telegram
Sends a test Telegram message to verify bot credentials. You can pass temporary credentials in the request body to test them before saving — useful for the credential configuration UI.cURL
Request Body
Telegram Bot Token to test. If omitted, uses the token stored in the company’s database record.
Telegram Chat ID to send the test message to. If omitted, uses the chat ID stored in the company’s database record.
Response
Error Responses
| Status | Detail |
|---|---|
400 | "Faltan credenciales (Token o Chat ID)" — neither the request nor the DB has both values |
500 | "Error de Telegram. Verifica que el Token sea válido y que hayas iniciado chat con el bot." |