🛒

Documentación de la API del cliente

🔌
Acciones totales
7
👤
Tipo de usuario
Cliente

Endpoint de API y autenticación

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

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

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

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

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

Las solicitudes tienen límite de frecuencia por clave API. Cuando se excede, la API devuelve HTTP 429 con un encabezado Retry-After. Usa paginación en listas grandes de servicios (tamaño de página predeterminado: 50).

Probar API

Elija una acción, ingrese los parámetros requeridos y luego haga clic en Enviar solicitud 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

Devuelve todas las categorías principales y sus nombres de subcategorías. Usa estos nombres exactos para filtrar la Lista de servicios por category y subcategory.

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 Tiendas

Devuelve todas las tiendas de proveedores públicas que tengan al menos un producto activo y aprobado. Cada elemento incluye un identificador de shop (ObjectId del proveedor de 24 caracteres) — pásalo a Lista de servicios como shop para listar productos solo de esa tienda. Los parámetros opcionales page y limit funcionan como en Lista de servicios (tamaño de página predeterminado 50, máximo 500).

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenashops
pageNúmeroNúmero de página (predeterminado 1) cuando limit > 0No
limitNúmeroElementos por página; 0 = devolver todos (predeterminado 0)No
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=shops"
Ejemplo de respuesta
{
  "shops": [
    {
      "shop": "507f1f77bcf86cd799439011",
      "name": "Example Shop",
      "description": "Shop description",
      "logo": "https://example.com/logo.webp",
      "banner": "https://example.com/banner.webp",
      "shopUrl": "example-shop",
      "productCount": 42,
      "featured": true
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 50,
  "total_pages": 1
}
POST
https://accplanet.com/api/v2

Lista de servicios

Returns sellable products (services) with stock, pricing, sales metrics, review stats, timestamps, and an available flag for whether each item can be ordered now (stock meets minimum purchase quantity). Each item includes sales_count, rating, review_count, created_at, and updated_at. Filter by category / subcategory names from Get Categories, by shop from Shops List, or pass service to fetch one item by its service ID (the service value from list responses). Use language to localize name, description, category, and subcategory (see table below). Optional entityType limits the product type; optional sort orders results before pagination. Set limit=0 to return all matching items in one response.

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenaservices
pageNúmeroNúmero de página (predeterminado 1) cuando limit > 0No
limitNúmeroElementos por página; 0 = devolver todos (predeterminado 0)No
shopCadenaID de tienda de Lista de tiendas (campo shop — ObjectId del proveedor de 24 caracteres). Alias: shop_id. Omítelo para devolver productos de todas las tiendas.No
categoryCadenaNombre de la categoría principal (de Get Categories)No
subcategoryCadenaNombre de la subcategoría (de Get Categories)No
entityTypeCadenaFiltro de tipo de producto: product (predeterminado, artículos de catálogo estándar) o smm (servicios de crecimiento social)No
sortCadenaOrden de clasificación: created_at (predeterminado, más reciente primero), price_asc, price_desc, sales, ratingNo
serviceCadenaDevuelve un servicio por ID (mismo valor de service que en las respuestas de la lista)No
languageCadenaIdioma de respuesta: use un código de los códigos de idioma admitidos a continuación (predeterminado en)No
Códigos de idioma compatibles (language)

Pasa uno de estos valores (sin distinción de mayúsculas/minúsculas). Si se omite o es en, los campos de texto permanecen en inglés (el idioma de origen almacenado en el catálogo). Otros códigos compatibles devuelven name, description, category y subcategory traducidos cuando las traducciones están disponibles; de lo contrario, se usa el inglés.

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

No compatible: cualquier otro valor de language 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 "entityType=product" \
  -d "sort=price_asc" \
  -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 "shop=507f1f77bcf86cd799439011"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "service=10042" \
  -d "limit=1" \
  -d "language=zh"

Hot-sync single lookup: use action=services with service (business_id or product_id) and limit=1. Products that exist but are inactive, pending approval, or blacklisted return HTTP 200 with available=false and the actual stock; only missing IDs or deleted products return 404. rate is required; price is an optional alias with the same value.

Ejemplo de respuesta

Predeterminado (limit omitido o 0): 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,
      "available": true,
      "entityType": "product",
      "autoDelivery": true,
      "sales_count": 128,
      "rating": "4.50",
      "review_count": 23,
      "created_at": "2024-03-01T12:00:00",
      "updated_at": "2025-07-10T08:30:00"
    }
  ],
  "total": 2,
  "page": 1,
  "limit": 0,
  "total_pages": 1
}

