curl -H "api-key: 6f1c2a9e-4b7d-4e0a-9c55-2d8f3b1a7e10" \
-H "Content-Type: application/json" \
-d '{"action":"reprintVoucher","voucherId":987654}' \
https://apitest.tunimobile.com/v1/voucher/do_action
{
"status": "success",
"code": 200,
"message": "OK",
"data": {
"id": 987654,
"cartNumber": "12345 67890 12345",
"serieNumber": "0012345678",
"operator": "orange",
"value": 5,
"expireAt": "2027-06-30 00:00:00",
"printedAt": "2026-10-28 10:15:03",
"size": "standard",
"logo": "https://api.tunimobile.com/images/avatars_bw/123.png",
"barcode": "6191234567890",
"footer": "Powered By TuniMobile.com (Reprinted)",
"operatorLogo": "https://api.tunimobile.com/images/operator/orange_5.jpg"
}
}
{
"status": "error",
"code": 403,
"message": "Forbidden",
"error": { "details": "access_denied" }
}
Vouchers
Reprint an unconfirmed voucher
Get the same voucher again when the ticket did not print. No new debit.
curl -H "api-key: 6f1c2a9e-4b7d-4e0a-9c55-2d8f3b1a7e10" \
-H "Content-Type: application/json" \
-d '{"action":"reprintVoucher","voucherId":987654}' \
https://apitest.tunimobile.com/v1/voucher/do_action
{
"status": "success",
"code": 200,
"message": "OK",
"data": {
"id": 987654,
"cartNumber": "12345 67890 12345",
"serieNumber": "0012345678",
"operator": "orange",
"value": 5,
"expireAt": "2027-06-30 00:00:00",
"printedAt": "2026-10-28 10:15:03",
"size": "standard",
"logo": "https://api.tunimobile.com/images/avatars_bw/123.png",
"barcode": "6191234567890",
"footer": "Powered By TuniMobile.com (Reprinted)",
"operatorLogo": "https://api.tunimobile.com/images/operator/orange_5.jpg"
}
}
{
"status": "error",
"code": 403,
"message": "Forbidden",
"error": { "details": "access_denied" }
}
Use it when
printVoucher succeeded but the ticket did not print (paper jam, printer disconnected). Returns the same voucher again. No new debit.
After printing, call Confirm a reprint or duplicate.
Authentication
Either theapi-key of the terminal that printed the voucher, or a login as the owner of that terminal’s shop. See Who can call what.
string
API key of the terminal that printed the voucher. Not needed if you are logged in as the shop owner.
Body
string
required
reprintVoucherinteger
required
id returned by printVoucher.Response
Same fields as Generate a voucher.footer ends with (Reprinted).
Errors
| HTTP | error.details | Meaning |
|---|---|---|
403 | access_denied | The caller is neither the terminal that printed the voucher nor logged in as the owner of its shop. Also returned for a voucher that was never printed. |
404 | Voucher not found | Unknown or missing voucherId |
curl -H "api-key: 6f1c2a9e-4b7d-4e0a-9c55-2d8f3b1a7e10" \
-H "Content-Type: application/json" \
-d '{"action":"reprintVoucher","voucherId":987654}' \
https://apitest.tunimobile.com/v1/voucher/do_action
{
"status": "success",
"code": 200,
"message": "OK",
"data": {
"id": 987654,
"cartNumber": "12345 67890 12345",
"serieNumber": "0012345678",
"operator": "orange",
"value": 5,
"expireAt": "2027-06-30 00:00:00",
"printedAt": "2026-10-28 10:15:03",
"size": "standard",
"logo": "https://api.tunimobile.com/images/avatars_bw/123.png",
"barcode": "6191234567890",
"footer": "Powered By TuniMobile.com (Reprinted)",
"operatorLogo": "https://api.tunimobile.com/images/operator/orange_5.jpg"
}
}
{
"status": "error",
"code": 403,
"message": "Forbidden",
"error": { "details": "access_denied" }
}