API for Developers

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.

quick-start.js
// 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);
}
99.9%
Guaranteed uptime
<100ms
Average latency
6
Main APIs
3
Official SDKs
Quick Start

Get Started in 4 Steps

From zero to your first API call in less than 10 minutes

01

Create your account

Sign up for Fenicia and access the developer panel to get your credentials.

02

Generate your API Key

In Settings > API, generate your key with the necessary permissions for your integration.

03

Test in Sandbox

Use the test environment to develop and test without affecting real data.

04

Integrate and deploy

Connect your application to the production environment and monitor performance.

Available Endpoints

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 endpoints
View documentation

Products API

Manage your product catalog. Sync with marketplaces, manage variants, and update prices.

GET /productsPOST /productsPUT /products/:id+2 more endpoints
View documentation

Inventory API

Control stock in real-time. Adjustments, transfers between locations, and automatic sync with channels.

GET /inventoryPUT /inventory/:skuPOST /inventory/adjust+2 more endpoints
View documentation

Customers API

Manage your customer base. Purchase history, segmentation, and unified contact data.

GET /customersPOST /customersGET /customers/:id+2 more endpoints
View documentation

Channels API

Manage connections with marketplaces and platforms. Sync status and channel configuration.

GET /channelsGET /channels/:idPUT /channels/:id/config+2 more endpoints
View documentation

Webhooks

Receive real-time notifications for important events: new orders, stock changes, updates.

POST /webhooksGET /webhooksDELETE /webhooks/:id+2 more endpoints
View documentation
Security

Robust 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.

# Authentication example with API Key
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
  }
}
webhooks.js
// 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

Real-Time Webhooks

Receive instant notifications when important events occur in your account. No polling, no delays.

New orders and status updates
Low inventory alerts
Product and price changes
Marketplace synchronization
Cryptographic signatures for validation
Official SDKs

Libraries for Your Language

Officially maintained SDKs with complete typing, error handling, and automatic retries

Node.js

v2.4.0
npm install @fenicia/sdk

Python

v1.8.0
pip install fenicia-sdk

PHP

v1.5.0
composer require fenicia/php-sdk
Rate Limits

Request Limits

Generous limits that grow with your plan. Clear headers in every response to monitor your usage.

PlanPer hourBurst
Starter1,000100/min
Professional10,000500/min
Enterprise100,0002,000/min
# Rate limit headers in responses
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"
  }
}
Test Environment

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/v2
fk_test_sample1234567890abcd

* Generate your own sandbox credentials in the developer panel

Change History

API Changelog

Stay up to date with the latest improvements and new features

v2.4.0Dec 15, 2024New feature
  • -New endpoint for bulk inventory operations
  • -Support for sync webhooks
v2.3.0Nov 28, 2024Improvement
  • -Improved orders response with optimized pagination
  • -New filter by sales channel
v2.2.0Nov 10, 2024New feature
  • -Customers API with purchase history
  • -Webhooks for customer events
Interactive Reference

Explore the API

Interactive documentation where you can test endpoints directly from your browser

GET/v2/orders
List orders

Query parameters

statusstring
channelstring
from_dateISO 8601
limitinteger (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

Documentation

Detailed guides, tutorials, and complete API reference

developers.fenicia.io

GitHub

SDKs, code examples, and report issues in our repos

github.com/fenicia

Technical Support

Contact our integrations team for personalized help

developers@fenicia.io

Ready to integrate with Fenicia?

Create your account and get immediate access to the API and developer sandbox

1,000+
Empresas activas
50M+
Productos sincronizados
99.9%
Uptime garantizado
24/7
Soporte técnico