Skip to content

Merchant API

Method Endpoint Description
POST /api/merchant/get Get merchant
GET /api/merchant/status Get merchant status
POST /api/image/preview Preview merchant logo
POST /api/image/store Store merchant logo
POST /api/merchant/store Store merchant

Get merchant

POST /api/merchant/get

Get merchant

Request Body

Use empty body. Filters are not supported yet.

Schema: GetMerchantRequest

Responses

500 — An error occurred...

default — Standard response

Schema: MerchantResponse


Get merchant status

GET /api/merchant/status

Get merchant's certificate status:

  • expiration date,
  • whether or not to show a warning message.

Responses

500 — An error occurred...

default — Success

Schema: CertificateStatusResponse


POST /api/image/preview

Preview merchant image which might be printed on receipts

Request Body

Image data for which the preview should be generated

Schema: PreviewImageRequest

Examples

Image preview for both variants

Print and electronic receipt image preview with a PNG logo in Base64 format to see how it would fit on the receipt

{
  "imageData": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAADMSURBVFhH7ZRJDsMgDAD9id56zGP7jrwul76hkSOVUjBeMBQfOpJzCCIzWRR4LQauA8DXzILyxAr4FfECVmIKuMr3ozz9ea/EmoQ6gJNwaxKqgCQgJNyaBlvAflQSbk2DPqAh8Nw9YgqgCBHgwbd7AP+AKQHP+5ZGogp4f9UPuKkvUjIswBqRi3Fwv0QVgPREUPLuAMQS0ZK7ApBWRGtysUaOsAFIGaEdLWIAkv73irFi3lEKPXKkb9dAYgR4HmEPuS9WwOwQyhMjYCUnChgemKrC3ZUAAAAASUVORK5CYII=",
  "fitOnReceipt": true,
  "format": "BOTH"
}

Request for a printed logo preview

{
  "imageData": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAADMSURBVFhH7ZRJDsMgDAD9id56zGP7jrwul76hkSOVUjBeMBQfOpJzCCIzWRR4LQauA8DXzILyxAr4FfECVmIKuMr3ozz9ea/EmoQ6gJNwaxKqgCQgJNyaBlvAflQSbk2DPqAh8Nw9YgqgCBHgwbd7AP+AKQHP+5ZGogp4f9UPuKkvUjIswBqRi3Fwv0QVgPREUPLuAMQS0ZK7ApBWRGtysUaOsAFIGaEdLWIAkv73irFi3lEKPXKkb9dAYgR4HmEPuS9WwOwQyhMjYCUnChgemKrC3ZUAAAAASUVORK5CYII=",
  "format": "PRINT"
}
Electronic logo preview

Request for an electronic logo preview

{
  "imageData": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAADMSURBVFhH7ZRJDsMgDAD9id56zGP7jrwul76hkSOVUjBeMBQfOpJzCCIzWRR4LQauA8DXzILyxAr4FfECVmIKuMr3ozz9ea/EmoQ6gJNwaxKqgCQgJNyaBlvAflQSbk2DPqAh8Nw9YgqgCBHgwbd7AP+AKQHP+5ZGogp4f9UPuKkvUjIswBqRi3Fwv0QVgPREUPLuAMQS0ZK7ApBWRGtysUaOsAFIGaEdLWIAkv73irFi3lEKPXKkb9dAYgR4HmEPuS9WwOwQyhMjYCUnChgemKrC3ZUAAAAASUVORK5CYII=",
  "format": "ELECTRONIC"
}

Responses

200 — Response with PNG logos in BASE64 format

Schema: LogoPreviewResponse

Both previews response on receipt

The response contains bot printed and electronic receipt previews on the receipt to see how they would fit.

