Documentación para integrar con nuestra API de productos. Esta página proporciona información completa sobre el endpoint de sincronización de productos.
GET https://www.combatzonetactical.com/api/products/sync-productsEste endpoint devuelve una lista completa de todos los productos disponibles en nuestro sistema, incluyendo sus nombres, descripciones, códigos de referencia, precios y niveles de stock.
La API devuelve un array JSON conteniendo objetos de productos con la siguiente estructura:
[
{
"productName": "Extensión para cargador de gas Raccoon - RCT002",
"productDescription": "",
"referenceCode": "5382",
"msrp": 2.7,
"stock": 0
},
{
"productName": "OF PARACORD BRACELET Cierre Acero BK",
"productDescription": "",
"referenceCode": "5140",
"msrp": 0,
"stock": 57
}
]| Campo | Tipo | Descripción |
|---|---|---|
productName | string | El nombre del producto |
productDescription | string | Descripción detallada del producto (puede estar vacía) |
referenceCode | string | Código de referencia único del producto |
msrp | number | Precio de venta al público sugerido por el fabricante (0 si no está disponible) |
stock | number | Cantidad actual en stock |
Aquí tienes algunos ejemplos de cómo usar este endpoint de la API:
// JavaScript/TypeScript
fetch('https://www.combatzonetactical.com/api/products/sync-products')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
// cURL
curl -X GET "https://www.combatzonetactical.com/api/products/sync-products" \
-H "Content-Type: application/json"POST https://www.combatzonetactical.com/api/cart/addEste endpoint te permite añadir productos al carrito de compras de un cliente. Requiere autenticación y devuelve información detallada sobre el artículo del carrito y el total.
La petición debe incluir los siguientes parámetros:
{
"productId": "5382",
"quantity": 2,
"customerId": "customer123"
}| Campo | Tipo | Descripción |
|---|---|---|
productId | string | El identificador único del producto a añadir al carrito |
quantity | number | La cantidad del producto a añadir (debe ser un entero positivo) |
customerId | string | El identificador único del cliente |
La API devuelve un objeto JSON con la siguiente estructura:
{
"success": true,
"message": "Product added to cart successfully",
"cartItem": {
"id": "cart_item_123",
"productId": "5382",
"quantity": 2,
"price": 5.4,
"total": 10.8
},
"cartTotal": 10.8
}Aquí tienes algunos ejemplos de cómo usar la API de Añadir al Carrito:
// JavaScript/TypeScript
const addToCart = async (productId, quantity, customerId) => {
try {
const response = await fetch('https://www.combatzonetactical.com/api/cart/add', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_TOKEN'
},
body: JSON.stringify({
productId,
quantity,
customerId
})
});
const result = await response.json();
console.log('Product added to cart:', result);
} catch (error) {
console.error('Error adding to cart:', error);
}
};
// cURL
curl -X POST "https://www.combatzonetactical.com/api/cart/add" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"productId": "5382",
"quantity": 2,
"customerId": "customer123"
}'POST https://www.combatzonetactical.com/api/auth/loginEste endpoint autentica usuarios y devuelve un token JWT para acceder a recursos protegidos. El token debe incluirse en las peticiones posteriores a la API.
La petición debe incluir los siguientes parámetros:
{
"email": "customer@example.com",
"password": "your_password"
}| Campo | Tipo | Descripción |
|---|---|---|
email | string | La dirección de correo electrónico del usuario (debe ser un formato de email válido) |
password | string | La contraseña del usuario (mínimo 6 caracteres) |
La API devuelve un objeto JSON con los detalles de autenticación:
{
"success": true,
"message": "Login successful",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "customer123",
"email": "customer@example.com",
"name": "John Doe",
"role": "customer"
},
"expiresIn": 3600
}Aquí tienes algunos ejemplos de cómo usar la API de Autenticación:
// JavaScript/TypeScript
const login = async (email, password) => {
try {
const response = await fetch('https://www.combatzonetactical.com/api/auth/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email,
password
})
});
const result = await response.json();
if (result.success) {
// Store token for future requests
localStorage.setItem('authToken', result.token);
console.log('Login successful:', result.user);
} else {
console.error('Login failed:', result.message);
}
} catch (error) {
console.error('Error during login:', error);
}
};
// cURL
curl -X POST "https://www.combatzonetactical.com/api/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "customer@example.com",
"password": "your_password"
}'GET https://www.combatzonetactical.com/api/cartEste endpoint obtiene el carrito de compras actual del cliente autenticado. Devuelve todos los artículos del carrito con información detallada incluyendo precios, cantidades y totales.
La petición debe incluir el siguiente header para autenticación:
Authorization: Bearer YOUR_JWT_TOKENLa API devuelve un objeto JSON con la información completa del carrito:
{
"success": true,
"cart": {
"id": "cart_123",
"customerId": "customer123",
"items": [
{
"id": "cart_item_123",
"productId": "5382",
"productName": "Extensión para cargador de gas Raccoon - RCT002",
"quantity": 2,
"unitPrice": 2.7,
"totalPrice": 5.4,
"addedAt": "2024-01-15T10:30:00Z"
},
{
"id": "cart_item_124",
"productId": "5140",
"productName": "OF PARACORD BRACELET Cierre Acero BK",
"quantity": 1,
"unitPrice": 0,
"totalPrice": 0,
"addedAt": "2024-01-15T11:15:00Z"
}
],
"subtotal": 5.4,
"taxes": 1.08,
"shipping": 5.0,
"total": 11.48,
"itemCount": 3,
"lastUpdated": "2024-01-15T11:15:00Z"
}
}| Campo | Tipo | Descripción |
|---|---|---|
cart.id | string | Identificador único del carrito de compras |
cart.customerId | string | Identificador único del cliente propietario del carrito |
cart.items | array | Array de artículos del carrito con detalles del producto y cantidades |
cart.subtotal | number | Precio total de todos los artículos antes de impuestos y envío |
cart.total | number | Total final incluyendo impuestos y envío |
Aquí tienes algunos ejemplos de cómo usar la API de Obtener Carrito:
// JavaScript/TypeScript
const getCart = async (token) => {
try {
const response = await fetch('https://www.combatzonetactical.com/api/cart', {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
});
if (response.ok) {
const result = await response.json();
console.log('Cart retrieved:', result.cart);
return result.cart;
} else {
console.error('Failed to get cart:', response.status);
}
} catch (error) {
console.error('Error getting cart:', error);
}
};
// Usage
const token = localStorage.getItem('authToken');
const cart = await getCart(token);
// cURL
curl -X GET "https://www.combatzonetactical.com/api/cart" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json"2025 © Tubalu International Trading Todos los derechos reservados
