🛒

Documentación de la API del cliente

🔌
Acciones totales
6
👤
Tipo de usuario
Cliente

Endpoint de API y autenticación

Todas las llamadas a la API del cliente utilizan un <strong>único endpoint HTTP POST</strong>. Autentíquese con <code>key</code> o <code>apikey</code> (desde la página de clave API de su perfil) más <code>action</code> para seleccionar la operación. La ruta está en la <strong>raíz del sitio</strong> como <code>/api/v2</code> — sin prefijo de idioma (ej. sin <code>/en/</code> antes de <code>/api</code>).

POST
https://accplanet.com/api/v2

Envíe los parámetros como <code>application/x-www-form-urlencoded</code> (ej. <code>curl -d</code>) o como JSON con <code>Content-Type: application/json</code>.

{
  "key": "YOUR_API_KEY",
  "action": "categories"
}

<strong>Nota:</strong> Reemplace <code>YOUR_API_KEY</code> con su propia clave. Nunca coloque claves API en URL, código del lado del cliente o repositorios públicos. Valores de <code>action</code> compatibles: <code>categories</code>, <code>services</code>, <code>inventory</code>, <code>add</code>, <code>status</code>, <code>balance</code>.

Probar API

Elija una acción, ingrese los parámetros requeridos y luego haga clic en <strong>Enviar solicitud</strong> para llamar a la API en vivo. Si ha iniciado sesión con una clave API, se completará a continuación (enmascarada).

API del cliente v2

POST
https://accplanet.com/api/v2

Obtener categorías

Todas las categorías principales y sus nombres de subcategorías (para filtrar la <strong>Lista de servicios</strong>).

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenacategories
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=categories"
Ejemplo de respuesta
{
  "categories": [
    {
      "category": "Social",
      "subcategories": ["Premium", "Standard"]
    },
    {
      "category": "Digital goods",
      "subcategories": []
    }
  ]
}
POST
https://accplanet.com/api/v2

Lista de servicios

Productos (servicios) disponibles con stock. Los filtros opcionales utilizan <strong>nombres de categoría / subcategoría</strong> según lo devuelto por Obtener categorías, o pase <code>service</code> para obtener un producto por ID (<code>business_id</code> o ID de MongoDB). El parámetro <code>language</code> controla la localización de <code>name</code>, <code>description</code>, <code>category</code> y <code>subcategory</code> (ver tabla a continuación). <code>limit=0</code> devuelve todos los elementos en una sola respuesta.

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenaservices
pageNúmeroNúmero de página (predeterminado <code>1</code>) cuando <code>limit</code> &gt; 0No
limitNúmeroElementos por página; <code>0</code> = devolver todos (predeterminado <code>0</code>)No
categoryCadenaNombre de la categoría principal (de Get Categories)No
subcategoryCadenaNombre de la subcategoría (de Get Categories)No
serviceCadenaDevolver solo este id de servicio/producto (mismo id que en los elementos de la lista)No
languageCadenaIdioma de respuesta: use un código de los códigos de idioma admitidos a continuación (predeterminado <code>en</code>)No
Códigos de idioma compatibles (language)

Pase uno de estos valores (sin distinción de mayúsculas/minúsculas para la coincidencia). Si se omite o es <code>en</code>, los campos permanecen en <strong>inglés</strong> (texto fuente almacenado). Cualquier otro código a continuación resuelve traducciones a través de Aitranslator cuando <code>AITRANSLATOR_BASE_URL</code> está configurado; las traducciones faltantes vuelven al inglés hasta que se completen las traducciones en cola.

CódigoIdiomaNombre nativo
en English English
zh Chinese 中文
es Spanish Español
fr French Français
de German Deutsch
ja Japanese 日本語
ko Korean 한국어
pt Portuguese Português
pt-BR Portuguese (Brazil) Português (Brasil)
ru Russian Русский
ar Arabic العربية
hi Hindi हिन्दी
vi Vietnamese Tiếng Việt
ur Urdu اردو
th Thai ไทย
tr Turkish Türkçe
bn-BD Bengali (Bangladesh) বাংলা
También aceptado (alias)

Estas cadenas se normalizan a un código principal arriba (mismo grupo de traducción):

Puedes enviarResuelve a
zh-hans zh
zh-cn zh
zh-sg zh
zh-hant zh
zh-tw zh
zh-hk zh
zh-mo zh
pt-br pt-BR
pt_br pt-BR
ptbr pt-BR
bn-bd bn-BD
bd bn-BD
en-us en
en-gb en

