Products

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