Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.spojit.com/llms.txt

Use this file to discover all available pages before exploring further.

The Revel Systems connector lets your workflows manage orders, products, customers, inventory, and employees through the Revel Systems POS API.
For the full API reference, see the Revel Systems API documentation.

Connection setup

1

Get your API credentials

Log in to your Revel Systems account and navigate to the developer settings to obtain your API Key and API Secret. You’ll also need your account subdomain (the part before .revelup.com).
2

Add the connection in Spojit

Go to Connections in Spojit, click Add Connection, select Revel Systems, and enter:
  • Subdomain: Your Revel subdomain (e.g., mystore)
  • API Key: Your Revel API key
  • API Secret: Your Revel API secret

Tools

Orders

limit
number
default:"20"
Number of results to return.
offset
number
Offset for pagination.
created_date__gte
string
Filter orders created on or after this date (ISO 8601).
created_date__lte
string
Filter orders created on or before this date (ISO 8601).
establishment
number
Filter by establishment ID.
ordering
string
Sort field (e.g., -created_date).
Example request:
{
  "limit": 5,
  "created_date__gte": "2024-06-01T00:00:00",
  "ordering": "-created_date"
}
Example response:
{
  "meta": {
    "limit": 5,
    "next": "/resources/Order/?limit=5&offset=5",
    "offset": 0,
    "previous": null,
    "total_count": 142
  },
  "objects": [
    {
      "id": 10542,
      "created_date": "2024-06-15T14:32:00",
      "closed_date": "2024-06-15T14:45:00",
      "establishment": "/enterprise/Establishment/1/",
      "dining_option": 0,
      "subtotal": 28.50,
      "tax": 2.85,
      "total": 31.35,
      "discount_amount": 0,
      "orderitem_set": [
        "/resources/OrderItem/45321/",
        "/resources/OrderItem/45322/"
      ]
    }
  ]
}
id
number
required
Revel order ID.
Example request:
{
  "id": 10542
}
Example response:
{
  "id": 10542,
  "created_date": "2024-06-15T14:32:00",
  "closed_date": "2024-06-15T14:45:00",
  "establishment": "/enterprise/Establishment/1/",
  "dining_option": 0,
  "subtotal": 28.50,
  "tax": 2.85,
  "total": 31.35,
  "discount_amount": 0,
  "notes": "Extra napkins",
  "customer": "/resources/Customer/456/",
  "orderitem_set": [
    "/resources/OrderItem/45321/",
    "/resources/OrderItem/45322/"
  ],
  "payments": [
    "/resources/Payment/7890/"
  ]
}
order
object
required
Order object with establishment, items, dining_option, etc.
Example request:
{
  "order": {
    "establishment": "/enterprise/Establishment/1/",
    "dining_option": 0,
    "notes": "Gluten-free",
    "items": [
      {
        "product": "/resources/Product/101/",
        "quantity": 2,
        "price": 12.99
      }
    ]
  }
}
Example response:
{
  "id": 10543,
  "created_date": "2024-06-15T15:00:00",
  "establishment": "/enterprise/Establishment/1/",
  "dining_option": 0,
  "subtotal": 25.98,
  "tax": 2.60,
  "total": 28.58,
  "resource_uri": "/resources/Order/10543/"
}

Products

limit
number
default:"20"
Number of results.
offset
number
Offset for pagination.
name
string
Filter by product name.
active
boolean
Filter by active status.
ordering
string
Sort field.
Example request:
{
  "active": true,
  "limit": 3
}
Example response:
{
  "meta": { "limit": 3, "total_count": 85 },
  "objects": [
    {
      "id": 101,
      "name": "Margherita Pizza",
      "price": 14.99,
      "cost": 4.50,
      "barcode": "123456789",
      "active": true,
      "category": "/resources/ProductCategory/5/",
      "tax_class": "/resources/TaxClass/1/"
    },
    {
      "id": 102,
      "name": "Caesar Salad",
      "price": 10.99,
      "cost": 3.20,
      "active": true,
      "category": "/resources/ProductCategory/6/"
    }
  ]
}
id
number
required
Revel product ID.
Example request:
{
  "id": 101
}
Example response:
{
  "id": 101,
  "name": "Margherita Pizza",
  "price": 14.99,
  "cost": 4.50,
  "barcode": "123456789",
  "active": true,
  "description": "Classic margherita with fresh mozzarella and basil",
  "category": "/resources/ProductCategory/5/",
  "tax_class": "/resources/TaxClass/1/",
  "resource_uri": "/resources/Product/101/"
}
product
object
required
Product object with name, price, cost, barcode, category, etc.
Example request:
{
  "product": {
    "name": "Tiramisu",
    "price": 8.99,
    "cost": 2.50,
    "barcode": "987654321",
    "active": true,
    "category": "/resources/ProductCategory/7/",
    "description": "Classic Italian dessert"
  }
}
Example response:
{
  "id": 201,
  "name": "Tiramisu",
  "price": 8.99,
  "active": true,
  "resource_uri": "/resources/Product/201/"
}

