POST /vouchers/purchase/{terminalId}/{operatorId}/{localReference}productIdamountToSendX100voucherCode and, optionally, a flag hasAdditionalData: true if further information is available.GET /vouchers/additional-data/{terminalId}/{operatorId}/{localReference}purchase response includes hasAdditionalData: true, this endpoint must be called to retrieve:additionalData field in the response to determine if extra user input is required (e.g., receiverEmail, documentNumber, etc.).GET /vouchers/products/{terminalId}/{operatorId}POST /vouchers/purchase/{terminalId}/{operatorId}/{localReference}productIdamountToSendX100additionalData (if applicable)voucherCode and may contain hasAdditionalData: true.GET /vouchers/additional-data/{terminalId}/{operatorId}/{localReference}hasAdditionalData: true, use this endpoint to retrieve:GET /vouchers/finished/{terminalId}/{operatorId}/{localReference}hasAdditionalData to determine whether step 3 is required after purchase.| Scenario | Flow to Use |
|---|---|
| Standard voucher (predefined) | ➡️ Direct purchase |
| Complex or deferred response | ➡️ purchase + additionalData |
| Dynamic product selection needed | ➡️ get products → purchase |
| Raffle or delayed result | ➡️ purchase → get finished |
