HstockPlus

Guía de la API del Proveedor: Procesamiento de Pedidos Manuales

Sarah JohnsonSarah Johnson
5 de enero de 202619 min de lectura1488 visitas

Requisitos Previos

Antes de comenzar, asegúrate de tener:

  • Una cuenta de proveedor con acceso a la API
  • Tu clave API (puedes generarla desde tu panel de proveedor)
  • Acceso a los endpoints de la API de Administración v2

Paso 1: Obtén Tu Clave API

  1. Inicia sesión en tu panel de proveedor
  2. Navega a Configuración de API (/api-settings)
  3. Haz clic en "Generar Clave API" si no tienes una
  4. Copia tu clave API y mantenla segura

Importante: Tu clave API debe mantenerse en secreto. Nunca la compartas públicamente ni la incluyas en control de versiones.

Paso 2: Obtener Pedidos Manuales

Usa el endpoint GET /api/admin/v2/orders para obtener pedidos manuales pendientes y en proceso.

Solicitud API

curl -X GET "https://your-domain.com/api/admin/v2/orders?status=pending,processing&productType=manual&limit=50&offset=0" \
  -H "X-Api-Key: YOUR_API_KEY"

Parámetros de la Solicitud

  • status (opcional): Filtro de estado del pedido. Admite valores separados por comas: pending,processing
  • productType (requerido para pedidos manuales): Establecer a manual
  • entityType (opcional): Filtrar por product o smm_service
  • subCategory (opcional): Filtrar por nombre de subcategoría
  • limit (opcional): Número de pedidos a devolver (máx. 500, predeterminado 50)
  • offset (opcional): Desplazamiento de paginación (predeterminado 0)

Ejemplo de Respuesta

{
  "orders": [
    {
      "id": 12345,
      "order": 12345,
      "status": "pending",
      "paymentStatus": "completed",
      "quantity": 10,
      "user": {
        "id": "507f1f77bcf86cd799439011",
        "email": "customer@example.com",
        "name": "John Doe"
      },
      "items": [
        {
          "product": {
            "id": "507f1f77bcf86cd799439012",
            "name": "Instagram Followers",
            "type": "product"
          },
          "quantity": 10,
          "unitPrice": 5.00,
          "totalPrice": 50.00
        }
      ],
      "createdAt": "2024-01-01T10:00:00.000Z"
    }
  ],
  "count": 1,
  "total": 1
}

Notas Importantes

  • Solo se devuelven pedidos con paymentStatus: "completed"
  • Los pedidos se filtran para evitar procesamiento duplicado (intervalo de 30 minutos)
  • Solo puedes ver pedidos para productos/servicios que te pertenecen como proveedor

Paso 3: Procesar Pedidos y Enviar Cuentas

Una vez que tengas los pedidos, procésalos y prepara las credenciales de las cuentas. Luego usa el endpoint POST /api/admin/v2/orders-update para enviar las cuentas y actualizar el estado del pedido.

Solicitud API

curl -X POST "https://your-domain.com/api/admin/v2/orders-update" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order": 12345,
    "status": "completed",
    "accounts": [
      "username1:password1",
      "username2:password2",
      "username3:password3"
    ],
    "supplierOrderId": "SUP-ORDER-12345"
  }'

Parámetros del Cuerpo de la Solicitud

  • order (requerido): El ID del pedido (número)
  • status (opcional): Nuevo estado del pedido. Valores válidos: pending, processing, completed, partial, cancelled, error
  • accounts (opcional, para pedidos de productos): Array de credenciales de cuenta en formato "username:password" o "email:password"
  • supplierOrderId (opcional): Tu ID de pedido interno para seguimiento

Formato de Cuenta

Para pedidos de productos, las cuentas deben proporcionarse como un array de cadenas. Cada cadena representa una cuenta:

  • Formato: "username:password" o "email:password"
  • Ejemplo: ["user1:pass123", "user2:pass456"]
  • Cantidad: Proporciona cuentas que coincidan con la cantidad del pedido

Ejemplo de Flujo de Trabajo Completo

Aquí hay un ejemplo completo usando JavaScript/Node.js:

const axios = require('axios');

const API_BASE_URL = 'https://your-domain.com/api/admin/v2';
const API_KEY = 'YOUR_API_KEY';

// Paso 1: Obtener pedidos manuales pendientes y en proceso
async function getOrders() {
  try {
    const response = await axios.get(`${API_BASE_URL}/orders`, {
      params: {
        status: 'pending,processing',
        productType: 'manual',
        limit: 50,
        offset: 0
      },
      headers: {
        'X-Api-Key': API_KEY
      }
    });
    
    return response.data.orders;
  } catch (error) {
    console.error('Error al obtener pedidos:', error.response?.data || error.message);
    throw error;
  }
}

