Productos
Los productos son los bienes o servicios que ofreces a tus clientes. Puedes crear productos desde el dashboard de Agotao o utilizando la API.
Crear un producto - /api/v1/product
Creas un nuevo producto.
Encabezados de solicitud
Authorization
- Token único de una empresa válida en Agotao, lo encuentras en tu dashboard. Esto se utiliza para autenticar la solicitud y determinar que el producto le pertenece a la empresa.
Cuerpo de la solicitud
El cuerpo de la solicitud debe ser un objeto JSON con las siguientes propiedades:
name
- El nombre del producto (obligatorio).price
- El precio del producto (obligatorio).image
- La URL de la imagen del producto (obligatorio).metadata
- Un objeto opcional que contiene metadatos adicionales sobre el producto.
Ejemplo:
{
"name": "iPhone 13",
"price": 1099,
"image": "https://example.com/iphone-13.jpg",
"metadata": {
"color": "negro",
"almacenamiento": "256 GB"
}
}
Respuesta
Si la solicitud es exitosa, la API devolverá un objeto JSON con las siguientes propiedades:
- product - Un objeto que contiene información sobre el producto recién creado. Este objeto tiene las siguientes propiedades:
- id - El identificador único del producto.
- name - El nombre del producto.
- price - El precio del producto.
- image - La URL de la imagen del producto.
- metadata - Un objeto que contiene cualquier metadato que se haya incluido en la solicitud.
Ejemplo:
{
"product": {
"id": 1,
"name": "iPhone 13",
"price": 1099,
"image": "https://example.com/iphone-13.jpg"
},
"metadata": {
"color": "negro",
"almacenamiento": "256 GB"
}
}
Respuestas de error
Si se produce un error durante el procesamiento de la solicitud, la API devolverá un objeto JSON con las siguientes propiedades:
- message - Una descripción del error.
- statusCode - El código de estado HTTP asociado con el error.
Ejemplo:
{
"message": "Token inválido",
"statusCode": 401
}
Ejemplo de uso
server.js
const express = require('express');
const fetch = require('node-fetch');
const app = express();
const apiUrl = 'https://api.agotao.com/api/v1/product';
app.use(express.json());
app.post('/products', async (req, res) => {
const token = req.headers.authorization?.replace('Bearer ', '');
const newProduct = req.body;
try {
const response = await fetch(apiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify(newProduct)
});
const data = await response.json();
res.status(response.status).json(data);
} catch (error) {
console.error('Se produjo un error al crear el producto:', error.message);
res.status(500).json({ message: 'Se produjo un error al crear el producto' });
}
});
app.listen(3000, () => {
console.log('Servidor iniciado en el puerto 3000');
});
Last updated on March 11, 2023