API für Kassen zur Interaktion mit Awiti-Gutscheinen: prüfen, einlösen und stornieren von Transaktionen.
Hinweis: Dieses Dokument ist ausschließlich in englischer Sprache verfügbar, um ein breiteres Verständnis bei allen beteiligten Entwicklern sicherzustellen.
Note: This document is available in English only to ensure broader understanding among all involved developers.
This API allows cash register systems to interact with Awiti vouchers – to check, redeem (debit), and cancel voucher transactions.
Important: All requests must include a valid Authorization header or will result in HTTP 401 Unauthorized.
https://api.awiti.com/
GET /api/poa/cash-registers/voucher
code: the voucher UUID or short_codedata: { totalAvailableAmount, baseBalance, totalCampaignBalance, availablePoints } - Balance successfully retrievedmessage: voucher_type_not_supported - Unsupported voucher typemessage: access_denied - Invalid or missing API keymessage: voucher_not_found - Voucher not foundmessage: ... - Server errortype: errors, data: [ { message: "..." } ] - Multiple error messagesExample Success Response:
{
"data": {
"totalAvailableAmount": "10.00",
"baseBalance": "10.00",
"totalCampaignBalance": "10.00",
"availablePoints": 100
}
}
POST /api/poa/cash-registers/voucher/debit
code: the voucher UUID or short_codeamount: the amount to be debiteddata: { message: debit_successful, transfers: ["UUID"] } - Successful debit, transfer ID(s) providedmessage: voucher_type_not_supported or insufficient_funds - Unsupported type or not enough balancemessage: access_denied - Invalid or missing API keymessage: voucher_not_found - Voucher not foundmessage: ... - Server errortype: errors, data: [ { message: "..." } ] - Multiple error messagesExample Success Response:
{
"data": {
"message": "debit_successful",
"transfers": [
"********-****-****-****-************"
]
}
}
⚠️ Important: Cancellations of transfers can only be made on the same day.
POST /api/poa/cash-registers/voucher/debit/cancel
code: the voucher UUID or short_codetransfers: list of transfer IDs received from the debit responsePossible Responses:
data: { message: cancel_successful } - Cancellation successfulmessage: transfer_cancellation_expired - Time window for cancellation expiredmessage: access_denied - Invalid or missing API keymessage: voucher_not_found or transfer_not_found - Voucher or transfer ID not foundmessage: ... - Server errortype: errors, data: [ { message: "..." } ] - Multiple error messagesExample Success Response:
{
"data": {
"message": "cancel_successful"
}
}
POST /api/poa/cash-registers/voucher/top-up
code: the voucher UUID or short_codeamount: the amount to be topped updata: { message: top_up_successful, transfers: ["UUID"] } - Successful top up, transfer ID(s) providedmessage: voucher_type_not_supported - Unsupported typemessage: error.higherThanBalanceLimit - Requested Amount is higher than the Balance limitmessage: error.higherThanTopUpLimit - Requested Amount is higher than the Top up limitmessage: balance_will_exceed_region_limit - Total card funds exceed Balance limitmessage: restrictions_error - Card is region (ZIP) locked and it doesn’t match the range of the POA location (ZIP)message: access_denied - Invalid or missing API keymessage: voucher_not_found - Voucher not foundmessage: ... - Server errortype: errors, data: [ { message: "..." } ] - Multiple error messagesExample Success Response:
{
"data": {
"message": "top_up_successful",
"transfers": [
"********-****-****-****-************"
]
}
}
⚠️ Important: Cancellations of transfers can only be made on the same day.
POST /api/poa/cash-registers/voucher/top-up/cancel
code: the voucher UUID or short_codetransfers: list of transfer IDs received from the top up responsePossible Responses:
data: { message: cancel_successful } - Cancellation successfulmessage: transfer_cancellation_expired - Time window for cancellation expiredmessage: access_denied - Invalid or missing API keymessage: voucher_not_found or transfer_not_found - Voucher or transfer ID not foundmessage: ... - Server errortype: errors, data: [ { message: "..." } ] - Multiple error messagesExample Success Response:
{
"data": {
"message": "cancel_successful"
}
}
When integrating the Poa Cash Registers API, please consider the following best practices and common issues:
All routes require an Authorization header in the following format:
Authorization: ApiKey your-actual-api-keyAuthorization: ApiKey abc123xyz456Authorization: Bearer abc123xyz456Authorization: abc123xyz456Tip from development team: If you consistently receiveaccess_deniederrors, double-check your authorization logic. A common mistake is to treat the API key as a bearer token or forget to prepend it withApiKey.
If your application cannot connect to the endpoint (https://api.awiti.com), ensure that:
Before going live, always:
Always log the full error response from the API:
message field will guide your error handling logic.data[] array under type: errors.