Api Documentation

Streamline Your Business with Rubies B2B API Integration

Automate Your Wholesale Operations

Take your Rubies B2B experience to the next level with our powerful API integration. Whether you’re managing inventory, processing dropship orders, or want to sync your ecommerce platform with our product data, our API puts you in complete control.

Getting Started is Easy

  1. Generate Your API Key – Ask your account manager for access to create an API key in your account. By default this is turned off and only available for customers with a trade account.
  2. Log into your Rubies B2B account – navigate to Account Settings to create your secure API credentials
  3. Access Complete Documentation – Our API documentation provides everything you need: endpoint details, request examples, and response formats
  4. Start Automating – Begin integrating with your existing systems, from inventory management to order processing

What You Can Automate

  • Real-time Inventory Sync – Keep your systems updated with current stock levels and product availability which is synced hourly.
  • Automated Order Processing – Submit dropship orders programmatically and check their status.
  • Account Management – Check order status, download invoices, and manage your account information
  • Tracking Data – Lookup tracking details and fulfilment data.

Ready to automate your wholesale operations? Contact the sales team to get your API credentials today.

API Documentation

Complete reference for all available API endpoints

GET /wp-json/rubies/v1/balance
v1.0 AUTH REQUIRED

Check Account Balance

Get Customer Balance.

🔒 Authentication

This endpoint requires authentication using Basic.

📥 Response Body

{
    "success": true,
    "data": {
        "user": {
            "id": 3,
            "username": "TEST",
            "display_name": "TEST"
        },
        "balance": {
            "current": "0.00",
            "aged_balances": {
                "period_1": "0.00",
                "period_2": "0.00",
                "period_3": "0.00",
                "period_4": "0.00"
            },
            "total": "0.00",
            "credit_limit": "1000.00",
            "credit_balance": "1000.00",
            "available_credit": "1000.00",
            "last_payment": {
                "amount": "-0.10",
                "date": "2024-11-15T00:00:00+00:00"
            },
            "terms": "30D",
            "account_status": {
                "blocked": false,
                "show_alert": false,
                "ignored_alerts": 2
            }
        },
        "currency": "AUD",
        "currency_symbol": "$",
        "last_updated": "2025-07-17T15:28:23+11:00"
    },
    "timestamp": "2025-07-17T15:28:23+11:00",
    "api_version": "1.0",
    "status_code": 200
}
POST /wp-json/rubies/v1/orders
v1.0 AUTH REQUIRED

Create Dropship Order

Create a dropship order for shipping.

🔒 Authentication

This endpoint requires authentication using Basic.

📤 Request Body

Content-Type: application/json
{
    "customer": {
        "first_name": "Sarah",
        "last_name": "Johnson",
        "email": "sarah.johnson@test.com",
        "phone": "+61387654321"
    },
    "shipping_address": {
        "first_name": "Sarah",
        "last_name": "Johnson",
        "address_1": "42 Elizabeth Street",
        "address_2": "Level 5",
        "city": "Melbourne",
        "state": "VIC",
        "postcode": "3000",
        "country": "AU"
    },
    "line_items": [
        {
            "sku": "8998",
            "quantity": 5
        }
    ],
    "order_number": "DROPSHIP-ORDER-001",
    "customer_note": "School play order - delivery needed by Friday"
}

📥 Response Body

{
    "success": true,
    "data": {
        "order_id": 34994,
        "order_number": "WEB14957",
        "status": "processing",
        "total": "106.19",
        "currency": "AUD",
        "date_created": "2025-07-08T01:29:18+00:00",
        "created_by": {
            "user_id": 836,
            "username": "TEST",
            "display_name": "test test"
        },
        "customer_po": "DROPSHIP-ORDER-001",
        "customer_note": "School play order - delivery needed by Friday"
    },
    "timestamp": "2025-07-08T12:29:18+11:00",
    "api_version": "1.0",
    "status_code": 201
}
POST /wp-json/rubies/v1/orders/store
v1.0 AUTH REQUIRED

Create Store Order

Create a B2B order for delivery to store or DC. All store orders use the default billing/shipping address.

🔒 Authentication

This endpoint requires authentication using Basic.

📤 Request Body

Content-Type: application/json
{
    "customer_note": "Please handle with care",
    "customer_po": "PO-12345",
    "delivery_date": "15-08-2025",
    "line_items": [
        {
            "sku": "4220",
            "quantity": 20
        }
    ]
}

📥 Response Body

