Adding Attendees

Here are the steps and API endpoints required to register attendees in the Accelevents platform.

Please note that you must first call the Orders API to create an Order. Once you've got an Order ID you can start adding Attendees to your Order.

Object Diagram:

Demo video

An example using PostMan : https://share.vidyard.com/watch/qmrA2tMQg5prwBTj7pnSaS?

1. Add Attendee

1.1. First the admin has to call the API to retrieve the ticket type and confirm the available quantity of tickets remaining.

Method : GET
Request URL: https://api.accelevents.com/rest/events/{event_URL}/staff/ticketing/settings

Response: contains 'ticketTypes' - number of ticket type with ticket information (id, name,price, remainingTickets). If 'remainingTickets' are greater than 0, then a ticket is available to purchase.

1.2. If the ticket type is a paid ticket then the next step is to calculate the amount of fees.

Method = POST
Request URL: https://api.accelevents.com/rest/events/{event_URL}/calculateFee
Body -> row -> JSON

[
    {
        "ticketQuantity": "1",
        "ticketingTypeId": "145680",
        "ticketPrice": "0"
    }
] 

Response:

[
    {
        "ticketingTypeId": 145680,
        "ticketQuantity": 1,
        "ticketPrice": 0.0,
        "totalPayable": 0.0
    }
]

1.3. Create an Order based on the number of tickets that the attendee is purchasing. In most cases, this will be one (1).

Method = POST
Request URL: https://api.accelevents.com/rest/events/{event_URL}/staff/ticketing/order

{
    "clientDate": "22/02/2021 22:39:46",
    "paymentType": "CC",
    "ticketings": [
        {
            "numberOfTicket": 1,
            "ticketTypeId": 145680,
            "price": 0,
            "seatNumbers":[],
            "seatNumbersDisplay":[],
            "tableNumber":[]
        }
    ],
    "note": ""
}

Response :

{"orderId":122111}

1.4. Use the order_ID that you just created to get all available & required registration fields.

The following fields are required for each order:

  • firstName
  • lastName
  • emailAddress

Method = GET
Request URL: https://api.accelevents.com/rest/events/{event_URL}/staff/ticketing/order/122111/formattributes
Response :

{
    "discountCoupon": false,
    "ticketAttribute": {
        "buyerInformationFields": [
            {
                "name": "First Name",
                "type": "text",
                "value": null,
                "defaultValue": null,
                "mandatory": true,
                "eventTicketTypeId": ""
            },
            {
                "name": "Last Name",
                "type": "text",
                "value": null,
                "defaultValue": null,
                "mandatory": true,
                "eventTicketTypeId": ""
            },
            {
                "name": "Email",
                "type": "email",
                "value": null,
                "defaultValue": null,
                "mandatory": true,
                "eventTicketTypeId": ",145680,145745"
            }
        ],
        "orderId": 122111,
        "buyerQuestions":[],
        "attendees":[],
        "addOnsQuestions": null,
        "orderData": [
            {
                "ticketTypeDescription": "",
                "ticketTypeName": "Free Admission",
                "id": 145680,
                "price": 0.0,
                "priceWithFee": 0.0,
                "avgTotalFee": 0.0,
                "numberofticket": 1
            }
        ],
        "totalPrice": 0.0,
        "discountAmount": 0.0,
        "couponCode": null,
        "hasHolderAttributes": false,
        "hasAddOnAttributes": false,
        "remainingSeconds": 599,
        "showCellPhoneField": false,
        "onlyDonationTicket": false
    },
    "processingFeesToPurchaser": true,
    "purchaserDetail": {
        "countryCode": "IN",
        "phonenumber": 9865521003,
        "email":"[[email protected]] (mailto:[email protected])","firstName":"Jon","lastName":"Kazarian","marketingOptIn":true,"userProfilePhoto":null,"userId":1,"hasStaffAccess":true,"linkedCard":{"stripeCards":[]},"addressRequired":false,"bidderNumber":null,"admin":true},"customDisclaimer":null}

1.5. Submit the order.

After populating the fields to be submitted to create the ticket you can call the payment API using the Order_ID from step 1.3.

Method = POST
Request URL: https://api.accelevents.com/rest/events/{event_URL}/staff/tickets/payment/order/122112?uptodate=true&waitListIds=

Body -> row -> JSON

{
    "clientDate": "22/02/2021 10:54:47",
    "hasholderattributes": false,
    "purchaser": {
        "attributes": [
            {
                "key": "First Name",
                "value": "John"
            },
            {
                "key": "Last Name",
                "value": "Doe"
            },
            {
                "key": "Email",
                "value":"  [email protected]"},{"key":"Billing Address","value":"|||||"},{"key":"Shipping Address","value":"|||||"}]},"addOnAttributes":{},"paymenttype":"CASH","holder":\[]}  

Response :

[
    {
        "eventTicketId": "71969",
        "email": "[email protected]",  "attendeeId": "7501_9231"
    }
]

Once the attendee visits an event and fills out details on the portal page, the attendee’s records are stored and available for download in the buyer/holder CSV.

2. Download attendee(Buyer/Holder) details in CSV file.

2.1 Ticket Buyer data

Method : GET
Request URL: https://api.accelevents.com/rest/host/performance/ticketing/holder/CSV?dataType=

2.2 Ticket Holder data

Method : GET
Request URL: https://api.accelevents.com/rest/host/performance/ticketing/buyer/CSV

2.3 AddOn holder data

Method : GET
Request URL: https://api.accelevents.com/rest/host/performance/ticketing/holder/CSV?dataType=ADDON

3. Get All attendees (Getting Data From neptune DB, so once attendee visits the portal page and updates/saves user profile, records are then put into neptune DB)

In this event getting data of only one attendee because other attendees have not visited the portal page and saved their user details except [email protected].

Method : GET
Request URL :
https://api.accelevents.com/rest/events/{event_URL}/attendee/allAttendee
Response : List of attendee details for those who visited/attended Event.

Same for /people API call

4. Check if user already exists and if a password has been created.

Response

{
  "passwordRequired": false,  
  "attendee": true  
}

Attendee is present with an email but the password is not created yet.

{
  "passwordRequired": true,  
   "attendee": true  
}

Attendee is present with an email and has to enter the right password.

{
	 "passwordRequired": false,  
   "attendee": false  
}

Attendees are not present with email, so they have to redirect with ticket purchase page (Event Landing page).