<strong>No compatible:</strong> cualquier otro valor de <code>language</code> se trata como inglés (sin traducción). Use los códigos primarios exactos o alias listados aquí.

Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "page=1" \
  -d "limit=50"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "category=Instagram"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "service=10042" \
  -d "language=zh"
Ejemplo de respuesta

<strong>Predeterminado</strong> (<code>limit</code> omitido o <code>0</code>): todos los servicios en una sola respuesta.

{
  "services": [
    {
      "service": 10042,
      "name": "Example product A",
      "description": "Product description (may be HTML)",
      "type": "Default",
      "category": "Social",
      "subcategory": "Instagram",
      "rate": "9.99",
      "min": 1,
      "max": 100,
      "refill": false,
      "cancel": false,
      "stock": 100,
      "entityType": "product",
      "autoDelivery": true
    }
  ],
  "total": 2,
  "page": 1,
  "limit": 0,
  "total_pages": 1
}

<strong>service</strong> es el <code>business_id</code> numérico del producto cuando está configurado; de lo contrario, el id de MongoDB como cadena. Use el mismo valor para <strong>Check Inventory</strong> y <strong>Add Order</strong>. <strong>category</strong> / <strong>subcategory</strong> coinciden con los nombres de <strong>Get Categories</strong> (deje <code>subcategory</code> vacío cuando el producto está vinculado solo a una categoría de nivel superior). <strong>description</strong> es la descripción completa del producto (puede contener HTML del editor del proveedor).

POST
https://accplanet.com/api/v2

Verificar Inventario

Stock para un servicio (mismo id de <code>service</code> que en la lista de servicios).

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenainventory
serviceCadenaId de servicio/producto de la lista de servicios
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=inventory" \
  -d "service=10042"
Ejemplo de respuesta
{
  "service": 10042,
  "stock": 42,
  "available": true,
  "entityType": "product",
  "autoDelivery": true
}
POST
https://accplanet.com/api/v2

Añadir Pedido

Crea un pedido y paga desde el <strong>saldo de la cuenta</strong>. Se acepta un <code>link</code> opcional por compatibilidad, pero no se almacena en el pedido.

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenaadd
serviceCadenaId de servicio/producto de la lista de servicios
quantityNúmeroCantidad (predeterminado <code>1</code>)No
linkCadenaOpcional (reservado/uso futuro)No
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=10042" \
  -d "quantity=1"
Ejemplo de respuesta

Estado HTTP <code>201 Created</code>.

{
  "order": "000000000000000000000001"
}

El valor <code>order</code> es el <code>ObjectId</code> de MongoDB (cadena). Úselo con <strong>Order Status</strong> (<code>action=status</code>).

POST
https://accplanet.com/api/v2

Estado del pedido

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenastatus
orderCadenaId del pedido devuelto por <code>add</code>
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=status" \
  -d "order=000000000000000000000001"
Ejemplo de respuesta
{
  "status": "In progress",
  "charge": "75.00",
  "start_count": 3,
  "remains": 1,
  "delivered_units": 2,
  "currency": "USD",
  "autoDelivery": true,
  "entityType": "product"
}
{
  "status": "Completed",
  "charge": "50.00",
  "start_count": 2,
  "remains": 0,
  "delivered_units": 2,
  "currency": "USD",
  "autoDelivery": true,
  "entityType": "product",
  "accounts": ["example_user:redacted", "example_user_2:redacted"]
}
POST
https://accplanet.com/api/v2

Saldo

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenabalance
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=balance"
Ejemplo de respuesta
{
  "balance": "100.00",
  "currency": "USD"
}

El saldo es su billetera de <strong>usuario</strong> (usada para compras).

POST
https://accplanet.com/api/v2

Respuestas de error

Los errores usan una sola cadena <code>error</code>. Credenciales API incorrectas o faltantes generalmente devuelven HTTP <code>401</code> con <code>{"error": "Invalid API key"}</code>; problemas de validación suelen devolver <code>400</code>.

{"error": "Invalid API key"}
{"error": "Invalid action"}
{"error": "Service ID is required"}
{"error": "Service not found"}
{"error": "Product not found."}
{"error": "This product is not available for purchase."}
{"error": "Invalid quantity."}
{"error": "Minimum quantity is 2."}
{"error": "Insufficient stock. Available: 10."}
{"error": "Insufficient balance. Please recharge your account."}
{"error": "Order not found"}
{"error": "Category not found"}
{"error": "Subcategory not found"}
{"error": "Subcategory not found in category"}
Telegram