bluefiredigital.com | Support
BlueFire MS Local Web Manager  
 
  BlueFire MS Pro API Specification

Draft Date: 7/24/2008
Author: Deny Patel

Abstract

This specification defines an API that provides digital signage software and kiosk control of BlueFire MS Pro software.

Introduction

The BlueFire MS Pro API defines a high-level interface to digital signage and kiosk software. The API itself is software, platform and language independent. It is Web API (calling API via http). The API runs on port 8080of the local machine bearing IP address 127.0.0.1

The following code extract illustrates how to call or trigger BlueFire MS Pro API.

http://<IP_ADDRESS>:<PORT>/<API>?param1=value1...

Following table explains all BlueFire MS Pro APIs.
API Call Takes Parameters Returns Value
StartInquiry No No
StopInquiry No No
InquiryStatus No Yes
HardStop Yes Yes
SetMobileFile Yes No
SetMobilePhone Yes No
AddBlackListPhone Yes No
RemoveBlackListPhone Yes No
ClearBlacklist Yes No
FoundPhones No Yes
LastFileSentToPhone Yes Yes
FileTimesByPhone Yes Yes
FilesByPhone Yes Yes
FileSentToPhone Yes Yes
FindDevices No Yes
FindObex Yes Yes
SetParentNode Yes No

 

API Description

StartInquiry

The StartInquiry API can be used to instruct BlueFire MS Pro to start looking for mobile phone with Bluetooth in visible mode. Once this API is called BlueFire MS Pro finds discoverable phone within range and initiates file transfer. If no file details are provided by the DS or Kiosk software, BlueFire MS Pro send default content to the phones only once.

Usage: http://127.0.0.1:8080/StartInquiry

Parameters: None

Return value: None

Example: http://127.0.0.1:8080/StartInquiry

StopInquiry

The StopInquiry API can be used to instruct BlueFire MS Pro to stop looking for mobile phone with Bluetooth in visible mode. Once this API is called BlueFire MS Pro stops inquiry process.

Usage: http://127.0.0.1:8080/StopInquiry

Parameters: None

Return value: None

Example: http://127.0.0.1:8080/StopInquiry


InquiryStatus

The InquiryStatus API can be used to determine if BlueFire MS Pro is in inquiry mode.

Usage: http://127.0.0.1:8080/InquiryStatus

Parameters: None

Return value: 1 if in inquiry mode, 0 if not.

Example: http://127.0.0.1:8080/InquiryStatus


HardStop

The HardStop API can be used to instruct BlueFire MS Pro to stop looking for mobile phone with Bluetooth in visible mode until next HardStop API is called again. Once this API is called BlueFire MS Pro stops inquiry process even if the StartInquiry API is called. HardStop API takes action as a parameter and value of hardstop or hardstart

Usage: http://127.0.0.1:8080/HardStop?action=<hardstop|hardstart>

Parameters: action=<hardstop|hardstart>

Return value: 1 (on successful call)

Example: http://127.0.0.1:8080/HardStop?action=hardstop
              http://127.0.0.1:8080/HardStop?action=hardstart


SetMobileFile

The SetMobileFile API instructs BlueFire MS Pro on which file should be delivered to the mobile phones. The file must be present on the local system. In addition to file parameter number of other parameters can delivered to BlueFire MS Pro via this API.

Bluetooth address of mobile phone can also be specified during this API. This will initiate transfer of given file to the specified phone.

Usage: http://127.0.0.1:8080/SetMobileFile?mFile=<file>...

Parameters: mFile=<file with path>
                   seqTag=<seqtag> (default: null)
                   blueprint=<true | false> (default: false)
                   foption=<BEST_FIT | BY_WIDTH | BY_HEIGHT> (default: BEST_FIT)
                   owner=<name of owner> (default : mFile)
                   group=<group name>(default : mFile)
                   df-WIDTHxLENGTH=<file with path with specified width and length>

                   phone=<Bluetooth MAC Address>

Parameters in green are optional.

Return value: None

Example: http://127.0.0.1:8080/SetMobileFile?mFile=Assets/logo.jpg
Example: http://127.0.0.1:8080/SetMobileFile?mFile=Assets/logo.jpg&seqTag=locationA
Example: http://127.0.0.1:8080/SetMobileFile?mFile=Assets/logo.jpg&phone=00192CC6C995
Example: http://127.0.0.1:8080/SetMobileFile?mFile=Assets/logo.jpg&&seqTag=locationA&phone=00192CC6C995
Example: http://127.0.0.1:8080/SetMobileFile?mFile=Assets/logo.jpg&blueprint=true&foption=BEST_FIT&df-176x220=file1&df-240x240=file2&df-220x176=file3&df-240x320=file4&df-320x240=file5


SetMobilePhone

The SetMobilePhone API sets mac address of the mobile phone for current file delivery. If the phone already has been delivered that file, the file will not be sent to the phone.