Customers

limit
number
default:"20"
Number of results.
offset
number
Offset for pagination.
email
string
Filter by email.
phone_number
string
Filter by phone number.
ordering
string
Sort field.
Example request:
{
  "limit": 2
}
Example response:
{
  "meta": { "limit": 2, "total_count": 340 },
  "objects": [
    {
      "id": 456,
      "first_name": "John",
      "last_name": "Smith",
      "email": "john.smith@example.com",
      "phone_number": "+15005550001",
      "address": "123 Main St, New York, NY 10001",
      "loyalty_points": 250
    },
    {
      "id": 457,
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "jane.doe@example.com",
      "phone_number": "+15005550002",
      "loyalty_points": 180
    }
  ]
}
id
number
required
Revel customer ID.
Example request:
{
  "id": 456
}
Example response:
{
  "id": 456,
  "first_name": "John",
  "last_name": "Smith",
  "email": "john.smith@example.com",
  "phone_number": "+15005550001",
  "address": "123 Main St, New York, NY 10001",
  "loyalty_points": 250,
  "created_date": "2024-01-15T09:00:00",
  "resource_uri": "/resources/Customer/456/"
}
customer
object
required
Customer object with first_name, last_name, email, phone_number, address, etc.
Example request:
{
  "customer": {
    "first_name": "Emily",
    "last_name": "Chen",
    "email": "emily.chen@example.com",
    "phone_number": "+15005550003",
    "address": "456 Oak Ave, San Francisco, CA 94102"
  }
}
Example response:
{
  "id": 789,
  "first_name": "Emily",
  "last_name": "Chen",
  "email": "emily.chen@example.com",
  "resource_uri": "/resources/Customer/789/"
}

Inventory

limit
number
default:"20"
Number of results.
offset
number
Offset for pagination.
product
number
Filter by product ID.
establishment
number
Filter by establishment ID.
Example request:
{
  "establishment": 1,
  "limit": 3
}
Example response:
{
  "meta": { "limit": 3, "total_count": 85 },
  "objects": [
    {
      "id": 1001,
      "product": "/resources/Product/101/",
      "establishment": "/enterprise/Establishment/1/",
      "qty": 45.0,
      "updated_date": "2024-06-15T08:00:00"
    },
    {
      "id": 1002,
      "product": "/resources/Product/102/",
      "establishment": "/enterprise/Establishment/1/",
      "qty": 12.0,
      "updated_date": "2024-06-15T08:00:00"
    }
  ]
}

Employees

limit
number
default:"20"
Number of results.
offset
number
Offset for pagination.
establishment
number
Filter by establishment ID.
ordering
string
Sort field.
Example request:
{
  "establishment": 1
}
Example response:
{
  "meta": { "limit": 20, "total_count": 15 },
  "objects": [
    {
      "id": 301,
      "first_name": "Alice",
      "last_name": "Johnson",
      "email": "alice@restaurant.com",
      "role": "/resources/Role/2/",
      "establishment": "/enterprise/Establishment/1/",
      "status": 0,
      "hire_date": "2023-06-01"
    },
    {
      "id": 302,
      "first_name": "Bob",
      "last_name": "Williams",
      "email": "bob@restaurant.com",
      "role": "/resources/Role/3/",
      "establishment": "/enterprise/Establishment/1/",
      "status": 0,
      "hire_date": "2024-01-15"
    }
  ]
}

Advanced

Send a request to any Revel Systems API endpoint.
method
string
required
HTTP method: GET, POST, PUT, PATCH, or DELETE.
path
string
required
API path (e.g., /resources/Discount/ or /resources/Tax/).
body
object
Request body (for POST/PUT/PATCH).
Example request:
{
  "method": "GET",
  "path": "/resources/Discount/",
  "body": null
}
Example response:
{
  "meta": { "limit": 20, "total_count": 3 },
  "objects": [
    {
      "id": 1,
      "name": "Happy Hour 20%",
      "type": 0,
      "value": 20.0,
      "active": true
    },
    {
      "id": 2,
      "name": "Employee Discount",
      "type": 0,
      "value": 50.0,
      "active": true
    }
  ]
}