01 · Informations générales
Compatible avec les intégrations SMM classiques
L'intégration la plus simple utilise un seul endpoint et des paramètres de formulaire, comme les panels SMM habituels. Chaque commande débite le wallet du propriétaire de la clé. Les paiements et packs de recharge ne sont jamais exposés par cette API.
https://www.boostcore.tech/api/v2application/x-www-form-urlencodedVotre clé commence par bc_live_. Gardez-la uniquement sur votre serveur. L'API facture et retourne les prix et soldes en crédits BoostCore. Pour consulter le catalogue tarifaire avec les prix en crédits et leur équivalent en USD, connectez-vous à votre espace client, puis ouvrez l'onglet Développeur.
L'accès à l'API ne comporte aucun abonnement supplémentaire. Le compte BoostCore doit toutefois être actif et disposer des crédits nécessaires pour créer une commande.
02 · API SMM
Actions et paramètres
Liste des services services
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API BoostCore |
action | Oui | Valeur exacte : services |
curl -X POST https://www.boostcore.tech/api/v2 \
-d "key=$BOOSTCORE_API_KEY" \
-d "action=services"
[
{
"service": 12,
"name": "Abonnés Facebook mondiaux",
"type": "Default",
"category": "Facebook - Followers",
"rate": "80",
"reference_unit": 1000,
"min": "10",
"max": "900000",
"quantity_step": "1",
"refill": false,
"cancel": true,
"currency": "CREDITS"
}
]
rate représente le nombre de crédits facturés pour reference_unit unités. La quantité doit être comprise entre min et max et respecter quantity_step. Le prix définitif reste toujours recalculé côté serveur lors de la commande.
Besoin d'une lecture commerciale en USD ? Le catalogue visuel des prix en crédits et de leurs équivalents USD est disponible dans l'onglet Développeur de votre espace client connecté. Les appels API et les débits du wallet restent toujours effectués en crédits BoostCore.
Ajouter une commande add
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API |
action | Oui | Valeur exacte : add |
service | Oui | ID numérique reçu par services |
link | Oui | URL publique de la cible |
quantity | Oui | Entier respectant min, max et le service choisi |
idempotency_key | Oui | Identifiant unique de 1 à 128 caractères pour cette intention |
curl -X POST https://www.boostcore.tech/api/v2 \
-d "key=$BOOSTCORE_API_KEY" \
-d "action=add" \
-d "service=12" \
-d "link=https://www.facebook.com/example" \
-d "quantity=100" \
-d "idempotency_key=client-order-000001"
{ "order": 23501 }
runs et interval ne sont pas pris en charge dans la v1. Un paramètre inconnu retourne explicitement Unsupported parameter au lieu d'être ignoré.
Statut d'une commande status
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API |
action | Oui | Valeur exacte : status |
order | Une valeur requise | ID numérique d'une commande |
orders | Alternative | Un à 100 IDs séparés par des virgules |
{
"charge": "8",
"start_count": "0",
"status": "In progress",
"remains": "100",
"currency": "CREDITS"
}
Statut de plusieurs commandes status
Remplacez order par orders, avec jusqu'à 100 IDs séparés par des virgules.
key=...&action=status&orders=1,10,100
{
"1": { "charge": "8", "start_count": "0", "status": "Completed", "remains": "0", "currency": "CREDITS" },
"10": { "error": "Incorrect order ID" }
}
Créer un refill refill
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API |
action | Oui | Valeur exacte : refill |
order | Une valeur requise | ID d'une commande terminée et éligible au refill |
orders | Alternative | Un à 100 IDs séparés par des virgules |
idempotency_key | Oui | Identifiant unique de la demande |
key=...&action=refill&order=23501&idempotency_key=refill-23501-01
{ "refill": 1 }
Créer plusieurs refills refill
Utilisez orders=1,2,3 à la place de order, avec 100 IDs maximum. La clé d'idempotence est dérivée séparément pour chaque commande.
[
{ "order": 1, "refill": 1 },
{ "order": 2, "refill": 2 },
{ "order": 3, "refill": { "error": "Refill is not available" } }
]
Statut des refills refill_status
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API |
action | Oui | Valeur exacte : refill_status |
refill | Une valeur requise | ID numérique d'un refill |
refills | Alternative | Un à 100 IDs séparés par des virgules |
key=...&action=refill_status&refill=1
{ "status": "Completed" }
key=...&action=refill_status&refills=1,2,3
[
{ "refill": 1, "status": "Completed" },
{ "refill": 2, "status": "In progress" },
{ "refill": 3, "status": { "error": "Refill not found" } }
]
Demander une annulation cancel
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API |
action | Oui | Valeur exacte : cancel |
order | Une valeur requise | ID d'une commande |
orders | Alternative | Un à 100 IDs séparés par des virgules |
idempotency_key | Oui | Identifiant unique de la demande |
[
{ "order": 9, "cancel": { "error": "Incorrect order ID" } },
{ "order": 2, "cancel": 1 }
]
cancel: true dans le catalogue signifie que BoostCore accepte une demande d'annulation. La réponse cancel: 1 confirme sa mise en file, pas son acceptation finale par le fournisseur. Suivez ensuite le statut de la commande.
Solde utilisateur balance
| Paramètre | Obligatoire | Description |
|---|---|---|
key | Oui | Votre clé API |
action | Oui | Valeur exacte : balance |
{ "balance": "1607.2", "currency": "CREDITS" }
Ce solde est un solde interne en crédits BoostCore. Les prix correspondants en USD peuvent être consultés après connexion dans le catalogue Développeur de l'espace client.
Codes HTTP et retries
200 indique une action acceptée ou un rejeu idempotent. Les erreurs utilisent { "error": "..." } avec un statut HTTP explicite : 400 requête invalide, 401 clé invalide, 403 permission absente, 409 opération indisponible, 422 données refusées et 429 quota dépassé. Une mutation ne doit être rejouée qu'avec la même idempotency_key.
Exemple PHP complet
<?php
function boostcore(array $params): array {
$curl = curl_init('https://www.boostcore.tech/api/v2');
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_TIMEOUT => 20,
CURLOPT_HTTPHEADER => ['Accept: application/json'],
]);
$body = curl_exec($curl);
if ($body === false) throw new RuntimeException(curl_error($curl));
$status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
curl_close($curl);
$data = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
if ($status >= 400 || isset($data['error'])) {
throw new RuntimeException($data['error'] ?? "HTTP $status");
}
return $data;
}
$services = boostcore([
'key' => getenv('BOOSTCORE_API_KEY'),
'action' => 'services',
]);
03 · REST moderne
Contrat REST versionné
Pour les intégrations qui préfèrent JSON, Bearer auth, références ORD-..., pagination et webhooks administrables, utilisez https://www.boostcore.tech/api/v1.
Les champs de prix, devis, solde, débit et remboursement de l'API REST sont exprimés en crédits BoostCore. Pour voir le catalogue tarifaire en crédits et en USD, connectez-vous à votre espace client et ouvrez l'onglet Développeur.
/servicescatalog:read/quotescatalog:read/balancewallet:read/ordersorders:read/ordersorders:write/orders/{order_ref}orders:read/orders/{order_ref}/cancelcancellations:write/orders/{order_ref}/refillsrefills:write/webhookswebhooks:manageTous les paramètres, schémas et codes HTTP sont définis dans les contrats OpenAPI 3.1 : API SMM classique et API REST moderne.
04 · Usage équitable
Limites gratuites et explicites
| Fenêtre | Limite par clé |
|---|---|
| Toutes requêtes | 120 / minute |
| Mutations | 30 / minute |
| Total quotidien | 10 000 / jour |
Lisez RateLimit-Remaining sur chaque réponse. En cas de 429, attendez le nombre de secondes indiqué dans Retry-After.
05 · Fiabilité
Une intention, une seule commande
Chaque création, annulation ou refill exige Idempotency-Key. Après un timeout, rejouez strictement la même requête avec la même clé. BoostCore retournera la ressource existante sans refaire le débit.
Idempotency-Key: votre_commande_000001
06 · Temps réel
Webhooks signés et retentés
Abonnez une URL HTTPS aux événements order.*. Vérifiez la signature HMAC-SHA256 calculée sur <timestamp>.<corps brut> avant tout traitement.
X-BoostCore-Delivery: uuid
X-BoostCore-Event: order.completed
X-BoostCore-Timestamp: 1788781805
X-BoostCore-Signature: v1=...
Répondez rapidement avec un statut 2xx. Les timeouts, erreurs réseau, 408, 425, 429 et 5xx sont retentés automatiquement.
07 · Diagnostic
Erreurs stables et traçables
Les erreurs REST contiennent un code, un message public et le booléen retryable. Conservez le header X-Request-Id pour le diagnostic, sans journaliser votre clé ni la cible complète.
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Quota API temporairement depasse.",
"retryable": true
},
"meta": { "request_id": "..." }
}