Usage: http://127.0.0.1:8080/SetMobilePhone?phone=<Bluetooth MAC Address>

Parameters: phone=<Bluetooth MAC Address>

Return value: None

Example: http://127.0.0.1:8080/SetMobilePhone?phone=00192CC6C995


AddBlackListPhone

The AddBlackListPhone API can be called to put specific mobile phone in to blacklist. The phone is removed from blacklist after specified time set in Advance Settings.

Usage: http://127.0.0.1:8080/AddBlackListPhone?phone=<Bluetooth MAC Address>

Parameters: phone=<Bluetooth MAC Address>

Return value: None

Example: http://127.0.0.1:8080/AddBlackListPhone?phone=00192CC6C995


RemoveBlackListPhone

The RemoveBlackListPhone API can be called to remove specific mobile phone from blacklist. Once removed BlueFire MS Pro will deliver files to it.

Usage: http://127.0.0.1:8080/RemoveBlackListPhone?phone=<Bluetooth MAC Address>

Parameters: phone=<Bluetooth MAC Address>

Return value: None

Example: http://127.0.0.1:8080/RemoveBlackListPhone?phone=00192CC6C995


ClearBlacklist

The ClearBlacklist API clears all mobile phones from blacklist.

Usage: http://127.0.0.1:8080/ClearBlacklist?minutes=0

Parameters: minutes=0

Return value: None

Example: http://127.0.0.1:8080/ClearBlacklist?minutes=0


FoundPhones

The FoundPhones API returns all discovered phones who are being searched for OBEX service or receiving file. This will not contain all phones who are in discoverable modes.

Usage: http://127.0.0.1:8080/FoundPhones

Parameters: None

Return value: Bluetooth Mac address of all discovered phones who are being searched for OBEX service or receiving file

Example: http://127.0.0.1:8080/FoundPhones


LastFileSentToPhone

The LastFileSentToPhone API returns last file sent to phone.

Usage: http://127.0.0.1:8080/LastFileSentToPhone?phone=<Bluetooth MAC Address>

Parameters: phone=<Bluetooth MAC Address>

Return value: Last file sent to phone

Example: http://127.0.0.1:8080/LastFileSentToPhone?phone=00192CC6C995


FileTimesByPhone

The FileTimeByPhone API returns all files sent to phone by file name and time separated by '=' sign one per line.

Usage: http://127.0.0.1:8080/FileTimesByPhone?phone=<Bluetooth MAC Address>

Parameters: phone=<Bluetooth MAC Address>

Return value: File=Time (long value) (one per line)

Example: http://127.0.0.1:8080/FileTimesByPhone?phone=00192CC6C995


FilesByPhone

The FilesByPhone API returns all files sent to phone by file name one per line.

Usage: http://127.0.0.1:8080/FilesByPhone?phone=<Bluetooth MAC Address>

Parameters: phone=<Bluetooth MAC Address>

Return value: File (one per line)

Example: http://127.0.0.1:8080/FilesByPhone?phone=00192CC6C995


FileSentToPhone

The FileSentToPhone API returns weather a specific file has been delivered to the give phone.

Usage: http://127.0.0.1:8080/FileSentToPhone?phone=<Bluetooth MAC Address>&file=<filename>

Parameters: phone=<Bluetooth MAC Address>
                   file=<filename>

Return value: 1 if file has been delivered to phone; 0 otherwise

Example: http://127.0.0.1:8080/FileSentToPhone?phone=00192CC6C995&file=Assets/logo2.jpg


FindDevices

The FindDevices API searches for visible mobile phones and returns all discovered phones within range.

Usage: http://127.0.0.1:8080/FindDevices

Parameters: None

Return value: MAC_ADDRESS=Friendly name (one per line. Note: friendly name may not be available)

Example: http://127.0.0.1:8080/FindDevices


FindObex

The FindObex API finds and returns OBEX channel on the phone is available for a given phone.

Usage: http://127.0.0.1:8080/

Parameters: phone=<Bluetooth MAC Address>

Return value: MAC_ADDRESS=OBEX channel (if no OBEX channel found, it is set to -1)

Example: http://127.0.0.1:8080/FindObex?phone=00192CC6C995


SetParentNode

The SetParentNode API set parent nodes' IP address and port. This API also instructs BlueFire MS Pro to connect to the parent node immediately.

Usage: http://127.0.0.1:8080/SetParentNode?ip=<IP Address>&port=<port>

Parameters: ip=<IP address>
                   port=<port>

Return value: None

Example: http://127.0.0.1:8080/SetParentNode?ip=192.168.1.96&port=8084
 


Support

For additional support regarding BlueFire MS Pro please email: support@bluefiredigital.com or visit www.bluefiredigital.com


Copyright ⓒ 2008 BlueFire Digital. All rights reserved