Publicamos SDKs oficiais para as linguagens mais comuns, que tratam de assinatura HMAC, lógica de retentativa e gestão do Idempotency-Key por você. O contrato da API (OpenAPI 3.1) é agnóstico de linguagem: você também pode escrever seu próprio cliente sem problema.

PHP

// composer require kernelhost/reseller-api-php   (in development)
use KernelHost\ResellerApi\Client;

$kh = new Client(getenv('KH_KEY'), getenv('KH_SECRET'));
$products = $kh->get('/products');
$order    = $kh->post('/orders', ['product_id' => 42, 'billing_cycle' => 'monthly']);

Node.js

// npm install @kernelhost/reseller-api   (in development)
import { Client } from '@kernelhost/reseller-api';

const kh = new Client({ key: process.env.KH_KEY, secret: process.env.KH_SECRET });
const products = await kh.get('/products');
const order    = await kh.post('/orders', { product_id: 42, billing_cycle: 'monthly' });

Python

# pip install kernelhost-reseller-api   (in development)
from kernelhost_reseller_api import Client

kh = Client(key=os.environ['KH_KEY'], secret=os.environ['KH_SECRET'])
products = kh.get('/products')
order    = kh.post('/orders', product_id=42, billing_cycle='monthly')

Go

// go get github.com/kernelhost/reseller-api-go   (in development)
import "github.com/kernelhost/reseller-api-go"

kh := resellerapi.New(os.Getenv("KH_KEY"), os.Getenv("KH_SECRET"))
products, _ := kh.Get("/products")
order, _    := kh.Post("/orders", map[string]any{"product_id": 42, "billing_cycle": "monthly"})

A linguagem do seu ambiente não está listada? A API segue o OpenAPI 3.1 aberto, e um exemplo cURL de cerca de 20 linhas em shell puro basta para cada endpoint. Veja a página de autenticação para a lógica de assinatura.