Build
powerful integrations with Fenicia
Complete and well-documented REST API to connect your system with the entire e-commerce ecosystem. Official SDKs, real-time webhooks, and sandbox for testing.
// Example: Get pending orders
const Fenicia = require('@fenicia/sdk');
const client = new Fenicia({
apiKey: process.env.FENICIA_API_KEY,
environment: 'production' // or 'sandbox' for testing
});
// List orders with filters
const orders = await client.orders.list({
status: 'pending',
channel: 'mercadolibre',
limit: 50
});
console.log(`Orders found: ${orders.total}`);
// Process each order
for (const order of orders.data) {
console.log(`Order #${order.id} - ${order.customer.name}`);
// Mark as accepted
await client.orders.accept(order.id);
}Get Started in 4 Steps
From zero to your first API call in less than 10 minutes
Create your account
Sign up for Fenicia and access the developer panel to get your credentials.
Generate your API Key
In Settings > API, generate your key with the necessary permissions for your integration.
Test in Sandbox
Use the test environment to develop and test without affecting real data.
Integrate and deploy
Connect your application to the production environment and monitor performance.
Main APIs
Access all Fenicia functionality through our well-structured REST APIs
Orders API
Manage orders from all your sales channels. Create, update, cancel, and query orders with advanced filters.
GET /ordersPOST /ordersGET /orders/:id+2 more endpointsProducts API
Manage your product catalog. Sync with marketplaces, manage variants, and update prices.
GET /productsPOST /productsPUT /products/:id+2 more endpointsInventory API
Control stock in real-time. Adjustments, transfers between locations, and automatic sync with channels.
GET /inventoryPUT /inventory/:skuPOST /inventory/adjust+2 more endpointsCustomers API
Manage your customer base. Purchase history, segmentation, and unified contact data.
GET /customersPOST /customersGET /customers/:id+2 more endpointsChannels API
Manage connections with marketplaces and platforms. Sync status and channel configuration.
GET /channelsGET /channels/:idPUT /channels/:id/config+2 more endpointsWebhooks
Receive real-time notifications for important events: new orders, stock changes, updates.
POST /webhooksGET /webhooksDELETE /webhooks/:id+2 more endpointsRobust Authentication
Fenicia supports multiple authentication methods to adapt to different use cases, from server-to-server integrations to end-user applications.
API Keys
Ideal for server-to-server integrations. Generate keys with granular permissions from your panel.
OAuth 2.0
For applications acting on behalf of users. Secure and standard authorization flow.
JWT Tokens
Short-lived tokens for user sessions with automatic renewal.
curl -X GET "https://api.fenicia.io/v2/orders" \
-H "Authorization: Bearer fk_live_a1b2c3d4e5f6g7h8i9j0" \
-H "Content-Type: application/json"
# Response
{
"data": [...],
"meta": {
"total": 150,
"page": 1,
"limit": 50
}
}// Configure webhook for new orders
const webhook = await client.webhooks.create({
url: 'https://your-server.com/webhooks/fenicia',
events: ['order.created', 'order.updated', 'inventory.low'],
secret: 'your-secret-to-validate'
});
// On your server, validate and process events
app.post('/webhooks/fenicia', (req, res) => {
const signature = req.headers['x-fenicia-signature'];
if (!client.webhooks.verify(req.body, signature)) {
return res.status(401).send('Invalid signature');
}
const event = req.body;
switch (event.type) {
case 'order.created':
processNewOrder(event.data);
break;
case 'inventory.low':
alertLowStock(event.data);
break;
}
res.status(200).send('OK');
});Real-Time Webhooks
Receive instant notifications when important events occur in your account. No polling, no delays.
Request Limits
Generous limits that grow with your plan. Clear headers in every response to monitor your usage.
| Plan | Per hour | Burst |
|---|---|---|
| Starter | 1,000 | 100/min |
| Professional | 10,000 | 500/min |
| Enterprise | 100,000 | 2,000/min |
HTTP/1.1 200 OK
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9847
X-RateLimit-Reset: 1703980800
X-RateLimit-Retry-After: 0
# If you exceed the limit
HTTP/1.1 429 Too Many Requests
Retry-After: 45
{
"error": {
"code": "rate_limit_exceeded",
"message": "Limit exceeded. Retry in 45s"
}
}Developer Sandbox
Develop and test your integration without risk. The sandbox includes sample data and simulates all production API flows.
- Predefined test data (orders, products, customers)
- Test webhooks to simulate events
- No request limits
- One-click data reset
Sandbox Credentials
https://api-sandbox.fenicia.io/v2fk_test_sample1234567890abcd* Generate your own sandbox credentials in the developer panel
API Changelog
Stay up to date with the latest improvements and new features
- -New endpoint for bulk inventory operations
- -Support for sync webhooks
- -Improved orders response with optimized pagination
- -New filter by sales channel
- -Customers API with purchase history
- -Webhooks for customer events
Explore the API
Interactive documentation where you can test endpoints directly from your browser
/v2/ordersQuery parameters
statusstringchannelstringfrom_dateISO 8601limitinteger (1-100)Example response
{
"data": [
{
"id": "ord_abc123",
"status": "pending",
"channel": "mercadolibre",
"total": 1299.00,
"customer": {...}
}
],
"meta": {
"total": 42,
"page": 1
}
}Developer Support
We are here to help you build successful integrations
Ready to integrate with Fenicia?
Create your account and get immediate access to the API and developer sandbox