// Paso 2: Procesar pedido y enviar cuentas
async function updateOrder(orderId, accounts, supplierOrderId) {
  try {
    const response = await axios.post(
      `${API_BASE_URL}/orders-update`,
      {
        order: orderId,
        status: 'completed',
        accounts: accounts,
        supplierOrderId: supplierOrderId
      },
      {
        headers: {
          'X-Api-Key': API_KEY,
          'Content-Type': 'application/json'
        }
      }
    );
    
    return response.data;
  } catch (error) {
    console.error('Error al actualizar el pedido:', error.response?.data || error.message);
    throw error;
  }
}

// Flujo de trabajo principal
async function processOrders() {
  try {
    // Obtener pedidos
    const orders = await getOrders();
    console.log(`Se encontraron ${orders.length} pedidos para procesar`);
    
    // Procesar cada pedido
    for (const order of orders) {
      console.log(`Procesando pedido ${order.id}...`);
      
      // Preparar cuentas (aquí es donde obtendrías de tu sistema)
      const accounts = [
        'user1:pass1',
        'user2:pass2',
        // ... más cuentas que coincidan con order.quantity
      ];
      
      // Actualizar pedido con cuentas y marcarlo como completado
      const updatedOrder = await updateOrder(
        order.id,
        accounts,
        `SUP-${order.id}`
      );
      
      console.log(`Pedido ${order.id} completado exitosamente`);
    }
  } catch (error) {
    console.error('Error en el flujo de trabajo:', error);
  }
}

// Ejecutar el flujo de trabajo
processOrders();

Manejo de Errores

Errores Comunes

  1. Clave API Inválida
    {
          "error": "INVALID_API_KEY",
          "message": "Clave API inválida"
        }

    Solución: Verifica que tu clave API sea correcta y esté activa.

  2. Pedido No Encontrado
    {
          "error": "ORDER_NOT_FOUND",
          "message": "Pedido no encontrado"
        }

    Solución: Verifica que el ID del pedido exista y te pertenezca.

  3. Acceso Denegado
    {
          "error": "ACCESS_DENIED",
          "message": "No tienes acceso a este pedido"
        }

    Solución: Asegúrate de que el pedido contenga productos/servicios que te pertenezcan.

  4. Cuentas Inválidas
    {
          "error": "INVALID_ACCOUNTS",
          "message": "No se proporcionaron cuentas válidas después de la deduplicación"
        }

    Solución: Asegúrate de que el array de cuentas no esté vacío y contenga cadenas válidas.

Mejores Prácticas

  1. Frecuencia de Consulta: No consultes con demasiada frecuencia. La API evita el procesamiento duplicado con un intervalo de 30 minutos.
  2. Manejo de Errores: Implementa siempre un manejo de errores adecuado y lógica de reintento.
  3. Validación de Cuentas: Valida las cuentas antes de enviarlas para asegurarte de que estén en el formato correcto.
  4. Seguimiento de Pedidos: Usa supplierOrderId para rastrear pedidos en tu sistema.
  5. Actualizaciones de Estado: Puedes actualizar el estado de forma incremental:
    • Primero configúralo como processing cuando empieces a trabajar en él
    • Luego configúralo como completed cuando las cuentas estén listas
  6. Pedidos Parciales: Si solo puedes completar parte de un pedido, establece el estado como partial y envía las cuentas disponibles.

Resumen

El flujo de trabajo completo es:

  1. Obtener Pedidos: GET /api/admin/v2/orders?status=pending,processing&productType=manual
  2. Procesar Pedidos: Prepara las cuentas para cada pedido
  3. Enviar Cuentas: POST /api/admin/v2/orders-update con las cuentas y status: "completed"

¡Este sencillo proceso de tres pasos te permite automatizar completamente tu flujo de trabajo de cumplimiento de pedidos!

Ambas son guías de documentación central para proveedores. Vincularlas ayuda a los proveedores a navegar desde la configuración del producto hasta el procesamiento de pedidos, creando un flujo de trabajo lógico. guía de gestión de productos.

#API#Supplier#Documentation#Manual Orders#Integration
Sarah Johnson

Sarah Johnson

Digital marketing expert with 10+ years of experience in social media strategy. Passionate about helping businesses grow their online presence through effective marketing techniques.

