Add an asset to a terminal theme
Adds an image or video (an 'asset') to a terminal theme owned by the merchant account specified in the path. This endpoint is rate limited.
An asset is used for a specific screen type or screen element, and a specific Android terminal model. You must specify this using the query parameters type and model. The asset binary itself is uploaded as multipart/form-data with a single file part called file, which must declare one of the following supported Content-Type values:
- image/svg+xml: only for the combination
typelogo withmodelAll. - video/mp4 or video/quicktime: only for
modelSFO1 or M450. - image/jpeg (or image/jpg): for all
modelvalues except All. - image/png: for all
modelvalues except All. - image/gif: for all
modelvalues except SFO1 and M450.
The maximum size of the asset depends on the terminal model: 100 MB for model SFO1 and M450, or 10 MB for all other model values.
If the theme already has an asset for the same combination of type and model, the request fails and you need to upload the new asset using the /merchants/{merchantId}/terminalThemes/{id}/assets/replace endpoint.
To make this request, your API credential must have the following role:
- Management API - Terminal themes read and write
The Android terminal model that the asset is for. Use All only if the type is logo. For every other screen type specify a single Android terminal model such as AMS1.
The screen type or screen element that the asset is for:
- logo: your logo. Only supported if
modelis All. - homeScreen: the default background screen.
- idleScreen: a screensaver shown when the terminal is inactive. Only supported if
modelis SFO1 or M450. - afterPaymentScreen: a screen shown after the payment is completed.
- shopperEngagementScreen: a screen shown during a shopper engagement request. Only supported if
modelis SFO1 or M450.
The unique identifier of the terminal theme.
The unique identifier of the merchant account.
The asset file. The part must declare a specific supported Content-Type; which Content-Type is accepted depends on the asset type and terminal model (see the endpoint description for the full mapping). The file extension is derived from it. A request with a generic or missing Content-Type such as application/octet-stream is rejected with response code 422. The maximum asset size depends on the terminal model: up to 100 MB for SFO1 and M450, or 10 MB for all other models.
After submitting a call, you receive a response message to inform you that your request was received and processed.
Depending on the HTTP status code of the response message, it is helpful to build some logic to handle any errors that a request or the system may return.
HTTP Responses
201
Created
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
422
Unprocessable Entity
429
Too Many Requests
500
Internal Server Error