Integrations

RPC API for External Control

· By Media La Vista

The SpinetiX RPC API enables external systems to control player behaviour in real time. Unlike the REST API (designed for management), the RPC API is designed for action — switching playlists, triggering overlays, setting shared variables, and executing emergency overrides. An alarm system, IoT sensor, reception kiosk, or business application sends an HTTP POST, and the player responds instantly. This is the foundation of event-driven digital signage.

RPC Capabilities

Playlist Control

Switch the active playlist programmatically. A conference management system sends an RPC command 5 minutes before a session starts — the screen outside the conference room switches from generic lobby content to the session title, speaker name, and schedule. When the session ends, another RPC call restores the default lobby playlist.

Shared Variables

Shared variables are the simplest integration mechanism. Set a key-value pair via RPC (e.g. POST /rpc with a JSON body specifying the variable name and value), and the content template renders the current value. No data feed configuration needed — just an HTTP POST and a template that reads the variable.

  • Queue management: queue_number=42 → "Now Serving: 42"
  • Welcome messages: guest_name=Al Maktoum → "Welcome, Al Maktoum"
  • Score updates: home_score=3, away_score=1 → live scoreboard
  • Alert levels: alert=warning → yellow alert banner overlay

Emergency Override

The highest-priority RPC command. When a building management system or fire alarm sends an emergency trigger, all players immediately switch to the emergency playlist — evacuation routes, assembly points, and scrolling instructions. This override takes precedence over all scheduled content and cannot be overridden by normal content commands.

Trigger Events

Content projects can define named events that RPC commands trigger. A goal in a stadium sends a "goal_scored" event — the content plays a celebration animation. A VIP enters the building — "vip_arrival" triggers a personalized welcome on the lobby display. Events are defined in the content project, triggered externally.

Integration Examples

Source SystemRPC CommandScreen Response
Fire alarmactivatePlaylist("emergency")Evacuation routes on all screens
Queue systemsetVariable("now_serving", "42")"Now Serving: 42" on counter display
Reception desksetVariable("guest", "Ahmed")"Welcome Ahmed" on lobby screen
Scoring systemtriggerEvent("goal_home")Goal celebration animation
IoT sensorsetVariable("temp", "23°C")Room temperature display
Calendar systemactivatePlaylist("meeting_in_progress")Meeting room status → occupied

Key Parameters

ParameterValueWhy It Matters
ProtocolHTTP POSTStandard web protocol, any language
LatencyMillisecondsReal-time response for event-driven use
AuthenticationBasic auth / player passwordPrevent unauthorized control
Variable persistenceUntil next set or rebootValues survive playlist changes
Emergency priorityHighest — overrides all contentLife-safety compliance

Common Mistakes

  1. No authentication on RPC endpoints. Without authentication, anyone on the network can trigger emergency overrides or change content. Always set a player password and require authentication for RPC calls.
  2. Not handling RPC failures. If the player is rebooting and the queue system sends "now_serving=43", the update is lost. Implement retry logic with a short delay — the player will be online again in under 30 seconds.
  3. Using RPC for data that should be a feed. If you're setting 50 variables every 5 seconds, you're using the wrong integration pattern. Use a data feed (REST API → JSON) for high-volume structured data. Use RPC for event triggers and individual variable updates.
  4. No emergency content testing. The RPC emergency trigger is useless if the emergency playlist hasn't been designed and tested. Create and verify emergency content during commissioning, not during actual emergencies.
SpinetiX Reference
RPC API documentation, shared variables, and event trigger reference.

RPC API for External Control FAQ

What is the RPC API?

The RPC (Remote Procedure Call) API allows external systems to send commands to SpinetiX players in real time. Commands include: switch playlist, show emergency message, set shared variable, trigger animation, and control playback. It's the mechanism for event-driven content changes.

How is RPC different from REST?

REST API is for management (status, config, content upload). RPC API is for real-time control (trigger content changes, set variables, send commands). REST reads/writes data. RPC executes actions on the player. Both use HTTP, but serve different purposes.

Can an alarm system trigger emergency content?

Yes. The alarm system sends an HTTP POST to the player's RPC endpoint with a command to activate the emergency playlist. All screens immediately switch to evacuation routes, assembly points, and safety instructions. When the alarm clears, another RPC call restores normal content.

What are shared variables?

Shared variables are key-value pairs stored on the player that content can read. External systems set variables via RPC (e.g., 'queue_number=42'), and the content template displays the current value. This is the simplest way to inject real-time data without data feed infrastructure.

Is there latency in RPC commands?

RPC commands execute within milliseconds of receipt. The player processes the HTTP request and applies the command immediately. For event-driven use cases (emergency, goal scored, VIP arrival), the response is effectively instantaneous.

Need Help With Your Project?

Media La Vista provides Tier 1–3 local support across the Middle East. 10-minute response for Partner Club members.

This page is available in English only
هذه الصفحة متوفرة باللغة الإنجليزية فقط
NS
Media La Vista support
Typically replies natively
مرحباً بكم في دعم SpinetiX عبر واتساب

كيف يمكنني مساعدتكم في حلول اللوحات الرقمية، أو البنية التحتية AV/IT، أو منتجات SpinetiX؟
Hello and welcome to SpinetiX Support on WhatsApp.

How can I help you with digital signage solutions, AV/IT infrastructure, or SpinetiX products?