Code Examples
Common API calls in JavaScript, Python, and cURL to get you started quickly.
List Orders
cURL
curl "https://api.baalvion.com/v1/orders?status=pending" \
-H "Authorization: Bearer YOUR_API_KEY"JavaScript (fetch)
const response = await fetch('https://api.baalvion.com/v1/orders?status=pending', {
headers: { Authorization: `Bearer ${process.env.BAALVION_API_KEY}` },
});
const { data } = await response.json();
console.log(data);Python (requests)
import os
import requests
response = requests.get(
"https://api.baalvion.com/v1/orders",
params={"status": "pending"},
headers={"Authorization": f"Bearer {os.environ['BAALVION_API_KEY']}"},
)
data = response.json()["data"]
print(data)Create an Order
cURL
curl -X POST https://api.baalvion.com/v1/orders \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "listingId": "lst_1a4f22", "quantity": 500 }'JavaScript (fetch)
const response = await fetch('https://api.baalvion.com/v1/orders', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.BAALVION_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ listingId: 'lst_1a4f22', quantity: 500 }),
});
const { data } = await response.json();
console.log(data);Python (requests)
import os
import requests
response = requests.post(
"https://api.baalvion.com/v1/orders",
json={"listingId": "lst_1a4f22", "quantity": 500},
headers={"Authorization": f"Bearer {os.environ['BAALVION_API_KEY']}"},
)
order = response.json()["data"]
print(order)Handle a Webhook
Node.js (Express)
const crypto = require('crypto');
app.post('/webhooks/baalvion', express.raw({ type: 'application/json' }), (req, res) => {
const signature = req.header('Baalvion-Signature');
const expected = crypto
.createHmac('sha256', process.env.BAALVION_WEBHOOK_SECRET)
.update(req.body)
.digest('hex');
if (signature !== expected) {
return res.status(401).send('Invalid signature');
}
const event = JSON.parse(req.body);
// handle event.type, e.g. 'order.status_changed'
res.sendStatus(200);
});Python (Flask)
import hashlib
import hmac
import os
from flask import Flask, request
app = Flask(__name__)
@app.post("/webhooks/baalvion")
def handle_webhook():
signature = request.headers.get("Baalvion-Signature", "")
secret = os.environ["BAALVION_WEBHOOK_SECRET"].encode()
expected = hmac.new(secret, request.data, hashlib.sha256).hexdigest()
if not hmac.compare_digest(signature, expected):
return "Invalid signature", 401
event = request.get_json()
# handle event["type"], e.g. "order.status_changed"
return "", 200