Documentación para integrar con nuestra API de productos. Esta página proporciona información completa sobre el endpoint de sincronización de productos.
Obtén todos los productos del catálogo en formato CSV (según el idioma actual) para integrar en tu sistema.
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"2026 © Tubalu International Trading Todos los derechos reservados
