API Reference
Welcome to the Catalogy API platform. This documentation specifies expected request bodies, responses, and authorization requirements for all endpoints.
Authentication & Users
Register a new user in the system. Sends a confirmation email to the user.
Request Body (JSON)
{
"name": "John Doe",
"email": "john@example.com",
"password": "securepassword123"
}
Expected Response
201 Created
{
"message": "registered successfully and email sent"
}
Authenticate a user and return a JWT token. Uses Basic Authentication.
Request Headers
Authorization: Basic <base64(email:password)>
Expected Response
200 OK
{
"status": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5c..."
}
Retrieve information about the currently authenticated user.
Request a password reset link to be sent to user email.
Change the password for the current user.
Resend the account confirmation email.
Negocios (Businesses)
Create a new business associated with the authenticated user. Expects a FormData object containing both text fields and optional files for logos and backgrounds.
Request Form Data
- name: Text
- direccion: Text
- telefono: Text
- ws_telefono: Text
- telefono2: Text (Optional)
- correo: Text
- web: Text (Optional)
- pais: Integer ID
- provincia: Integer ID
- ciudad: Integer ID
- moneda: Text
- rubro: Integer ID (Optional)
- tipo: Integer ID (Optional)
- twitter: Text (Optional)
- instagram: Text (Optional)
- facebook: Text (Optional)
- f_pedidos_ws: "true" or "false"
- f_carrito: "true" or "false"
- url_image: File (Image)
- url_background: File (Image)
Expected Response
201 Created
{
"Negocio": { ...business data... }
}
Retrieve a list of all businesses owned by the current user.
Retrieve full details of a specific business.
Update an existing business profile. Expects the exact same FormData structure as the POST route.
Delete a business.
Public endpoint to retrieve business info (Used for Customer App).
Retrieve the count of cartas, articulos, and categorias for a business dashboard.
Cartas (Menus)
Create a new menu (carta) and optionally link categories and items to it by providing their IDs and positions.
Request Body (JSON)
{
"name": "Menu de Verano",
"description": "Menu de temporada",
"negocio_id": 1,
"estado": true,
"categorias": [
{
"id": 1,
"position": 1,
"articulos": [
{ "id": 10, "position": 1 },
{ "id": 11, "position": 2 }
]
}
]
}
Retrieve all menus for a specific business.
Retrieve a specific menu by ID.
Update an existing menu details. Expects the exact same JSON structure as the POST route.
Update only the active/inactive status of a menu.
Request Body (JSON)
{
"estado": true
}
Delete a menu.
Public endpoint used by the QR Code/Customer app to read the catalog.
Generate and return the QR Code image for the menu.
Link an existing Categoria to a Carta.
Unlink a Categoria from a Carta.
Categorias (Categories)
Create a new category in a business.
Request Form Data
- name: Text
- description: Text
- negocio_id: Integer ID
- estado: "true" or "false"
List all categories for a business.
Update an existing category. Expects same structure as POST.
Delete a category.
Articulos (Items)
Create a new item (dish/product) inside a business catalog. Expects FormData and accepts an image file upload for the item's photo.
Request Form Data
- name: Text
- description: Text
- precio: Float
- discount: Text (Optional)
- negocio_id: Integer ID
- estado: "true" or "false"
- url_image: File (Image)
List all items across a business.
Retrieve a specific item.
Update a specific item. Expects same structure as POST.
Delete a specific item.
Images
Upload an image file to the server (e.g. logos or item photos).
Retrieve a stored image file by filename.
Delete a stored image.