- Posts: 22
- Thank you received: 1
×
For developers and enthusiasts wanting to discuss integrations and the use of ITVDesk's API.
POS Overlay & POS-to-Video Synchronization (ITVDesk IPCam)
1 week 22 hours ago - 1 week 22 hours ago #23
by admin
1. OverviewThe POS Overlay API enables real-time display of receipt data on video, ensuring that every transaction is visually and temporally synchronized with the recording.Typical workflow:
2. API EndpointPOSTProtocol: HTTP
Method: POST
Content-Type: application/json3. Required JSON ParametersParameterTypeDescriptionuristringRTSP stream URI where the POS overlay will be displayedtokenstringAuthentication informatcmdstringPOS command (,,,) 4. Optional ParametersParameterTypeDescriptiontitlestringCash desk / register namebillidstringReceipt / transaction identifiertextstringItem or total textttlintegerTime-to-live in millisecondsNote:defines how long the overlay remains visible if thecommand is not sent.
5. POS Commands5.1– Open Receipt SessionInitializes a new POS overlay session.curl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "open",
"title": "CASH DESK 1",
"billid": "2026-01-14-0330123",
"ttl": 5000
}'
Effect:– Add Receipt ItemAdds a new line to the active receipt.
curl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "item",
"title": "CASH DESK 1",
"billid": "2026-01-14-0330123",
"text": "COFFEE 2.50",
"ttl": 5000
}'Notes:– Display Total AmountDisplays the final total.
curl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "total",
"text": "TOTAL 6.40"
}'Effect:– Close POS OverlayImmediately closes the POS overlay.
curl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "close"
}'Effect:is not sent:
ttl: 5000 → overlay closes after 5 seconds of inactivity
7. Recommended Call Sequence).Each receipt is:
"uri": "rtsp://192.168.68.76:554/ipc1-stream1/screenlive",
"token": "admin:admin",
"billId": "2026-01-14-0330123"
}
10.5 Search Response Example{
"found": true,
"billId": "2026-01-14-0330123",
"utc": 1768601388,
"recordingToken": "RecordingToken_16",
"replayUrl": "rtsp://192.168.68.81:554/ipc1-stream1/screenlive/replay?earliest=1768601368&latest=1768601398"
}
11. ONVIF Replay & POS Integration Benefits
ITVDesk Team
- Open a receipt
- Add item lines
- Display the total amount
- Close the receipt (manually or automatically)
- Shown live on screen
- Embedded directly into the video recording
- Time-synchronized with the video stream
2. API EndpointPOST
http://<ITVDESK_IP>:7033/pos/pushMethod: POST
Content-Type: application/json3. Required JSON ParametersParameterTypeDescriptionuristringRTSP stream URI where the POS overlay will be displayedtokenstringAuthentication in
username:passwordopenitemtotalclosettlclose5. POS Commands5.1
open-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "open",
"title": "CASH DESK 1",
"billid": "2026-01-14-0330123",
"ttl": 5000
}'
Effect:
- POS overlay window appears
- Receipt session starts
- TTL countdown begins
itemcurl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "item",
"title": "CASH DESK 1",
"billid": "2026-01-14-0330123",
"text": "COFFEE 2.50",
"ttl": 5000
}'Notes:
- Can be called multiple times
- Each call appends a new line
- TTL is refreshed on each call
totalcurl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "total",
"text": "TOTAL 6.40"
}'Effect:
- Final total line is displayed
- Overlay remains visible until closed or TTL expires
closecurl -i -X POST "http://192.168.68.82:7033/pos/push" \
-H "Content-Type: application/json" \
-d '{
"uri": "rtsp://192.168.68.82:5554/ipc1-stream1/screenlive",
"token": "admin:admin",
"cmd": "close"
}'Effect:
- Overlay disappears instantly
- Receipt session ends
close- The overlay automatically closes afterexpires
ttl
- TTL acts as a safety fallback
ttl: 5000 → overlay closes after 5 seconds of inactivity
7. Recommended Call Sequence
open
- (repeat as needed)
item
total
- (or wait for TTL)
close
- POS and video synchronization
- Cash register monitoring
- Transaction verification
- Fraud prevention
- Retail and hospitality surveillance
- API is HTTP stateless, but stateful per RTSP stream
- One active POS session per stream
- Multiple streams are supported simultaneously
- Overlay text is embedded directly into recorded video
billId- Displayed on screen
- Embedded into the video recording
- Indexed internally with exact UTC timestamps
- POS system sendsvia
billId
/pos/push
- ITVDesk associates it with:
- RTSP stream URI
- Recording token
- Exact UTC timestamps (open / close)
- Transaction data is stored as searchable metadata
- Replay is returned as a standard ONVIF-compatible RTSP stream
"uri": "rtsp://192.168.68.76:554/ipc1-stream1/screenlive",
"token": "admin:admin",
"billId": "2026-01-14-0330123"
}
10.5 Search Response Example{
"found": true,
"billId": "2026-01-14-0330123",
"utc": 1768601388,
"recordingToken": "RecordingToken_16",
"replayUrl": "rtsp://192.168.68.81:554/ipc1-stream1/screenlive/replay?earliest=1768601368&latest=1768601398"
}
11. ONVIF Replay & POS Integration Benefits
- Instant video lookup by receipt number
- Accurate POS-to-video correlation
- No manual timestamp searching
- ONVIF-standard interoperability
- Professional audit and compliance workflows
ITVDesk Team
Last edit: 1 week 22 hours ago by admin.
Please Log in or Create an account to join the conversation.

