AtlasSwift API

v1.0

Integrate AtlasSwift into your applications to automate order creation, manage your products, and track your deliveries.

REST API
JSONFormat

Getting started

Follow these 3 steps to start using the AtlasSwift API.

1

Create an account

Sign up on AtlasSwift and access your account.

2

Generate your API key

Go to Integrations from the sidebar menu and click Generate to get your API key.

3

Make your first call

Use your key to create your first order via the API.

Base URL

https://api.atlasswift.com

Authentication

All API requests must include your API key in the authorization header.

Exception: GET /v1/public/currencies is a public endpoint that does not require authentication.
Header
Authorization: Bearer atlas_live_xxxxxxxxxxxxxxxxxxxxxxxx

Important

Keep your API key secret. Never share it in client-side code or public repositories.

Orders

Manage your customers' orders

POST/v1/public/orders

Create a new order

Body Parameters

NameTypeRequiredDescription
client_namestringRequiredFull customer name
client_phonestringRequiredPhone number with country code
client_addressstringRequiredDelivery address
arrival_countrystringRequiredDestination country
productsarrayRequiredList of ordered products
products[].product_idstringOptionalProduct ID as shown on your AtlasSwift Products page (e.g., PRD-001586). Required if name is not provided.
products[].namestringOptionalExact product name on AtlasSwift. Used to look up the product if product_id is not provided.
products[].quantityintegerRequiredQuantity (> 0)
products[].pricenumberRequiredUnit price (> 0)
products[].variant_idstringOptionalVariant ID (e.g., comb_abc123)
products[].variant_namestringOptionalVariant name (e.g., "Black - L")
total_pricenumberRequiredTotal order price
currency_codestringRequiredCurrency code (e.g., XOF, EUR)
delivery_notestringOptionalDelivery instructions

Request body

JSON
{
  "client_name": "Jean Dupont",
  "client_phone": "+2250701020304",
  "client_address": "Cocody Angré, Abidjan",
  "arrival_country": "Côte d'Ivoire",
  "products": [
    {
      "product_id": "PRD-001586",
      "name": "Montre Connectée Prestige X9",
      "quantity": 1,
      "price": 185000,
      "variant_id": "comb_abc123",
      "variant_name": "Noir - L"
    },
    {
      "product_id": "PRD-002345",
      "name": "Sac à Dos Cuir Véritable",
      "quantity": 1,
      "price": 150000
    }
  ],
  "total_price": 335000,
  "currency_code": "XOF",
  "delivery_note": "Appeler avant 16h"
}

Response

JSON
{
  "success": true,
  "message": "Commande enregistrée avec succès.",
  "data": {
    "order_id": "ORD-1717778456123"
  }
}

Code example

curl -X POST "https://api.atlasswift.com/v1/public/orders" \
  -H "Authorization: Bearer atlas_live_xxxxxxxx"
  -H "Content-Type: application/json" \
  -d '{
  "client_name": "Jean Dupont",
  "client_phone": "+2250701020304",
  "client_address": "Cocody Angré, Abidjan",
  "arrival_country": "Côte d'Ivoire",
  "products": [
    {
      "product_id": "PRD-001586",
      "name": "Montre Connectée Prestige X9",
      "quantity": 1,
      "price": 185000,
      "variant_id": "comb_abc123",
      "variant_name": "Noir - L"
    },
    {
      "product_id": "PRD-002345",
      "name": "Sac à Dos Cuir Véritable",
      "quantity": 1,
      "price": 150000
    }
  ],
  "total_price": 335000,
  "currency_code": "XOF",
  "delivery_note": "Appeler avant 16h"
}'

Products

Get the list of your products

GET/v1/public/products

Get the list of products

Query Parameters

NameTypeRequiredDescription
limitintegerOptionalItems per page (default: 20)
offsetintegerOptionalOffset for pagination (default: 0)
searchstringOptionalSearch by product name
order_bystringOptionalSort field
is_activebooleanOptionalFilter by active status (true/false)

Response

JSON
{
  "success": true,
  "message": "Produits récupérés avec succès",
  "data": {
    "data": [
      {
        "id": "PRD-001586",
        "seller_id": "seller_abc123",
        "name": "Montre Connectée Prestige X9",
        "description": "Montre connectée avec suivi de santé",
        "price": 185000,
        "currency_code": "XOF",
        "image_url": "https://example.com/image.jpg",
        "image_urls": [
          "https://example.com/image.jpg"
        ],
        "is_active": true,
        "category": "Électronique",
        "slug": "montre-connectee-prestige-x9",
        "variants": {
          "types": [
            {
              "id": "type_1",
              "name": "Couleur",
              "values": [
                {
                  "id": "opt_1",
                  "name": "Noir"
                }
              ]
            }
          ],
          "combinations": [
            {
              "id": "comb_abc123",
              "name": "Noir - L",
              "options": {
                "Couleur": "Noir"
              },
              "price": 185000,
              "is_active": true
            }
          ]
        },
        "created_at": "2024-01-15T10:30:00Z",
        "updated_at": "2024-06-01T14:00:00Z"
      }
    ],
    "total": 50,
    "page": 1,
    "limit": 20,
    "offset": 0,
    "total_pages": 3
  }
}

Code example

curl -X GET "https://api.atlasswift.com/v1/public/products" \
  -H "Authorization: Bearer atlas_live_xxxxxxxx"
  -H "Content-Type: application/json"

Currencies

Get the list of supported currencies

GET/v1/public/currencies

Get the list of supported currencies

Response

JSON
{
  "success": true,
  "data": [
    {
      "currency_code": "XOF",
      "currency_name": "West African CFA franc",
      "rate_to_usd": 0.0016,
      "updated_at": "2024-06-01T12:00:00Z"
    },
    {
      "currency_code": "EUR",
      "currency_name": "Euro",
      "rate_to_usd": 1.08,
      "updated_at": "2024-06-01T12:00:00Z"
    }
  ],
  "count": 2
}

Code example

curl -X GET "https://api.atlasswift.com/v1/public/currencies" \
  -H "Content-Type: application/json"

Error Handling

The API uses standard HTTP codes to indicate the success or failure of a request.

CodeDescription
400Missing or invalid data
401API key missing or malformed
403Invalid or disabled API key
404Resource not found
429Too many requests (rate limiting)
500Internal server error

Error Format

JSON
{
  "success": false,
  "message": "Données invalides",
  "errors": [
    {
      "field": "client_phone",
      "message": "Format de téléphone invalide"
    }
  ]
}

Rate limits

The API enforces request limits to ensure service stability. Limits are applied per API key.

Standard

60 requests per minute per API key.

Limit exceeded

429 Too Many Requests response. Wait before retrying.