Roovet Roovet
Beta

Roovet Developers

One secure platform for Wallet, Shop, Search & News, Virtual Rep, Telephony, E-Sign, and Websites.

Header: X-Roovet-Version
Status
Latency (ping)
Requests (today)
Based on rate-limit headers.
Version pinned
Safe, reproducible behavior.

Quickstart

Authenticate with Authorization: Bearer <API_KEY>. Include X-Roovet-Version ().
curl -sS -H "Authorization: Bearer <API_KEY>" \
  -H "X-Roovet-Version: " \
  https://roovet.com/api/wallet/balance
const res = await fetch('https://roovet.com/api/wallet/balance', {
  headers: {
    Authorization: 'Bearer ' + ROOVET_API_KEY,
    'X-Roovet-Version': ''
  }
});
const json = await res.json();
console.log(json);
$ch = curl_init("https://roovet.com/api/wallet/balance");
curl_setopt_array($ch, [
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer ".$_ENV["ROOVET_API_KEY"],
    "X-Roovet-Version: 2025-12-29"
  ],
  CURLOPT_RETURNTRANSFER => true
]);
$resp = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $http.' '.$resp;

Webhook signing (HMAC)

Verify X-Roovet-Signature to trust events (Wallet, Shop, Virtual Rep, E-Sign).

// CI4 controller snippet (PHP)
$payload   = $this->request->getBody();             // raw JSON
$sigHeader = $this->request->getHeaderLine('X-Roovet-Signature');
$secret    = $_ENV['ROOVET_WEBHOOK_SECRET'] ?? '';
$calc      = base64_encode(hash_hmac('sha256', $payload, $secret, true));
if (!hash_equals($sigHeader, $calc)) {
  return $this->response->setStatusCode(401, 'Invalid signature');
}
// proceed…
Configure secrets in .env. See Webhooks guide.
Now playing