{
    "success": true,
    "data": {
        "order_id": 35012,
        "order_number": "WEB14963",
        "status": "processing",
        "total": "500.39",
        "currency": "AUD",
        "date_created": "2025-07-17T02:51:34+00:00",
        "created_by": {
            "user_id": 3,
            "username": "TEST",
            "display_name": "TEST"
        },
        "customer_po": "PO-12345",
        "customer_note": "Please handle with care",
        "delivery_date": "2025-08-15",
        "order_type": "store",
        "shipping_details": {
            "shipping_total": "18.90",
            "shipping_method": {
                "method_title": "VIC-M4",
                "method_id": "store_shipping_method",
                "cost": "18.90"
            }
        }
    },
    "timestamp": "2025-07-17T13:51:35+11:00",
    "api_version": "1.0",
    "status_code": 201
}
POST /wp-json/rubies/v1/shipping-quote/dropship
v1.0 AUTH REQUIRED

Dropship Shipping Quote

🔒 Authentication

This endpoint requires authentication using Basic.

📤 Request Body

Content-Type: application/json
{
    "order_total": 1500,
    "country": "AU"
}

📥 Response Body

{
    "success": true,
    "data": {
        "shipping_cost": 235.86,
        "shipping_label": "Dropship Order",
        "shipping_type": "dropship",
        "calculation_breakdown": {
            "base_cost": 10.86,
            "percentage_fee": 225,
            "percentage_rate": 15,
            "total": 235.86
        },
        "country": "AU",
        "order_total": 1500,
        "currency": "AUD",
        "currency_symbol": "$"
    },
    "timestamp": "2025-07-08T13:16:05+11:00",
    "api_version": "1.0",
    "status_code": 200
}
GET /wp-json/rubies/v1/invoices
v1.0 AUTH REQUIRED

Get All Invoices (Default pagination)

🔒 Authentication

This endpoint requires authentication using Basic.

📥 Response Body

{
    "success": true,
    "data": {
        "invoices": [
            {
                "id": 2,
                "invoice_no": "SI411533",
                "date": "2024-10-18T00:00:00+00:00",
                "customer_code": "TEST",
                "customer_name": "TEST",
                "trading_ref": "181022",
                "sales_order": "181022",
                "tracking_number": "Z2DZ00028346",
                "customer_po": null,
                "discount": "0.00",
                "subtotal_ex_gst": "950.10",
                "gst": "95.01",
                "total_inc_gst": "1045.11",
                "carrier": "StarTrack",
                "payment_id": null,
                "status": null,
                "line_items_included": false
            },
            {
                "id": 1,
                "invoice_no": "SI400357",
                "date": "2024-10-15T00:00:00+00:00",
                "customer_code": "TEST",
                "customer_name": "TEST",
                "trading_ref": "240822",
                "sales_order": "240822",
                "tracking_number": "8889200049516",
                "customer_po": null,
                "discount": "0.00",
                "subtotal_ex_gst": "587.95",
                "gst": "58.80",
                "total_inc_gst": "646.75",
                "carrier": "TollRoadExpress",
                "payment_id": null,
                "status": null,
                "line_items_included": false
            }
        ],
        "customer_code": "TEST",
        "pagination": {
            "total": 5,
            "page": 1,
            "per_page": 10,
            "total_pages": 1,
            "has_next": false,
            "has_previous": false
        },
        "user": {
            "id": 836,
            "username": "TEST",
            "display_name": "test test"
        }
    },
    "timestamp": "2025-07-08T12:31:50+11:00",
    "api_version": "1.0",
    "status_code": 200
}
GET /wp-json/rubies/v1/health
v1.0 AUTH REQUIRED

Health

Health Check - Verify API is working

🔒 Authentication

This endpoint requires authentication using Basic.

📥 Response Body

