> ## Documentation Index
> Fetch the complete documentation index at: https://docs.umeme.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Compteurs de test

> Dans la sandbox, un compteur qui commence par 099000000 choisit l'issue de la vente par ses deux derniers chiffres.

Les codes sont les mêmes pour `SOCODE` et `VIRUNGA` ; un abonnement TV suit la même règle avec `TV-NN`. Une référence ordinaire réussit, comme le code `00`.> [!NOTE]
>
> Cette table est générée depuis la configuration de la sandbox : la page et la sandbox ne peuvent pas se contredire.

Filtrer par compte


      

\<table><thead><tr><th>Code</th><th>Compteur</th><th>Scénario</th><th>Issue</th><th>Motif</th><th>Délai</th><th>Rappels</th></tr></thead>
          \<tbody /></table>

> [!WARNING]
>
> La production refuse ces compteurs avec `COMPTEUR_DE_TEST`. Si vous avez oublié de changer d'environnement, vous le voyez dès le premier appel.## Joués par le montantTrois rejets se provoquent avec n'importe quel compteur. Le portefeuille fictif part de `1 000 $`, et la limite du jour est de `500 $` par défaut.| Montant | Issue | Motif |
| :- | :- | :- |
| Au-delà du solde du portefeuille | `REJETEE` | `SOLDE_INSUFFISANT` |
| Au-delà de ce qui reste de la limite du jour | `REJETEE` | `LIMITE_JOUR_ATTEINTE` |
| Hors de `0,50 $` à `5 000 $` | `REJETEE` | `MONTANT_HORS_LIMITES` |## Trancher une revue manuelleLe scénario `21` attend 30 minutes avant d'échouer, comme une vente que l'équipe d'Umeme vérifie à la main. Pour aller plus vite, tranchez-la vous-même :```bash cURL icon="https://mintcdn.com/dommi10/MMGXqk_5twdsE4Rl/logos/langages/bash.svg?fit=max&auto=format&n=MMGXqk_5twdsE4Rl&q=85&s=c7cc496df6d82b1c6cdaa5c132b8d4bc" theme={"dark"}
SANDBOX_URL="https://sandbox.umeme.app/sandbox"
UUID="94a223fe-fb34-47f2-aaa5-b80c4bf8a8eb"

curl -X POST "$SANDBOX_URL/ventes/$UUID/trancher" \
  -H "Authorization: Bearer $UMEME_CLE" \
  -H "Content-Type: application/json" \
  -d '{
    "issue": "ECHOUEE"
  }'
``````javascript Node.js · fetch icon="https://mintcdn.com/dommi10/MMGXqk_5twdsE4Rl/logos/langages/nodejs.svg?fit=max&auto=format&n=MMGXqk_5twdsE4Rl&q=85&s=60e7eb54ba25d5cb5e9d62e0896b99c7" theme={"dark"}
// Node.js 18 et plus : fetch est intégré.
const sandboxUrl = "https://sandbox.umeme.app/sandbox";

const uuid = "94a223fe-fb34-47f2-aaa5-b80c4bf8a8eb";
const corps = {
  issue: "ECHOUEE",
};

const reponse = await fetch(`${sandboxUrl}/ventes/${uuid}/trancher`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.UMEME_CLE}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(corps),
});
const donnees = await reponse.json();
``````javascript Node.js · Axios icon="https://mintcdn.com/dommi10/MMGXqk_5twdsE4Rl/logos/langages/axios.svg?fit=max&auto=format&n=MMGXqk_5twdsE4Rl&q=85&s=7e8bd7e79f903d3d1bffc290e52fcdc9" theme={"dark"}
// npm install axios
import axios from "axios";

const umeme = axios.create({
  baseURL: "https://sandbox.umeme.app/sandbox",
  headers: { Authorization: `Bearer ${process.env.UMEME_CLE}` },
  timeout: 30000,
});

const uuid = "94a223fe-fb34-47f2-aaa5-b80c4bf8a8eb";
const corps = {
  issue: "ECHOUEE",
};

const { data } = await umeme.post(`/ventes/${uuid}/trancher`, corps);
``````python Python icon="https://mintcdn.com/dommi10/MMGXqk_5twdsE4Rl/logos/langages/python.svg?fit=max&auto=format&n=MMGXqk_5twdsE4Rl&q=85&s=41e570f5c5c97d07c3c878a6704f2bed" theme={"dark"}
import os

import requests

SANDBOX_URL = "https://sandbox.umeme.app/sandbox"
ENTETES = {"Authorization": f"Bearer {os.environ['UMEME_CLE']}"}

uuid = "94a223fe-fb34-47f2-aaa5-b80c4bf8a8eb"
corps = {
    "issue": "ECHOUEE",
}

reponse = requests.post(
    f"{SANDBOX_URL}/ventes/{uuid}/trancher",
    headers=ENTETES,
    json=corps,
    timeout=30,
)
donnees = reponse.json()
``````php PHP icon="https://mintcdn.com/dommi10/MMGXqk_5twdsE4Rl/logos/langages/php.svg?fit=max&auto=format&n=MMGXqk_5twdsE4Rl&q=85&s=706823b5881c1d4e78720e369520cc78" theme={"dark"}
// composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://sandbox.umeme.app/sandbox/',
    'headers' => ['Authorization' => 'Bearer ' . getenv('UMEME_CLE')],
    'timeout' => 30,
]);

$uuid = '94a223fe-fb34-47f2-aaa5-b80c4bf8a8eb';
$corps = [
    'issue' => 'ECHOUEE',
];

$reponse = $client->post("ventes/{$uuid}/trancher", [
    'json' => $corps,
]);
$donnees = json_decode($reponse->getBody(), true);
``````java Java icon="https://mintcdn.com/dommi10/MMGXqk_5twdsE4Rl/logos/langages/java.svg?fit=max&auto=format&n=MMGXqk_5twdsE4Rl&q=85&s=a99792afd2b2bcd5b3c64f5157b8469e" theme={"dark"}
// Java 15 et plus : java.net.http et blocs de texte.
var sandboxUrl = "https://sandbox.umeme.app/sandbox";
var client = HttpClient.newHttpClient();

var uuid = "94a223fe-fb34-47f2-aaa5-b80c4bf8a8eb";
var corps = """
    {
      "issue": "ECHOUEE"
    }
    """;

var requete = HttpRequest.newBuilder(URI.create(sandboxUrl + "/ventes/" + uuid + "/trancher"))
    .header("Authorization", "Bearer " + System.getenv("UMEME_CLE"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(corps))
    .build();

var reponse = client.send(requete, HttpResponse.BodyHandlers.ofString());
```Pour trancher en succès, envoyez `"issue": "REUSSIE"`.Deux autres routes de la sandbox servent à vos essais : `POST /sandbox/portefeuille/recharge` crédite jusqu'à `5 000 $` fictifs, et `POST /sandbox/reinitialiser` efface vos ventes et remet le portefeuille à `1 000 $`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.