service — the service identifier in each list item: a numeric catalog ID when assigned, otherwise a system-generated string. Use the same value for Check Inventory (comma-separated for multiple IDs) and Add Order. rate is the unit price you pay for that service (includes any supplier-specific buyer discount configured for your account; otherwise the list price). available — whether the service can be ordered now (sellable and stock meets the minimum purchase quantity). Same meaning as in Check Inventory; wallet balance and coupon codes are still validated when you call Add Order. category / subcategory match names from Get Categories (subcategory is empty when the product belongs to a top-level category only). description may contain rich text or HTML from the product listing. sales_count — total units sold (cumulative). rating — average score from visible reviews (0.00 when there are no reviews). review_count — number of visible reviews. created_at / updated_at — product creation and last update time (ISO 8601).

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

Verificar Inventario

Returns current stock for one or more services. Pass a single service ID, or several IDs comma-separated (e.g. 10054,0665,13541). Use the same service values as in Services List. The available field uses the same rules as in Services List (sellable and stock meets minimum purchase quantity). A single ID returns one object; multiple IDs return an inventory array.

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenainventory
serviceCadenaUno o más IDs de servicio de la lista de servicios, separados por comas (ej. 10054,0665,13541; máximo 50 por solicitud)
Ejemplo de solicitud
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=inventory" \
  -d "service=10054,0665,13541"
Ejemplo de respuesta

Cuando se proporciona un solo ID de service, la respuesta es un objeto (HTTP 404 si no se encuentra):

{
  "service": 10042,
  "stock": 42,
  "available": true,
  "entityType": "product",
  "autoDelivery": true
}

Cuando se proporcionan múltiples IDs separados por comas, la respuesta envuelve los elementos en un arreglo inventory (HTTP 200; los servicios faltantes incluyen un campo error):

{
  "inventory": [
    {
      "service": 10054,
      "stock": 10,
      "available": true,
      "entityType": "product",
      "autoDelivery": true
    },
    {
      "service": 665,
      "stock": 0,
      "available": false,
      "entityType": "product",
      "autoDelivery": true
    },
    {
      "service": 13541,
      "error": "Service not found"
    }
  ]
}
POST
https://accplanet.com/api/v2

Añadir Pedido

Crea un pedido y carga tu saldo de cuenta. Requiere un ID de service válido y quantity.

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenaadd
serviceCadenaID del servicio de la lista de servicios (campo service)
quantityNúmeroCantidad (predeterminado 1)No
linkCadenaCampo URL opcional (aceptado por compatibilidad; no se almacena)No
coupon_code / couponCadenaOptional coupon code (alias: coupon)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 201 Created.

{
  "order": "000000000000000000000001",
  "charge": "9.99",
  "currency": "USD"
}

The order field is the unique order identifier (string). charge is the total amount debited from your wallet (after buyer discount, login discount, and coupon, when applicable). currency is always USD. Pass order to Order Status (action=status).

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

Estado del pedido

Devuelve el progreso del cumplimiento, el estado de entrega y las credenciales entregadas (cuando corresponda) de un pedido que realizaste. Requiere el identificador order de Agregar pedido.

Parámetros de solicitud
ParámetroTipoDescripciónRequerido
key / apikeyCadenaTu clave de API
actionCadenastatus
orderCadenaIdentificador de pedido devuelto por add
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

Devuelve tu saldo actual de la billetera del cliente y la moneda. No se requieren parámetros adicionales más allá de la autenticación.

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"
}

Devuelve el saldo disponible en tu billetera del cliente (usado para pagar pedidos).

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

Respuestas de error

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

{"error": "Invalid API key"}
{"error": "Invalid action"}
{"error": "Service ID is required"}
{"error": "Service not found"}
{"error": "Shop 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