Add Webinar Registrant is not saving additional information beyond Name & Email

I’ve attempted to store data in the custom_questions and org variables when adding a webinar registrant via the oAuth REST API. I receive a 200 response and the expected information confirming the creation of a registrant, but when I retrieve the registrants information using /webinars/{webinarId}/registrants/{registrantId} the data I supplied is not showing. Is this a known issue or did I do something wrong?

BTW I’ve tested adding data to all the suggested fields in the API test docs and none of it is returned with the retrieve a specific registrant call.

That should work. I don’t know much about how you are doing this, but if the user answers the question it should be returned in an array when they answer the question.

The create registrant api call accepts data beyond name and email, in fact it enforces proper format for additional data. However when the same registrant is retrieved none of the additional data beyond name and email is returned. I’d invite you to attempt and verify what I’m claiming. I sent a dm to the forum manager with example json objects for each api call to document.

Could you send me an example?

Response when adding a registrant with data beyond name and email:
{

“endpoint”: “https://api.zoom.us/v2/webinars/554345289/registrants”,

“response_headers”: [

“Set-Cookie: _zm_mtk_guid=5d14123ffb2540abacbcfb0dc4151361; Domain=.zoom.us; Expires=Wed, 11-Jun-2087 02:52:30 GMT; Path=/; Secure”

],

“date_time”: “2019-05-23 16:38:23”,

“method”: “POST”,

“request_body”: “{“address”:“911NoreenCt”,“city”:“SanMarcos”,“comments”:“thisisgreat”,“country”:“USA”,“custom_questions”:[{“title”:“cid”,“value”:“16”}],“email”:“ryanjchapman+17@gmail.com”,“first_name”:“Ryan”,“industry”:“myindustry”,“job_title”:“mytitle”,“last_name”:“Chapman”,“no_of_employees”:“500000”,“org”:“alongerorganization”,“phone”:“7607447607”,“purchasing_time_frame”:“soon”,“role_in_purchase_process”:“decisionmaker”,“state”:“CA”,“zip”:“92069”}”,

“response”: {

“registrant_id”: “El87nHVGQ768d0gApnNolQ”,

“id”: 554345289,

“topic”: “Example Webinar”,

“start_time”: “2019-05-24T00:00:00Z”,

“join_url”: “https://zoom.us/w/554345289?tk=Al7m7iaODKkqAFQ6b79zKP3L8MxvfMtyOsnhB6cE-b0.DQEAAAAAIQqjSRZFbDg3bkhWR1E3NjhkMGdBcG5Ob2xRAA&uuid=WN_aWwwLzoeQoqC6gn4aueCHQ

},

“request_headers”: [

“accept-encoding: gzip”,

“authorization: ******”,

“connection: close”,

“content-type: application/json”,

“user-agent: Go-http-client/1.1”

],

“request_params”: [

],

“http_status”: “201”

}

Response when I retrieve that same contact:
{

“endpoint”:“https://api.zoom.us/v2/webinars/554345289/registrants/El87nHVGQ768d0gApnNolQ”,

“response_headers”: [

“Set-Cookie: _zm_mtk_guid=74a6745fa2cc470c9aa0d37fa2394cc4; Domain=.zoom.us; Expires=Wed, 11-Jun-2087 02:53:18 GMT; Path=/; Secure”

],

“date_time”: “2019-05-23 16:39:11”,

“method”: “GET”,

“request_body”: “N/A”,

“response”: {

“id”: “El87nHVGQ768d0gApnNolQ”,

“first_name”: “Ryan”,

“last_name”: “Chapman”,

“email”: "ryanjchapman+17@gmail.com",

“address”: “”,

“city”: “”,

“country”: “”,

“zip”: “”,

“state”: “”,

“phone”: “”,

“industry”: “”,

“org”: “”,

“job_title”: “”,

“purchasing_time_frame”: “”,

“role_in_purchase_process”: “”,

“no_of_employees”: “”,

“comments”: “”,

“custom_questions”: [

],

“status”: “approved”,

“create_time”: “2019-05-23T23:38:23Z”,

“join_url”: “https://zoom.us/w/554345289?tk=Al7m7iaODKkqAFQ6b79zKP3L8MxvfMtyOsnhB6cE-b0.DQEAAAAAIQqjSRZFbDg3bkhWR1E3NjhkMGdBcG5Ob2xRAA

},

“request_headers”: [

“accept-encoding: gzip”,

“authorization: ******”,

“connection: close”,

“user-agent: Go-http-client/1.1”

],

“request_params”: [

],

“http_status”: “200”

}

Hi @Ryan_Chapman,

I am currently trying to reproduce your error, and will respond to you as soon as I have any updates.

Thanks!

Hi @Ryan_Chapman,

I am currently consulting with our engineers, as I was able to reproduce your issue. I will be updating you shortly.

P.S: Please ignore any webinar invites that you may have received on your email: ryanjchapman+17@gmail.com

Thanks

Glad the issue was verified. Crazy that it slipped by so long. Looking forward to the news that it’s fixed!

Hi @Ryan_Chapman,

I heard back from our developers.

If you need to add any additional fields except for name and email to the add registrants API, you must first make a call to Update a webinar’s registration fields and questions API.
Then with questions field of that API, you need to add these additional fields.
Once they have been added, you can call the Add webinar Registrants API, and then pass these fields.

Please let me know if you have any other questions.

Thanks

Hello @ojus.zoom,

The documentation for the endpoint for adding a webinar registrant (docs here) does not mention the requirement of calling the additional API endpoint in order to be able to save fields other than name and email. Could the docs be updated with this information?

Also, is there a way to recover the data sent in the additional fields that did not get saved due to not calling the other endpoint?

Thank you

Hey @mariaeramosmorales,

The Add Webinar Registrant endpoint should save any additional / custom fields included in the request body.

Can you share the webinar ID so I can look into this further. This could be a bug.

Thanks,
Tommy

Hello @tommy,

The webinar ID was 95468026499 (webinar was done on May 12, 2020).

I sent the extra parameters and later found out they weren’t saved. But when I called Update a webinar’s registration fields and questions API and specified the extra parameters, future registrant’s data was saved, and the ones that didn’t get saved were asked again when joining the webinar.

Thanks @mariaeramosmorales,

We are looking into this and will get back to you. (ZOOM-162546)

-Tommy

Hey @mariaeramosmorales,

Can you please share your request body when calling the add registrant endpoint so I can debug? We think there is an issue with your request body JSON.

Thanks,
Tommy

        # Done in Python

        import requests

        webinarId = "..."
        JWT = "..."

        url = "https://api.zoom.us/v2/webinars/{webinarId}/registrants".format(webinarId=webinarId)

       email = "..."
       firstname = "..."
       lastname = "..."
       title = "..."
       company = "..."

        payload = """{{\"email\":\"{email}\",
                    \"first_name\":\"{firstname}\",
                    \"last_name\":\"{lastname}\",
                    \"job_title\":\"{title}\",
                    \"org\":\"{company}\"}}
                    """.format(email=email,
                            firstname=firstname,
                            lastname=lastname,
                            title=title,
                            company=company)

        headers = {
            'content-type': "application/json",
            'authorization': "Bearer {JWT}".format(JWT=JWT)
            }

       response = requests.request("POST", url, data=payload, headers=headers)

Thanks @mariaeramosmorales,

Can you send it to me in JSON format please?

Please log payload and send me the result.

Thanks,
Tommy