wixEvents.tickets.reserve - HTTP 403 Error Ambassador client request failed

Hello,
I am building a custom ticketing experience using Wix Events API.

I am following step by step the Ticketing lifecycle in the API documentation https://www.wix.com/velo/reference/wix-events/tickets-obj/reserve.

function reserveTickets() {
 const selectedTickets = getSelectedTickets();
    console.log ("Ticket ID: " + selectedTickets[0].ticketId);
    console.log ("Event ID " + eventId);
    console.log ("Selected Tickets Array " + selectedTickets);
    wixEvents.tickets.reserve(eventId, selectedTickets)
        .then((reservation) => {
            reservationId = reservation.id;
        })
        .catch((error) => {
            console.log("Error", error.message)
        });
}

The console logs correctly both the Event ID, the Ticket ID, and the array of tickets I would like to reserve…but then it throws an Ambassador client request failed - HTTP 403 error I do not understand. :confused:

Ticket ID e8056934-201b-465a-9604-76a39d4107ba
workerLogger.js:103 Event ID cd8344d3-cb5a-4075-a4d5-0763ef2b8dee
workerLogger.js:103 Selected Tickets Array [object Object],[object Object]
workerLogger.js:103 Error Ambassador client request failed:
HTTP STATUS: 403
RESPONSE: "[object Object]"
See the httpStatus and response fields for more information.

I would appreciate any help or input on what I am doing wrong.

Thanks a lot!
Matteo

Can anybody help plz? I am still stuck with this

We are having the same problem…does Wix offer support? It doesn’t seem they answer questions on this Velo site…

Hi Matthew, I submitted the case to Wix Velo Team and received an amazing support. I am not sure this applies to you. In my case, I had created some tests events and over time the development time the registration day of the event passed by. Hence I was trying to reserve tickets for an event whose date was expired in the past hence got an error. I recommended to improve Velo API documentation as actually there is not written anywhere that (despite it logically makes a lot of sense) the API performs this check. Once I changed in the Event Dashboard the given event day to a future date, it worked. Hope that helps.