{
    "success": true,
    "data": {
        "status": "healthy",
        "timestamp": "2025-07-08T11:46:56+11:00",
        "version": "1.0",
        "authenticated_user": "test test",
        "user_id": 836,
        "user_roles": [
            "auac"
        ],
        "authentication_method": "application_password",
        "dependencies": {
            "wordpress": {
                "name": "WordPress",
                "status": "ok",
                "message": "Compatible version"
            },
            "woocommerce": {
                "name": "WooCommerce",
                "required": true,
                "active": true,
                "status": "ok",
                "message": "Active and compatible"
            },
            "application_passwords": {
                "name": "Application Passwords",
                "required": true,
                "available": true,
                "status": "ok",
                "message": "Available and enabled"
            },
            "database": {
                "name": "Database Connection",
                "status": "ok",
                "message": "Connected successfully"
            },
            "logger_table": {
                "name": "API Logger Table",
                "status": "ok",
                "message": "Table exists and accessible"
            },
            "php_extensions": {
                "curl": {
                    "name": "curl",
                    "required": true,
                    "loaded": true,
                    "status": "ok",
                    "message": "Loaded"
                },
                "json": {
                    "name": "json",
                    "required": true,
                    "loaded": true,
                    "status": "ok",
                    "message": "Loaded"
                },
                "mbstring": {
                    "name": "mbstring",
                    "required": true,
                    "loaded": true,
                    "status": "ok",
                    "message": "Loaded"
                },
                "openssl": {
                    "name": "openssl",
                    "required": true,
                    "loaded": true,
                    "status": "ok",
                    "message": "Loaded"
                }
            }
        }
    },
    "timestamp": "2025-07-08T11:46:56+11:00",
    "api_version": "1.0",
    "status_code": 200
}
GET /wp-json/rubies/v1/my-orders
v1.0 AUTH REQUIRED

My Orders

Gets pending customer orders in an array.

🔒 Authentication

This endpoint requires authentication using Basic.

📥 Response Body

{
    "success": true,
    "data": {
        "orders": [
            {
                "order_id": 34993,
                "customer_id": 836,
                "customer_po_field": "1873",
                "order_number": "WEB14956",
                "status": "processing",
                "status_label": "Processing",
                "total_amount_inc_gst": "126.18",
                "total_tax_gst": "11.47",
                "shipping_total": "24.41",
                "shipping_tax_total": "2.44",
                "subtotal_ex_gst": "114.71",
                "currency": "AUD",
                "currency_symbol": "$",
                "line_items": [
                    {
                        "sku": "0158",
                        "product_name": "MINION FEMALE COSTUME, CHILD - 3-5 YRS",
                        "quantity": 1,
                        "line_total": "19.80",
                        "line_subtotal": "19.80",
                        "unit_price": "19.80"
                    },
                    {
                        "sku": "0430D",
                        "product_name": "ELSA FROZEN CLASSIC COSTUME, CHILD - 4-6 YRS",
                        "quantity": 1,
                        "line_total": "21.80",
                        "line_subtotal": "21.80",
                        "unit_price": "21.80"
                    },
                    {
                        "sku": "0458",
                        "product_name": "DARTH VADER DELUXE COSTUME, CHILD - 3-5 YRS",
                        "quantity": 1,
                        "line_total": "28.90",
                        "line_subtotal": "28.90",
                        "unit_price": "28.90"
                    },
                    {
                        "sku": "0459",
                        "product_name": "DARTH VADER DELUXE COSTUME, CHILD - 3-5 YRS",
                        "quantity": 1,
                        "line_total": "28.90",
                        "line_subtotal": "28.90",
                        "unit_price": "28.90"
                    },
                    {
                        "sku": "0460",
                        "product_name": "DARTH VADER DELUXE COSTUME, CHILD - 3-5 YRS",
                        "quantity": 1,
                        "line_total": "28.90",
                        "line_subtotal": "28.90",
                        "unit_price": "28.90"
                    },
                    {
                        "sku": "701104T",
                        "product_name": "LITTLE KITTY TUTU COSTUME, CHILD - TODDLER",
                        "quantity": 1,
                        "line_total": "19.80",
                        "line_subtotal": "19.80",
                        "unit_price": "19.80"
                    }
                ],
                "item_count": 6,
                "total_quantity": 6
            },
            {
                "order_id": 34992,
                "customer_id": 836,
                "customer_po_field": "1872",
                "order_number": "WEB14955",
                "status": "processing",
                "status_label": "Processing",
                "total_amount_inc_gst": "162.23",
                "total_tax_gst": "14.75",
                "shipping_total": "28.68",
                "shipping_tax_total": "2.87",
                "subtotal_ex_gst": "147.48",
                "currency": "AUD",
                "currency_symbol": "$",
                "line_items": [
                    {
                        "sku": "580714XXL",
                        "product_name": "WALKING TEDDY BEAR BIG DOGS PET COSTUME - XXL",
                        "quantity": 2,
                        "line_total": "39.60",
                        "line_subtotal": "39.60",
                        "unit_price": "19.80"
                    },
                    {
                        "sku": "580714XXXL",
                        "product_name": "WALKING TEDDY BEAR BIG DOGS PET COSTUME - XXL",
                        "quantity": 2,
                        "line_total": "39.60",
                        "line_subtotal": "39.60",
                        "unit_price": "19.80"
                    },
                    {
                        "sku": "7116",
                        "product_name": "PADDINGTON BEAR COSTUME, CHILD - TODDLER",
                        "quantity": 4,
                        "line_total": "79.20",
                        "line_subtotal": "79.20",
                        "unit_price": "19.80"
                    },
                    {
                        "sku": "7117",
                        "product_name": "PADDINGTON BEAR COSTUME, CHILD - TODDLER",
                        "quantity": 4,
                        "line_total": "79.20",
                        "line_subtotal": "79.20",
                        "unit_price": "19.80"
                    }
                ],
                "item_count": 4,
                "total_quantity": 12
            }
        ]
    }
}
POST /wp-json/rubies/v1/shipping-quote/store
v1.0 AUTH REQUIRED