{
  "resultCode": 0,
  "printedLogoData": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAAgAQAAAADSivroAAAAr0lEQVR4XtXVsQkCURBF0QXNtYMtYUvY0jRbMDE0HKzEErQFQTDdcBVxzN9/wQ0+HzzhC24402UlnQ6lKfOuW6llKDJfupVahhgSeh51MUjoGroYJDRtdDFI6DToYpBQ9LoYJHQZdTFIKHa6GCSE/Glo0cEAoTnfOhkkND50MkBoiZtOBgh9hoNOBgh9t2edDBDK9UoXg4T2tc7I3OtikBDSMhS13lHUClV72dVCzA8CJOQrFK5viQAAAABJRU5ErkJggg==",
  "electronicLogoData": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAB2CAYAAADbR6SBAAACJklEQVR4Xu3aMU7DMABA0VyCjZHDcg5Ox8IZglIVGkKEPh7j9yQPseXN7VfcLisABMtxAgDOCAYAiWAAkAgGAIlgAJAIBgCJYACQCAYAiWAAkAgGAIlgAJAIBgCJYACQCAYAiWAAkAgGAIlgAJAIBgCJYACQCAYAiWAAkAgGAIlgAJAIBgCJYACQCAYAiWAAkAgGAIlgAJAIBlNaluU2/mNkD1yJ08+URr/4R/fBFTj9ACSCAXf7t4fb9dPb+24VEAxYfwfi+AwIBtwcf5s4PgOCAUAkGAAkgsHUtqunj+eX4/S3be2vdZiJYDC1LRivy9NpFL5isa0DggE/orEf25xYwINgwHr/G+3JAB58IgBIBIMpjb49jO6DK3D6mdLIldPIHrgSpx+ARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOARDAASAQDgEQwAEgEA4BEMABIBAOA5BNo+/1j8WR0rQAAAABJRU5ErkJggg=="
}
Physical print preview

The response contains just the printed version of the logo. No negative space is used. The purpose of this response is to check how the shading is done, since the thermal printers do print only black colors.

{
  "resultCode": 0,
  "printedLogoData": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQAAAABbAUdZAAAAZ0lEQVR4XmP4DwQM7f//P4QQ8////wkhwBL/n/cDifPzgUQ7P5CYrg8k5ssDif32IFb9f6g6JOLHf4YP/38BCfsn/xl+zL/wn+GPftd/hn8CC4GyLMxAogFk1AeQKXBtCHsRbgFJAADtbmwzR1+DpwAAAABJRU5ErkJggg=="
}
Electronic logo preview

The response contains just the electronic version of the logo, without any negative space. The purpose of this response is to check how the logo was scaled down.

{
  "resultCode": 0,
  "electronicLogoData": "iVBORw0KGgoAAAANSUhEUgAAAEwAAABhCAYAAAB8pUfDAAABVklEQVR4Xu3XQUrEMABA0V7CnUsP6zk8nRvPoGRgpBQZ+KWYDLwHWTQhpPNpFrN9k2zHCR4TLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLJoWbNu22yjO7LnatNPP/vCz+64y9/QntFSw/ddzu34fn7vVNSwT7Bjo+LyKpYI9el7Fmm+1MMGi6cHG1ft6fTtO/xprj9b/2xLB3reXP6PcY431VUwPNuyj7ceYWynWsESw4f635zhWs94bLW5asLNfz9l9V5l2+pkrd2bP1eae/oQEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIsEiwSLBIt+AJ6PUHe3MoB1AAAAAElFTkSuQmCC"
}

500 — Response if the input validation fails or the preview couldn't be made

Schema: ErrorResponse

Invalid input image

Response returned if the input image couldn't be parsed.

{
  "resultCode": 701,
  "error": "java.lang.IllegalArgumentException: Unsupported format"
}

POST /api/image/store

Store merchant image which will be printed on receipts

Request Body

Image data or null to remove the logo

Schema: StoreImageRequest

Examples

PNG Image upload

Saves the PNG logo in Base64 format into the CHDU memory.

{
  "imageData": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAADMSURBVFhH7ZRJDsMgDAD9id56zGP7jrwul76hkSOVUjBeMBQfOpJzCCIzWRR4LQauA8DXzILyxAr4FfECVmIKuMr3ozz9ea/EmoQ6gJNwaxKqgCQgJNyaBlvAflQSbk2DPqAh8Nw9YgqgCBHgwbd7AP+AKQHP+5ZGogp4f9UPuKkvUjIswBqRi3Fwv0QVgPREUPLuAMQS0ZK7ApBWRGtysUaOsAFIGaEdLWIAkv73irFi3lEKPXKkb9dAYgR4HmEPuS9WwOwQyhMjYCUnChgemKrC3ZUAAAAASUVORK5CYII="
}

Responses

500 — Some error occurred...

default — Response description...

Schema: GenericResponse


Store merchant

POST /api/merchant/store

Store new merchant data.

Request Body

Merchant data - authentication data, identification data and their passwords

Schema: StoreMerchantRequest

Responses

500 — An error occurred...

default — Data of the newly stored merchant

Schema: MerchantResponse