Files
shopit-back/ShopIt_API_Postman_Collection.json

5385 lines
270 KiB
JSON

{
"info": {
"_postman_id": "76fd6fd2-53b9-4d92-8e02-1ddcc6207fa2",
"name": "ShopIt API — Complete",
"description": "Colección canónica generada desde las rutas reales de Laravel. Incluye 123 operaciones HTTP, ejemplos de payload, filtros, archivos y tokens separados para Storefront, Admin App y Scanner.\n\nUso rápido:\n1. Ajustá `base_url` y las credenciales.\n2. Ejecutá el Login de la aplicación correspondiente; el token se guarda automáticamente.\n3. Ajustá los IDs y códigos de las variables de colección.\n\nRegeneración: `php postman/generate-shopit-collection.php`.",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Storefront API",
"description": "API pública y autenticada consumida por el storefront: autenticación, catálogo, carrito, compras y tickets.",
"item": [
{
"name": "Auth",
"item": [
{
"name": "Google Token Exchange",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/auth/google/exchange`\n\nControlador: `App\\Domains\\Auth\\Controllers\\GoogleTokenExchangeController`",
"url": {
"raw": "{{base_url}}/api/auth/google/exchange",
"host": [
"{{base_url}}"
],
"path": [
"api",
"auth",
"google",
"exchange"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"oauth_code\": \"{{oauth_code}}\",\n \"tenant_codigo\": \"{{tenant_code}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Login",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/login`\n\nControlador: `App\\Domains\\Auth\\Controllers\\LoginController`",
"url": {
"raw": "{{base_url}}/api/login",
"host": [
"{{base_url}}"
],
"path": [
"api",
"login"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{user_email}}\",\n \"password\": \"{{user_password}}\",\n \"tenant_codigo\": \"{{tenant_code}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": [],
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"if (pm.response.code >= 200 && pm.response.code < 300) {",
" const payload = pm.response.json();",
" if (payload.token) pm.collectionVariables.set('token', payload.token);",
"}"
]
}
}
]
},
{
"name": "Logout",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/logout`\n\nControlador: `App\\Domains\\Auth\\Controllers\\LogoutController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/logout",
"host": [
"{{base_url}}"
],
"path": [
"api",
"logout"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Me",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/me`\n\nControlador: `App\\Domains\\Auth\\Controllers\\MeController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/me",
"host": [
"{{base_url}}"
],
"path": [
"api",
"me"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Profile",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/me`\n\nControlador: `App\\Domains\\Auth\\Controllers\\UpdateProfileController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/me",
"host": [
"{{base_url}}"
],
"path": [
"api",
"me"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"nombre_apellido\": \"Usuario Demo Actualizado\",\n \"email\": \"{{user_email}}\",\n \"dni\": \"30123456\",\n \"telefono\": \"+5491112345678\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Reset Password",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/password/reset`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ResetPasswordController`",
"url": {
"raw": "{{base_url}}/api/password/reset",
"host": [
"{{base_url}}"
],
"path": [
"api",
"password",
"reset"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{user_email}}\",\n \"codigo\": \"{{reset_code}}\",\n \"password\": \"{{user_password}}\",\n \"password_confirmation\": \"{{user_password}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Create Reset Password Attempt",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/password/reset-attempts`\n\nControlador: `App\\Domains\\Auth\\Controllers\\CreateResetPasswordAttemptController`",
"url": {
"raw": "{{base_url}}/api/password/reset-attempts",
"host": [
"{{base_url}}"
],
"path": [
"api",
"password",
"reset-attempts"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"tenant_codigo\": \"{{tenant_code}}\",\n \"email\": \"{{user_email}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Validate Reset Password Attempt",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/password/reset-attempts/validate`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ValidateResetPasswordAttemptController`",
"url": {
"raw": "{{base_url}}/api/password/reset-attempts/validate",
"host": [
"{{base_url}}"
],
"path": [
"api",
"password",
"reset-attempts",
"validate"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{user_email}}\",\n \"codigo\": \"{{reset_code}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Register",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/register`\n\nControlador: `App\\Domains\\Auth\\Controllers\\RegisterController`",
"url": {
"raw": "{{base_url}}/api/register",
"host": [
"{{base_url}}"
],
"path": [
"api",
"register"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"tenant_codigo\": \"{{tenant_code}}\",\n \"nombre_apellido\": \"Usuario Demo\",\n \"email\": \"{{user_email}}\",\n \"password\": \"{{user_password}}\",\n \"password_confirmation\": \"{{user_password}}\",\n \"dni\": \"30123456\",\n \"telefono\": \"+5491112345678\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
}
]
},
{
"name": "Bootstrap",
"item": [
{
"name": "Tenant Bootstrap",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/bootstrap`\n\nControlador: `App\\Domains\\Bootstrap\\Controllers\\TenantBootstrapController`",
"url": {
"raw": "{{base_url}}/api/tenants/bootstrap?dominio={{tenant_domain}}&path=/",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"bootstrap"
],
"query": [
{
"key": "dominio",
"value": "{{tenant_domain}}"
},
{
"key": "path",
"value": "/"
}
]
}
},
"response": []
}
]
},
{
"name": "Cart",
"item": [
{
"name": "Get Cart",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/cart`\n\nControlador: `App\\Domains\\Cart\\Controllers\\CartController@show`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/cart",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"cart"
]
}
},
"response": []
},
{
"name": "Add Item Cart",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/cart/items`\n\nControlador: `App\\Domains\\Cart\\Controllers\\CartController@addItem`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/cart/items",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"cart",
"items"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"catalog_item_id\": {{catalog_item_id}},\n \"variant_id\": {{variant_id}},\n \"cantidad\": 1\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Update Item Quantity Cart",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/tenants/{tenant:codigo}/cart/items/{cartItem}`\n\nControlador: `App\\Domains\\Cart\\Controllers\\CartController@updateItemQuantity`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/cart/items/{{cart_item_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"cart",
"items",
"{{cart_item_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"cantidad\": 2,\n \"variant_id\": {{variant_id}}\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Remove Item Cart",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/tenants/{tenant:codigo}/cart/items/{cartItem}`\n\nControlador: `App\\Domains\\Cart\\Controllers\\CartController@removeItem`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/cart/items/{{cart_item_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"cart",
"items",
"{{cart_item_id}}"
]
}
},
"response": []
}
]
},
{
"name": "Catalog",
"item": [
{
"name": "List Catalog",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/catalog`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@index`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"catalog"
]
}
},
"response": []
},
{
"name": "Search Catalog",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/catalog-items`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@search`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog-items?q=demo&page=1",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"catalog-items"
],
"query": [
{
"key": "q",
"value": "demo"
},
{
"key": "page",
"value": "1"
}
]
}
},
"response": []
},
{
"name": "Create Catalog",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/catalog-items`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@store`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog-items?q=demo&page=1",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"catalog-items"
],
"query": [
{
"key": "q",
"value": "demo"
},
{
"key": "page",
"value": "1"
}
]
},
"body": {
"mode": "raw",
"raw": "{\n \"type\": \"standard\",\n \"category_id\": {{category_id}},\n \"slug\": \"producto-demo\",\n \"nombre\": \"Producto Demo\",\n \"descripcion\": \"Producto creado desde Postman\",\n \"precio\": 10000,\n \"inventory_policy\": \"tracked\",\n \"inventory_subject\": \"product\",\n \"max_units_per_user\": 5,\n \"has_tickets\": false,\n \"real_stock\": 100,\n \"images\": [\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\"\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Get Catalog",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/catalog-items/{catalogItem}`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@show`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog-items/{{catalog_item_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"catalog-items",
"{{catalog_item_id}}"
],
"query": [
{
"key": "variant_id",
"value": "{{variant_id}}",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Get Variant Options Catalog",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/catalog-items/{catalogItem}/variant-options`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@variantOptions`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog-items/{{catalog_item_id}}/variant-options",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"catalog-items",
"{{catalog_item_id}}",
"variant-options"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"selected_values\": {\n \"color\": \"azul\"\n },\n \"cart_item_id\": {{cart_item_id}}\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "List Featured Group Items Catalog",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/catalog/featured-groups/{featuredGroup}/items`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@featuredGroupItems`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/catalog/featured-groups/{{featured_group_id}}/items?page=1",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"catalog",
"featured-groups",
"{{featured_group_id}}",
"items"
],
"query": [
{
"key": "page",
"value": "1"
}
]
}
},
"response": []
},
{
"name": "Get Category Catalog",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/categories/{category}`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\CatalogController@category`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/categories/{{category_id}}?page=1",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"categories",
"{{category_id}}"
],
"query": [
{
"key": "page",
"value": "1"
}
]
}
},
"response": []
}
]
},
{
"name": "Purchase",
"item": [
{
"name": "List Purchase",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/compras`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras?page=1",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras"
],
"query": [
{
"key": "status",
"value": "pending_payment",
"disabled": true
},
{
"key": "page",
"value": "1"
}
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Start Checkout Purchase",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/compras/start-checkout`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@startCheckout`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/start-checkout",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"start-checkout"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"cart_id\": {{cart_id}}\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Get Purchase",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/compras/{compra}`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@show`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Cancel Purchase",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/compras/{compra}/cancel`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@cancel`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/cancel",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"cancel"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Complete Purchase",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/compras/{compra}/complete`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@complete`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/complete",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"complete"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Customer Data Purchase",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/tenants/{tenant:codigo}/compras/{compra}/customer-data`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@updateCustomerData`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/customer-data",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"customer-data"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"dni\": \"30123456\",\n \"telefono\": \"+5491112345678\",\n \"nombre_apellido\": \"Usuario Demo\",\n \"email\": \"{{user_email}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Prepare Item Editing Purchase",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/compras/{compra}/edit-items`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@prepareItemEditing`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/edit-items",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"edit-items"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Item Quantity Purchase",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/tenants/{tenant:codigo}/compras/{compra}/items/{item}`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@updateItemQuantity`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/items/{{purchase_item_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"items",
"{{purchase_item_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"quantity\": 2\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create Payment Intent Purchase",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/compras/{compra}/payment-intent`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@paymentIntent`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/payment-intent",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"payment-intent"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"method\": \"transfer\",\n \"transfer_payer_dni\": \"30123456\"\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Submit for Review Purchase",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/compras/{compra}/review`\n\nControlador: `App\\Domains\\Purchase\\Controllers\\PurchaseController@submitForReview`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/compras/{{purchase_id}}/review",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"compras",
"{{purchase_id}}",
"review"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Ticket",
"item": [
{
"name": "List Ticket",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant:codigo}/tickets`\n\nControlador: `App\\Domains\\Ticket\\Controllers\\TicketController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/tickets",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"tickets"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Download PDF Ticket",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants/{tenant:codigo}/tickets/pdf`\n\nControlador: `App\\Domains\\Ticket\\Controllers\\TicketController@downloadPdf`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_code}}/tickets/pdf",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_code}}",
"tickets",
"pdf"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"ticket_ids\": [\n 1\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{token}}",
"type": "string"
}
]
}
},
"response": []
}
]
}
]
},
{
"name": "Platform Management",
"description": "CRUD y configuración de tenants, clientes, menús e integraciones.",
"item": [
{
"name": "Client",
"item": [
{
"name": "List Client",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/clients`\n\nControlador: `App\\Domains\\Client\\Controllers\\ClientController@index`",
"url": {
"raw": "{{base_url}}/api/clients",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients"
]
}
},
"response": []
},
{
"name": "Create Client",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/clients`\n\nControlador: `App\\Domains\\Client\\Controllers\\ClientController@store`",
"url": {
"raw": "{{base_url}}/api/clients",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"code\": \"cliente-demo\",\n \"name\": \"Cliente Demo\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Get Client",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/clients/{client}`\n\nControlador: `App\\Domains\\Client\\Controllers\\ClientController@show`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}"
]
}
},
"response": []
},
{
"name": "Update Client (PUT)",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/clients/{client}`\n\nControlador: `App\\Domains\\Client\\Controllers\\ClientController@update`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"code\": \"cliente-demo\",\n \"name\": \"Cliente Demo Actualizado\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Update Client (PATCH)",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/clients/{client}`\n\nControlador: `App\\Domains\\Client\\Controllers\\ClientController@update`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Cliente Demo Actualizado\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Delete Client",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/clients/{client}`\n\nControlador: `App\\Domains\\Client\\Controllers\\ClientController@destroy`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}"
]
}
},
"response": []
}
]
},
{
"name": "Integration",
"item": [
{
"name": "List Client Integration",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/clients/{client}/integrations`\n\nControlador: `App\\Domains\\Integration\\Controllers\\ClientIntegrationController@index`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}/integrations",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}",
"integrations"
]
}
},
"response": []
},
{
"name": "Get Client Integration",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/clients/{client}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\ClientIntegrationController@show`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}/integrations/{{integration_code}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}",
"integrations",
"{{integration_code}}"
]
}
},
"response": []
},
{
"name": "Create Client Integration",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/clients/{client}/integrations/{integration_code}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\ClientIntegrationController@store`",
"url": {
"raw": "{{base_url}}/api/clients/{{client_id}}/integrations/{{integration_code}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"clients",
"{{client_id}}",
"integrations",
"{{integration_code}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"integration_data\": {\n \"api_key\": \"replace-me\"\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "List Integration",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/integrations`\n\nControlador: `App\\Domains\\Integration\\Controllers\\IntegrationController@index`",
"url": {
"raw": "{{base_url}}/api/integrations",
"host": [
"{{base_url}}"
],
"path": [
"api",
"integrations"
]
}
},
"response": []
},
{
"name": "Create Integration",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/integrations`\n\nControlador: `App\\Domains\\Integration\\Controllers\\IntegrationController@store`",
"url": {
"raw": "{{base_url}}/api/integrations",
"host": [
"{{base_url}}"
],
"path": [
"api",
"integrations"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"integration_code\": \"telepagos\",\n \"name\": \"Telepagos\",\n \"url\": \"https://api.example.com\",\n \"integration_data_schema\": {\n \"api_key\": [\n \"required\",\n \"string\"\n ]\n },\n \"requires_client_configuration\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Get Integration",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/integrations/{integration}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\IntegrationController@show`",
"url": {
"raw": "{{base_url}}/api/integrations/{{integration_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"integrations",
"{{integration_id}}"
]
}
},
"response": []
},
{
"name": "Update Integration",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/integrations/{integration}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\IntegrationController@update`",
"url": {
"raw": "{{base_url}}/api/integrations/{{integration_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"integrations",
"{{integration_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"name\": \"Telepagos\",\n \"url\": \"https://api.example.com\",\n \"requires_client_configuration\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Delete Integration",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/integrations/{integration}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\IntegrationController@destroy`",
"url": {
"raw": "{{base_url}}/api/integrations/{{integration_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"integrations",
"{{integration_id}}"
]
}
},
"response": []
}
]
},
{
"name": "Menu",
"item": [
{
"name": "List Menu",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/menues`\n\nControlador: `App\\Domains\\Menu\\Controllers\\MenuController@index`",
"url": {
"raw": "{{base_url}}/api/menues",
"host": [
"{{base_url}}"
],
"path": [
"api",
"menues"
]
}
},
"response": []
},
{
"name": "Create Menu",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/menues`\n\nControlador: `App\\Domains\\Menu\\Controllers\\MenuController@store`",
"url": {
"raw": "{{base_url}}/api/menues",
"host": [
"{{base_url}}"
],
"path": [
"api",
"menues"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"code\": \"demo\",\n \"label\": \"Demo\",\n \"parent_menu_code\": null,\n \"content_type\": \"static\",\n \"static_content_schema\": {\n \"title\": [\n \"required\",\n \"string\"\n ]\n },\n \"route\": \"/demo\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Get Menu",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/menues/{menue}`\n\nControlador: `App\\Domains\\Menu\\Controllers\\MenuController@show`",
"url": {
"raw": "{{base_url}}/api/menues/{{menu_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"menues",
"{{menu_id}}"
]
}
},
"response": []
},
{
"name": "Update Menu (PUT)",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/menues/{menue}`\n\nControlador: `App\\Domains\\Menu\\Controllers\\MenuController@update`",
"url": {
"raw": "{{base_url}}/api/menues/{{menu_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"menues",
"{{menu_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"label\": \"Demo actualizado\",\n \"route\": \"/demo\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Update Menu (PATCH)",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/menues/{menue}`\n\nControlador: `App\\Domains\\Menu\\Controllers\\MenuController@update`",
"url": {
"raw": "{{base_url}}/api/menues/{{menu_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"menues",
"{{menu_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"label\": \"Demo actualizado\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Delete Menu",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/menues/{menue}`\n\nControlador: `App\\Domains\\Menu\\Controllers\\MenuController@destroy`",
"url": {
"raw": "{{base_url}}/api/menues/{{menu_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"menues",
"{{menu_id}}"
]
}
},
"response": []
},
{
"name": "Create Tenant Menu",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/{tenant_code}/menues/{menu_code}`\n\nControlador: `App\\Domains\\Menu\\Controllers\\TenantMenuController@store`",
"url": {
"raw": "{{base_url}}/api/{{tenant_code}}/menues/{{menu_code}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"{{tenant_code}}",
"menues",
"{{menu_code}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"static_content\": {\n \"title\": \"Contenido demo\"\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
}
]
},
{
"name": "Tenant",
"item": [
{
"name": "List Tenant",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\TenantController@index`",
"url": {
"raw": "{{base_url}}/api/tenants",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants"
]
}
},
"response": []
},
{
"name": "Create Tenant",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/tenants`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\TenantController@store`",
"url": {
"raw": "{{base_url}}/api/tenants",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"client_id\": {{client_id}},\n \"codigo\": \"{{tenant_code}}\",\n \"nombre\": \"Tenant Demo\",\n \"dominio\": \"{{tenant_domain}}\",\n \"site_title\": \"ShopIt Demo\",\n \"primary_color\": \"#111827\",\n \"secondary_color\": \"#2563EB\",\n \"danger_color\": \"#DC2626\",\n \"success_color\": \"#16A34A\",\n \"header_bg_color\": \"#FFFFFF\",\n \"footer_bg_color\": \"#111827\",\n \"header_logo\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\",\n \"footer_logo\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==\",\n \"search_product_layout\": \"column_with_image\",\n \"search_group_layout\": \"paginated\",\n \"search_items_per_page\": 12,\n \"display_categories\": true,\n \"display_seach_bar\": true,\n \"display_cart\": true,\n \"cart_editing_policy\": \"full\",\n \"website_type_code\": \"shopit\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Get Tenant",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/tenants/{tenant}`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\TenantController@show`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_id}}"
]
}
},
"response": []
},
{
"name": "Update Tenant (PUT)",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/tenants/{tenant}`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\TenantController@update`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"nombre\": \"Tenant Demo Actualizado\",\n \"site_title\": \"ShopIt Demo\",\n \"primary_color\": \"#111827\",\n \"cart_editing_policy\": \"full\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Update Tenant (PATCH)",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/tenants/{tenant}`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\TenantController@update`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"nombre\": \"Tenant Demo Actualizado\",\n \"site_title\": \"ShopIt Demo\",\n \"primary_color\": \"#111827\",\n \"cart_editing_policy\": \"full\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Delete Tenant",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/tenants/{tenant}`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\TenantController@destroy`",
"url": {
"raw": "{{base_url}}/api/tenants/{{tenant_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"tenants",
"{{tenant_id}}"
]
}
},
"response": []
}
]
}
]
},
{
"name": "Developer Utilities",
"description": "Endpoints de diagnóstico de correo y almacenamiento. No deberían exponerse en producción.",
"item": [
{
"name": "Storage Test",
"item": [
{
"name": "Generate Temporary URL S3 Test",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/storage-test/s3/temporary-url`\n\nControlador: `App\\Domains\\StorageTest\\Controllers\\S3TestController@temporaryUrl`",
"url": {
"raw": "{{base_url}}/api/storage-test/s3/temporary-url?path={{s3_path}}&expires_in_minutes=60",
"host": [
"{{base_url}}"
],
"path": [
"api",
"storage-test",
"s3",
"temporary-url"
],
"query": [
{
"key": "path",
"value": "{{s3_path}}"
},
{
"key": "expires_in_minutes",
"value": "60"
}
]
}
},
"response": []
},
{
"name": "Create S3 Test",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/storage-test/s3/upload`\n\nControlador: `App\\Domains\\StorageTest\\Controllers\\S3TestController@store`",
"url": {
"raw": "{{base_url}}/api/storage-test/s3/upload",
"host": [
"{{base_url}}"
],
"path": [
"api",
"storage-test",
"s3",
"upload"
]
},
"body": {
"mode": "formdata",
"formdata": [
{
"key": "path",
"value": "postman/test-file.png",
"type": "text"
},
{
"key": "expires_in_minutes",
"value": "60",
"type": "text"
},
{
"key": "file",
"type": "file",
"src": []
}
]
}
},
"response": []
}
]
},
{
"name": "Mail Test",
"item": [
{
"name": "Mail Test",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/{tenant_code}/mail-test/send`\n\nControlador: `App\\Domains\\MailTest\\Controllers\\MailTestController`",
"url": {
"raw": "{{base_url}}/api/{{tenant_code}}/mail-test/send",
"host": [
"{{base_url}}"
],
"path": [
"api",
"{{tenant_code}}",
"mail-test",
"send"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"to\": \"destinatario@example.com\",\n \"subject\": \"Prueba ShopIt\",\n \"message\": \"Correo de prueba enviado desde Postman.\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
}
]
}
]
},
{
"name": "Admin App API",
"description": "Operaciones de administración del tenant. Ejecutá Login primero para completar `admin_token`.",
"item": [
{
"name": "Bootstrap",
"item": [
{
"name": "Admin App Bootstrap",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/bootstrap/{dominio}`\n\nControlador: `App\\Domains\\Bootstrap\\Controllers\\AdminAppBootstrapController`",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/bootstrap/{{tenant_domain}}?path=/",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"bootstrap",
"{{tenant_domain}}"
],
"query": [
{
"key": "path",
"value": "/"
}
]
}
},
"response": []
}
]
},
{
"name": "Forms",
"item": [
{
"name": "Event Form",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/forms/event`\n\nControlador: `App\\Domains\\Forms\\Controllers\\AdminApp\\EventFormController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/forms/event",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"forms",
"event"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Food Form",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/forms/fiesta-futbol-infantil/food`\n\nControlador: `App\\Domains\\Forms\\Controllers\\AdminApp\\FoodFormController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/forms/fiesta-futbol-infantil/food",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"forms",
"fiesta-futbol-infantil",
"food"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Merchandise Form",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/forms/fiesta-futbol-infantil/merchandise`\n\nControlador: `App\\Domains\\Forms\\Controllers\\AdminApp\\MerchandiseFormController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/forms/fiesta-futbol-infantil/merchandise",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"forms",
"fiesta-futbol-infantil",
"merchandise"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Sale Form",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/forms/sale`\n\nControlador: `App\\Domains\\Forms\\Controllers\\AdminApp\\SaleFormController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/forms/sale",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"forms",
"sale"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Staff Form",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/forms/staff`\n\nControlador: `App\\Domains\\Forms\\Controllers\\AdminApp\\StaffFormController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/forms/staff",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"forms",
"staff"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Auth",
"item": [
{
"name": "Admin App Login",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/login`\n\nControlador: `App\\Domains\\Auth\\Controllers\\AdminAppLoginController`",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/login",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"login"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{admin_email}}\",\n \"password\": \"{{admin_password}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": [],
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"if (pm.response.code >= 200 && pm.response.code < 300) {",
" const payload = pm.response.json();",
" if (payload.token) pm.collectionVariables.set('admin_token', payload.token);",
"}"
]
}
}
]
},
{
"name": "Admin App Me",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/me`\n\nControlador: `App\\Domains\\Auth\\Controllers\\AdminAppMeController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/me",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"me"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Reset Password",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/password/reset`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ResetPasswordController`",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/password/reset",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"password",
"reset"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{admin_email}}\",\n \"codigo\": \"{{reset_code}}\",\n \"password\": \"{{admin_password}}\",\n \"password_confirmation\": \"{{admin_password}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Create Admin App Reset Password Attempt",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/password/reset-attempts`\n\nControlador: `App\\Domains\\Auth\\Controllers\\CreateAdminAppResetPasswordAttemptController`",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/password/reset-attempts",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"password",
"reset-attempts"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{admin_email}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Validate Reset Password Attempt",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/password/reset-attempts/validate`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ValidateResetPasswordAttemptController`",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/password/reset-attempts/validate",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"password",
"reset-attempts",
"validate"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{admin_email}}\",\n \"codigo\": \"{{reset_code}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
}
]
},
{
"name": "Fiesta Futbol Infantil",
"item": [
{
"name": "List Accommodation",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/accommodations`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\AccommodationController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/accommodations",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"accommodations"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create Accommodation",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/accommodations`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\AccommodationController@store`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/accommodations",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"accommodations"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"variants\": [\n {\n \"title\": \"Habitación doble\",\n \"description\": \"Dos personas\",\n \"stock\": 10,\n \"price\": 100000\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Delete Accommodation",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/v1/adminapp/tenant/accommodations/{accommodation}`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\AccommodationController@destroy`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/accommodations/{{accommodation_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"accommodations",
"{{accommodation_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "List Entry",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/entries`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\EntryController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/entries",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"entries"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create Entry",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/entries`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\EntryController@store`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/entries",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"entries"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"entries\": [\n {\n \"title\": \"Entrada general\",\n \"description\": \"Acceso general\",\n \"event_date_ids\": [\n 1\n ],\n \"stock\": 100,\n \"price\": 25000\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Delete Entry",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/v1/adminapp/tenant/entries/{entry}`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\EntryController@destroy`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/entries/{{entry_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"entries",
"{{entry_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "List Food",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/foods`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\FoodController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/foods",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"foods"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create Food",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/foods`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\FoodController@store`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/foods",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"foods"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"variants\": [\n {\n \"event_date_id\": 1,\n \"schedule\": \"21:00\",\n \"service\": \"Cena\",\n \"description\": \"Menú completo\",\n \"stock\": 100,\n \"price\": 15000\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Delete Food",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/v1/adminapp/tenant/foods/{food}`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\FoodController@destroy`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/foods/{{food_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"foods",
"{{food_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "List Merchandise",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/merchandise`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\MerchandiseController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/merchandise",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"merchandise"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create Merchandise",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/merchandise`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\MerchandiseController@store`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/merchandise",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"merchandise"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"items\": [\n {\n \"title\": \"Camiseta\",\n \"description\": \"Camiseta oficial\",\n \"max_units_per_user\": 2,\n \"variants\": [\n {\n \"color\": \"Azul\",\n \"size\": \"M\",\n \"stock\": 20,\n \"price\": 30000\n }\n ]\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Delete Merchandise",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/v1/adminapp/tenant/merchandise/{merchandise}`\n\nControlador: `App\\Domains\\FiestaFutbolInfantil\\Controllers\\MerchandiseController@destroy`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/merchandise/{{merchandise_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"merchandise",
"{{merchandise_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Desfile",
"item": [
{
"name": "Get Entry",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/desfile/entries`\n\nControlador: `App\\Domains\\Desfile\\Controllers\\EntryController@show`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/desfile/entries",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"desfile",
"entries"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Entry",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/v1/adminapp/tenant/desfile/entries`\n\nControlador: `App\\Domains\\Desfile\\Controllers\\EntryController@update`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/desfile/entries",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"desfile",
"entries"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"rows\": [\n {\n \"type\": \"General\",\n \"sector\": \"A\",\n \"row\": 1,\n \"max_seat\": 20,\n \"price\": 25000\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Replace Image Entry",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/desfile/entries/image`\n\nControlador: `App\\Domains\\Desfile\\Controllers\\EntryController@replaceImage`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/desfile/entries/image",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"desfile",
"entries",
"image"
]
},
"body": {
"mode": "formdata",
"formdata": [
{
"key": "is_enabled",
"value": "1",
"type": "text"
},
{
"key": "image",
"type": "file",
"src": []
}
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Image Entry",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/v1/adminapp/tenant/desfile/entries/image`\n\nControlador: `App\\Domains\\Desfile\\Controllers\\EntryController@updateImage`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/desfile/entries/image",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"desfile",
"entries",
"image"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"is_enabled\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Delete Image Entry",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/v1/adminapp/tenant/desfile/entries/image`\n\nControlador: `App\\Domains\\Desfile\\Controllers\\EntryController@destroyImage`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/desfile/entries/image",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"desfile",
"entries",
"image"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Event",
"item": [
{
"name": "Get Event",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/event`\n\nControlador: `App\\Domains\\Event\\Controllers\\AdminApp\\EventController@show`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/event",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"event"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Event",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/v1/adminapp/tenant/event`\n\nControlador: `App\\Domains\\Event\\Controllers\\AdminApp\\EventController@update`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/event",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"event"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"title\": \"Evento Demo\",\n \"location\": \"Buenos Aires\",\n \"dates\": [\n {\n \"date\": \"2026-12-01\",\n \"start_time\": \"18:00\",\n \"end_time\": \"23:00\"\n }\n ],\n \"social_media\": [\n {\n \"code\": \"instagram\",\n \"url\": \"https://instagram.com/example\",\n \"orden\": 0\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Catalog",
"item": [
{
"name": "List On Ticket Featured Group",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/featured-groups`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\AdminApp\\OnTicketFeaturedGroupController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/featured-groups",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"featured-groups"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create On Ticket Featured Group",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/featured-groups`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\AdminApp\\OnTicketFeaturedGroupController@store`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/featured-groups",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"featured-groups"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"category_name\": \"Destacados\",\n \"is_featured\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update On Ticket Featured Group",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/v1/adminapp/tenant/featured-groups/{featuredGroup}`\n\nControlador: `App\\Domains\\Catalog\\Controllers\\AdminApp\\OnTicketFeaturedGroupController@update`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/featured-groups/{{featured_group_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"featured-groups",
"{{featured_group_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"category_name\": \"Destacados\",\n \"is_featured\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Sale",
"item": [
{
"name": "List Sale",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/sales`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales?sort_by=date&sort_direction=desc&page=1&per_page=20",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales"
],
"query": [
{
"key": "q",
"value": "",
"disabled": true
},
{
"key": "status",
"value": "confirmed",
"disabled": true
},
{
"key": "sale_date",
"value": "2026-12-01",
"disabled": true
},
{
"key": "sort_by",
"value": "date"
},
{
"key": "sort_direction",
"value": "desc"
},
{
"key": "page",
"value": "1"
},
{
"key": "per_page",
"value": "20"
}
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "List Modifications Sale",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/sales/modifications`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@modifications`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/modifications",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"modifications"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Download Modifications PDF Sale",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/sales/modifications/pdf`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@downloadModificationsPdf`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/modifications/pdf",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"modifications",
"pdf"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Download PDF Sale",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/sales/pdf`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@downloadPdf`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/pdf?sort_by=date&sort_direction=desc&page=1&per_page=20",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"pdf"
],
"query": [
{
"key": "q",
"value": "",
"disabled": true
},
{
"key": "status",
"value": "confirmed",
"disabled": true
},
{
"key": "sale_date",
"value": "2026-12-01",
"disabled": true
},
{
"key": "sort_by",
"value": "date"
},
{
"key": "sort_direction",
"value": "desc"
},
{
"key": "page",
"value": "1"
},
{
"key": "per_page",
"value": "20"
}
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Get Sale",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/sales/{sale}`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@show`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/{{sale_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"{{sale_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Cancel Sale",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/sales/{sale}/cancel`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@cancel`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/{{sale_id}}/cancel",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"{{sale_id}}",
"cancel"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Confirm Sale",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/sales/{sale}/confirm`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@confirm`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/{{sale_id}}/confirm",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"{{sale_id}}",
"confirm"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "List Tickets Sale",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/sales/{sale}/tickets`\n\nControlador: `App\\Domains\\Sale\\Controllers\\AdminApp\\SaleController@tickets`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/sales/{{sale_id}}/tickets",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"sales",
"{{sale_id}}",
"tickets"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Staff",
"item": [
{
"name": "List Admin App Staff",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/staff`\n\nControlador: `App\\Domains\\Staff\\Controllers\\AdminAppStaffController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/staff",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"staff"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Create Admin App Staff",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/adminapp/tenant/staff`\n\nControlador: `App\\Domains\\Staff\\Controllers\\AdminAppStaffController@store`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/staff",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"staff"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"nombre_apellido\": \"Operador Demo\",\n \"dni\": \"30123456\",\n \"email\": \"operador@example.com\",\n \"category_ids\": [\n 1\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Admin App Staff (PUT)",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/v1/adminapp/tenant/staff/{staff}`\n\nControlador: `App\\Domains\\Staff\\Controllers\\AdminAppStaffController@update`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/staff/{{staff_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"staff",
"{{staff_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"nombre_apellido\": \"Operador Demo\",\n \"dni\": \"30123456\",\n \"email\": \"operador@example.com\",\n \"category_ids\": [\n 1\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Admin App Staff (PATCH)",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/v1/adminapp/tenant/staff/{staff}`\n\nControlador: `App\\Domains\\Staff\\Controllers\\AdminAppStaffController@update`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/staff/{{staff_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"staff",
"{{staff_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"nombre_apellido\": \"Operador Demo\",\n \"dni\": \"30123456\",\n \"email\": \"operador@example.com\",\n \"category_ids\": [\n 1\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Delete Admin App Staff",
"request": {
"method": "DELETE",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `DELETE /api/v1/adminapp/tenant/staff/{staff}`\n\nControlador: `App\\Domains\\Staff\\Controllers\\AdminAppStaffController@destroy`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/staff/{{staff_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"staff",
"{{staff_id}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
},
{
"name": "Tenant",
"item": [
{
"name": "Get Website Extra",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/website-extras`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\AdminApp\\WebsiteExtraController@show`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/website-extras",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"website-extras"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Get Extra Website Extra",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/adminapp/tenant/website-extras/{websiteExtraCode}`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\AdminApp\\WebsiteExtraController@showExtra`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/website-extras/{{website_extra_code}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"website-extras",
"{{website_extra_code}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Update Website Extra",
"request": {
"method": "PUT",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PUT /api/v1/adminapp/tenant/website-extras/{websiteExtraCode}`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\AdminApp\\WebsiteExtraController@update`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/website-extras/{{website_extra_code}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"website-extras",
"{{website_extra_code}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"enabled\": true,\n \"content\": {\n \"title\": \"Contenido demo\"\n }\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Toggle Website Extra",
"request": {
"method": "PATCH",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `PATCH /api/v1/adminapp/tenant/website-extras/{websiteExtraCode}/toggle`\n\nControlador: `App\\Domains\\Tenant\\Controllers\\AdminApp\\WebsiteExtraController@toggle`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/adminapp/tenant/website-extras/{{website_extra_code}}/toggle",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"adminapp",
"tenant",
"website-extras",
"{{website_extra_code}}",
"toggle"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"enabled\": true\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{admin_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
}
]
},
{
"name": "Scanner API",
"description": "Operaciones de la aplicación de escaneo. Ejecutá Login primero para completar `scanner_token`.",
"item": [
{
"name": "Bootstrap",
"item": [
{
"name": "Scanner Bootstrap",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/scanner/bootstrap/{dominio}`\n\nControlador: `App\\Domains\\Bootstrap\\Controllers\\ScannerBootstrapController`",
"url": {
"raw": "{{base_url}}/api/v1/scanner/bootstrap/{{tenant_domain}}?path=/",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"bootstrap",
"{{tenant_domain}}"
],
"query": [
{
"key": "path",
"value": "/"
}
]
}
},
"response": []
}
]
},
{
"name": "Auth",
"item": [
{
"name": "Scanner Login",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/scanner/login`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ScannerLoginController`",
"url": {
"raw": "{{base_url}}/api/v1/scanner/login",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"login"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{scanner_email}}\",\n \"password\": \"{{scanner_password}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": [],
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"if (pm.response.code >= 200 && pm.response.code < 300) {",
" const payload = pm.response.json();",
" if (payload.token) pm.collectionVariables.set('scanner_token', payload.token);",
"}"
]
}
}
]
},
{
"name": "Scanner Me",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/scanner/me`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ScannerMeController`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/scanner/me",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"me"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{scanner_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Reset Password",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/scanner/password/reset`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ResetPasswordController`",
"url": {
"raw": "{{base_url}}/api/v1/scanner/password/reset",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"password",
"reset"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{scanner_email}}\",\n \"codigo\": \"{{reset_code}}\",\n \"password\": \"{{scanner_password}}\",\n \"password_confirmation\": \"{{scanner_password}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Create Scanner Reset Password Attempt",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/scanner/password/reset-attempts`\n\nControlador: `App\\Domains\\Auth\\Controllers\\CreateScannerResetPasswordAttemptController`",
"url": {
"raw": "{{base_url}}/api/v1/scanner/password/reset-attempts",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"password",
"reset-attempts"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{scanner_email}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
},
{
"name": "Validate Reset Password Attempt",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/scanner/password/reset-attempts/validate`\n\nControlador: `App\\Domains\\Auth\\Controllers\\ValidateResetPasswordAttemptController`",
"url": {
"raw": "{{base_url}}/api/v1/scanner/password/reset-attempts/validate",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"password",
"reset-attempts",
"validate"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"{{scanner_email}}\",\n \"codigo\": \"{{reset_code}}\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
}
]
},
{
"name": "Ticket",
"item": [
{
"name": "List Ticket",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/scanner/tickets`\n\nControlador: `App\\Domains\\Ticket\\Controllers\\Scanner\\TicketController@index`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/scanner/tickets?page=1&per_page=20",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"tickets"
],
"query": [
{
"key": "q",
"value": "",
"disabled": true
},
{
"key": "page",
"value": "1"
},
{
"key": "per_page",
"value": "20"
}
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{scanner_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Get Ticket",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `GET /api/v1/scanner/tickets/{ticketUuid}`\n\nControlador: `App\\Domains\\Ticket\\Controllers\\Scanner\\TicketController@show`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/scanner/tickets/{{ticket_uuid}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"tickets",
"{{ticket_uuid}}"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{scanner_token}}",
"type": "string"
}
]
}
},
"response": []
},
{
"name": "Scan Ticket",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/v1/scanner/tickets/{ticketUuid}/scan`\n\nControlador: `App\\Domains\\Ticket\\Controllers\\Scanner\\TicketController@scan`\n\nRequiere autenticación Sanctum.",
"url": {
"raw": "{{base_url}}/api/v1/scanner/tickets/{{ticket_uuid}}/scan",
"host": [
"{{base_url}}"
],
"path": [
"api",
"v1",
"scanner",
"tickets",
"{{ticket_uuid}}",
"scan"
]
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{scanner_token}}",
"type": "string"
}
]
}
},
"response": []
}
]
}
]
},
{
"name": "Webhooks",
"description": "Entradas públicas para notificaciones de proveedores externos.",
"item": [
{
"name": "Integration",
"item": [
{
"name": "Receive Telepagos Webhook",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"description": "Ruta Laravel: `POST /api/webhooks/telepagos/{client}`\n\nControlador: `App\\Domains\\Integration\\Controllers\\TelepagosWebhookController@handle`",
"url": {
"raw": "{{base_url}}/api/webhooks/telepagos/{{client_id}}",
"host": [
"{{base_url}}"
],
"path": [
"api",
"webhooks",
"telepagos",
"{{client_id}}"
]
},
"body": {
"mode": "raw",
"raw": "{\n \"id\": \"payment-id-demo\"\n}",
"options": {
"raw": {
"language": "json"
}
}
}
},
"response": []
}
]
}
]
}
],
"variable": [
{
"key": "base_url",
"value": "http://localhost:8000",
"type": "string"
},
{
"key": "token",
"value": "",
"type": "string"
},
{
"key": "admin_token",
"value": "",
"type": "string"
},
{
"key": "scanner_token",
"value": "",
"type": "string"
},
{
"key": "user_email",
"value": "usuario@example.com",
"type": "string"
},
{
"key": "user_password",
"value": "Password!123",
"type": "string"
},
{
"key": "admin_email",
"value": "admin@example.com",
"type": "string"
},
{
"key": "admin_password",
"value": "Password!123",
"type": "string"
},
{
"key": "scanner_email",
"value": "scanner@example.com",
"type": "string"
},
{
"key": "scanner_password",
"value": "Password!123",
"type": "string"
},
{
"key": "tenant_code",
"value": "demo",
"type": "string"
},
{
"key": "tenant_id",
"value": "1",
"type": "string"
},
{
"key": "tenant_domain",
"value": "demo.test",
"type": "string"
},
{
"key": "client_id",
"value": "1",
"type": "string"
},
{
"key": "integration_id",
"value": "1",
"type": "string"
},
{
"key": "integration_code",
"value": "telepagos",
"type": "string"
},
{
"key": "menu_id",
"value": "1",
"type": "string"
},
{
"key": "menu_code",
"value": "demo",
"type": "string"
},
{
"key": "catalog_item_id",
"value": "1",
"type": "string"
},
{
"key": "variant_id",
"value": "1",
"type": "string"
},
{
"key": "category_id",
"value": "1",
"type": "string"
},
{
"key": "featured_group_id",
"value": "1",
"type": "string"
},
{
"key": "cart_id",
"value": "1",
"type": "string"
},
{
"key": "cart_item_id",
"value": "1",
"type": "string"
},
{
"key": "purchase_id",
"value": "1",
"type": "string"
},
{
"key": "purchase_item_id",
"value": "1",
"type": "string"
},
{
"key": "sale_id",
"value": "1",
"type": "string"
},
{
"key": "staff_id",
"value": "1",
"type": "string"
},
{
"key": "website_extra_code",
"value": "hero",
"type": "string"
},
{
"key": "accommodation_id",
"value": "1",
"type": "string"
},
{
"key": "entry_id",
"value": "1",
"type": "string"
},
{
"key": "food_id",
"value": "1",
"type": "string"
},
{
"key": "merchandise_id",
"value": "1",
"type": "string"
},
{
"key": "ticket_uuid",
"value": "00000000-0000-0000-0000-000000000000",
"type": "string"
},
{
"key": "oauth_code",
"value": "00000000-0000-0000-0000-000000000000",
"type": "string"
},
{
"key": "reset_code",
"value": "1234",
"type": "string"
},
{
"key": "s3_path",
"value": "postman/test-file.png",
"type": "string"
}
]
}