Artículos Relacionados

Cómo Rastrear Tus Pedidos en HstockPlus

Cómo Rastrear Tus Pedidos en HstockPlus

Rastrea fácilmente tus pedidos en HstockPlus para mantenerte actualizado y garantizar una experiencia de entrega fluida, desde la compra hasta la confirmación.

# Generar un Código 2FA en Línea (Guía del Generador TOTP)

En el mundo digital actual, la seguridad es más importante que nunca. Una de las formas más efectivas de proteger tus cuentas en línea es mediante la autenticación de dos factores (2FA). En esta guía, te explicaré cómo generar un código 2FA en línea utilizando un generador TOTP (Time-based One-Time Password).

## ¿Qué es un código 2FA?

Un código 2FA es un código temporal que se utiliza como segundo factor de autenticación al iniciar sesión en una cuenta. Generalmente, estos códigos tienen una validez de 30 segundos y se generan mediante algoritmos basados en el tiempo (TOTP).

## ¿Cómo funciona un generador TOTP?

El generador TOTP utiliza una clave secreta compartida entre el servidor y tu dispositivo. Esta clave, combinada con la hora actual, genera un código único que cambia cada 30 segundos. Para que funcione correctamente, tanto el servidor como tu dispositivo deben tener la hora sincronizada.

## Pasos para generar un código 2FA en línea

### 1. Elige un generador TOTP confiable

Existen varias opciones para generar códigos 2FA en línea:

- **Aplicaciones móviles**: Google Authenticator, Microsoft Authenticator, Authy
- **Extensiones de navegador**: Authenticator para Chrome, Firefox
- **Servicios web**: Algunos sitios ofrecen generadores TOTP en línea

### 2. Obtén la clave secreta

Cuando configures 2FA en un servicio (como Google, Facebook, o tu banco), te proporcionarán:

- Un código QR para escanear
- Una clave secreta alfanumérica (generalmente de 16 a 32 caracteres)

### 3. Configura tu generador TOTP

- **Si usas una app móvil**: Escanea el código QR o ingresa manualmente la clave secreta
- **Si usas una extensión de navegador**: Sigue las instrucciones para agregar una nueva cuenta
- **Si usas un servicio web**: Ingresa la clave secreta en el campo correspondiente

###

# Generar un Código 2FA en Línea (Guía del Generador TOTP) En el mundo digital actual, la seguridad es más importante que nunca. Una de las formas más efectivas de proteger tus cuentas en línea es mediante la autenticación de dos factores (2FA). En esta guía, te explicaré cómo generar un código 2FA en línea utilizando un generador TOTP (Time-based One-Time Password). ## ¿Qué es un código 2FA? Un código 2FA es un código temporal que se utiliza como segundo factor de autenticación al iniciar sesión en una cuenta. Generalmente, estos códigos tienen una validez de 30 segundos y se generan mediante algoritmos basados en el tiempo (TOTP). ## ¿Cómo funciona un generador TOTP? El generador TOTP utiliza una clave secreta compartida entre el servidor y tu dispositivo. Esta clave, combinada con la hora actual, genera un código único que cambia cada 30 segundos. Para que funcione correctamente, tanto el servidor como tu dispositivo deben tener la hora sincronizada. ## Pasos para generar un código 2FA en línea ### 1. Elige un generador TOTP confiable Existen varias opciones para generar códigos 2FA en línea: - **Aplicaciones móviles**: Google Authenticator, Microsoft Authenticator, Authy - **Extensiones de navegador**: Authenticator para Chrome, Firefox - **Servicios web**: Algunos sitios ofrecen generadores TOTP en línea ### 2. Obtén la clave secreta Cuando configures 2FA en un servicio (como Google, Facebook, o tu banco), te proporcionarán: - Un código QR para escanear - Una clave secreta alfanumérica (generalmente de 16 a 32 caracteres) ### 3. Configura tu generador TOTP - **Si usas una app móvil**: Escanea el código QR o ingresa manualmente la clave secreta - **Si usas una extensión de navegador**: Sigue las instrucciones para agregar una nueva cuenta - **Si usas un servicio web**: Ingresa la clave secreta en el campo correspondiente ###

Genera códigos 2FA en línea al instante usando tu clave secreta con esta herramienta generadora TOTP.

Cómo Realizar un Pedido en HstockPlus

Cómo Realizar un Pedido en HstockPlus

Aprende cómo realizar un pedido en HstockPlus de forma fácil y segura con esta sencilla guía paso a paso.

Métodos de pago admitidos

Supported payment methods