Ship to Store Shipping Quote

🔒 Authentication

This endpoint requires authentication using Basic.

📤 Request Body

Content-Type: application/json
{
    "postcode": "5000",
    "order_total": 100
}

📥 Response Body

{
    "success": true,
    "data": {
        "shipping_cost": 13.2,
        "shipping_label": "SA-M2",
        "shipping_type": "store",
        "postcode": "5000",
        "order_total": 100,
        "currency": "AUD",
        "currency_symbol": "$"
    },
    "timestamp": "2025-07-08T13:16:23+11:00",
    "api_version": "1.0",
    "status_code": 200
}
GET /wp-json/rubies/v1/stock
v1.0 AUTH REQUIRED

Stock Feed

🔒 Authentication

This endpoint requires authentication using Basic.

📥 Response Body

{
    "success": true,
    "data": {
        "stock_items": [
            {
                "id": 13386,
                "sku": "0135",
                "stock_level": 48,
                "product_type": "variation",
                "price": "34.90",
                "woo_product_id": 15764,
                "woo_variant_id": 15765,
                "in_stock": true,
                "availability_status": "in_stock"
            },
            {
                "id": 12652,
                "sku": "0133",
                "stock_level": 0,
                "product_type": "simple",
                "price": "28.90",
                "woo_product_id": 15764,
                "woo_variant_id": null,
                "in_stock": false,
                "availability_status": "out_of_stock"
            },
            {
                "id": 10035,
                "sku": "0453",
                "stock_level": 2,
                "product_type": "variation",
                "price": "17.50",
                "woo_product_id": 15785,
                "woo_variant_id": 15786,
                "in_stock": true,
                "availability_status": "low_stock"
            }
        ],
        "pagination": {
            "total": 3,
            "page": 1,
            "per_page": 50,
            "total_pages": 1,
            "has_next": false,
            "has_previous": false
        },
        "filters_applied": {
            "sku": null,
            "product_type": null,
            "min_stock": null,
            "max_stock": null,
            "min_price": null,
            "max_price": null,
            "in_stock_only": false,
            "orderby": "sku",
            "order": "asc"
        },
        "summary": {
            "total_products": 3,
            "in_stock_count": 2,
            "out_of_stock_count": 1,
            "low_stock_count": 1,
            "total_stock_units": 50,
            "avg_stock_level": 16.67,
            "min_price": "17.50",
            "max_price": "34.90",
            "avg_price": "27.10"
        },
        "user": {
            "id": 123,
            "username": "test"
        }
    },
    "timestamp": "2025-07-08T13:52:09+11:00",
    "api_version": "1.0",
    "status_code": 200
}
GET /wp-json/rubies/v1/tracking
v1.0 AUTH REQUIRED

Tracking

Get All User's Tracking Information

🔒 Authentication

This endpoint requires authentication using Basic.

📥 Response Body

{
    "success": true,
    "data": {
        "user": {
            "id": 836,
            "username": "TEST",
            "display_name": "test test"
        },
        "tracking_items": [
            {
                "tracking_number": "123213123",
                "carrier": "Australia Post",
                "customer_id": 836,
                "customer_po": "81743834",
                "rubies_web_order": "WEB14948",
                "tracking_url": null
            }
        ],
        "total_items": 1,
        "filter_applied": null
    },
    "timestamp": "2025-07-08T13:56:37+11:00",
    "api_version": "1.0",
    "status_code": 200
}