Client Action

A “clientAction” option in the response packet is used by the server to ask the client to perform an action other than printing, or to return information that is not typically included inside the normal client POST Request packet.

If the server issues a “clientAction” request, then the client will send a POST Request in reply as soon as it has handled this action, instead of at the usual poll interval.

For performance, multiple client actions can be passed as an array, allowing several requests to be made simultaneously.
Clients can also respond with an array, and in some cases may generate several responses. For example a firmware update may issue an action at the start, and the end of the update process.
Normal printing operation is entirely possible without requiring any client action features.

Important

For printers running with CloudPRNT Version MQTT Full MQTT / Pass URL, request Client Action using MQTT message order-client-action instead of POST response.

Supported Client Actions are:

Client Action Request

HI01X/02X Version (*1)

mC-Print2/3 Version (*2)

TSP100IV Version (*2)

TSP100IV SK Version (*2)

mC-Label3 Version (*2)

ClientType

1.0

1.2

1.0

2.0

1.0

ClientVersion

1.0

1.2

1.0

2.0

1.0

Encodings

1.0

1.2

1.0

2.0

1.0

SetID

1.0

1.2

1.0

2.0

1.0

GetPollInterval

1.0

1.2

1.0

2.0

1.0

PageInfo

1.4

1.2

1.0

2.0

1.0

SetPostUrl

1.8

3.5

1.0

2.0

1.0

PaperPresentStatusMonitor

1.9 (*3)

n/a

n/a

2.0

1.0

PaperPresentStatusControl

1.9 (*3)

n/a

n/a

2.0

1.0

HoldPrintControl

1.9 (*3)

n/a

n/a

2.0

1.0

GetConfig

n/a

n/a

n/a

n/a

1.0

RequestGetServerInfo

n/a

5.1

n/a

n/a

n/a

(*1) Minimum interface board firmware version.
(*2) Minimum printer firmware version.
(*3) This feature is available with TSP650IISK printer and IFBD-HI01X.

Note

Client Actions are technically optional, and may not all be supported by all clients. If client is not supported a feature, then it is described “n/a” in the above table.

Client Action Request

Parameter

Client Request result

ClientType

Responds with a fixed string indicating the client type.
Pre-defined types are:
“Star Intelligent Interface HE01x/HE02x“ - (IFBD-HI01X/HI02X)
“Star mC-Print2” - (mC-Print2)
“Star mC-Print3” - (mC-Print3)
“Star TSP100IV” - (TSP100IV)
“Star TSP100IV SK” - (TSP100IV SK)
“Star mC-Label3” - (mC-Label3)

ClientVersion

Responds with the CloudPRNT version implemented by the client.
Pre-defined types are:
IFBD-HI01X/02X: X.X.X
mC-Print2/3: X.X
TSP100IV: X.X
TSP100IV SK: X.X
mC-Label3: X.X

Currently this will always be “1.0.x” for IFBD-HI01X/02X.
Where 1.0 represents the CloudPRNT specification version, and “x” the implementation revision(It is also possible to be “1.8.x”, “2.x.x” etc…).

Encodings

Returns a semi-colon separated list of supported print job content encodings supported by this client.
The encoding name follows the common http mime/content type string format.

SetID

New ID string

Set the ID (*) that the client will use within the “uniqueID” field of POST/GET requests.
* The length of this ID is limited to 31 characters for mC-Print2/3. And this ID is written to the printer’s non-volatile memory. And please try to avoid using this ID for each print job because of the life of the non-volatile memory.

GetPollInterval

Report the clients polling interval in seconds.
This may be used by the server to determine a safe timeout for determining a loss of client connection.

PageInfo

Request printer page information, which will be returned as a JSON formatted object, containing the string fields:
{
“paperWidth”: “”,
“printWidth”: “”,
“horizontalResolution”: “”,
“verticalResolution”: “”
}
These are returned as a string to avoid rounding errors.

SetPostUrl

URL string

Set an alternative URL for performing polls with http POST operations.
Once specified, the cloudPRNT device will poll this Url instead of the default provided by device configuration.
This URL will be saved as the default, and used for all http requests.
If polling the alternative URL fails for more than a specified time-out or http status code error, then the cloudPRNT device will fall back to the original, configuration specified URL by Web Config UI and the information of the new URL in the device will be deleted.

PaperPresentStatusMonitor

“enable” / “disable”

Set a flag if paper present status check automatically in client.
And client will reply "enable" or "disable" as result string value in clientAction to inform the current setting.

"enable": If printer is a paper present then client does not issue a GET request(or does not print a job) until the paper present is resolved.
"disable": Client does not check about paper present status.

The default value is "enable".

PaperPresentStatusControl

“default” / “valid” / “invalid”

Set a flag that the client will use to decide a command about an control of paper present status send to printer at prnting a job.
And client will reply "default", "valid", or "invalid" as result string value to inform the current setting.

"default": After sending next print job, follows a client’s memory switch setting.
"valid": After sending next print job, informs the paper present status in printer ASB status at 7th byte.
"invalid: After sending next print job, does not inform the paper present status.

The default value is "default".

HoldPrintControl

“default” / “valid” / “invalid”

Set a flag that the client will use to decide a command about an control of hold print send to printer at prnting a job.
And client will reply "default", "valid", or "invalid" as result string value to inform the current setting.

"default": After sending next print job, follows a client’s memory switch setting.
"valid": After sending next print job, enable the FW control of hold print.
"invalid": After sending next print job, disable the FW control of hold print.

The default value is "invalid".
And it strongly recommends to set invalid for this setting and controls a hold print situation by PaperPresentStatusMonitor and PaperPresentStatusControl.

GetConfig

“” / “{\”password\”:\”xxxxxx\”}”

Responds with the detailed configuration information configured for the client.
The data format responded to conforms to the title / version / configurations keys specification in Star Configuration Format Specification:
{
“title”: “star_configuration”,
“version”: “X.X.X”, (X is numeric)
“configurations”: [
{
}
]
}

"" : A JSON object containing the title / version / configurations(except the password_protected_settings item) keys are obtained.
"{\"password\":\"xxxxxx\"}" : A JSON object containing the title / version / configurations keys are obtained.

xxxxxx is the password value to be used in the printer’s Web Configuration UI.
e.g. “options”:”{\”password\”:\”public\”}”

RequestGetServerInfo