Arguments
- gatheringId: (Int!)
- speaker: (SpeakerParams) [see below for full params]
GraphQL Mutation
mutation {
createSpeaker(speaker: {firstName: "David Foster", lastName: "Wallace" }, gatheringId: 232) {
firstName
lastName
id
}
}
CURL Request
curl -X POST https://api.certaintouchpoint.com/graphql -H 'Content-Type: application/graphql' -H 'Authorization: Bearer 123abcveryLongAuthorizationToken456def' -d '{ mutation { createSpeaker(speaker: { firstName: "David Foster", lastName: "Wallace"}, gatheringId: 232) { firstName lastName id } }'
GraphQL Response
{“data":
{ "createSpeaker":
{ "lastName":"Wallace",
"id":"71111",
"firstName":"David Foster"
}
}
}
SpeakerParams
When creating a speaker, firstName and lastName are required.
- firstName (String): The speaker's first name. Displayed if present.
- lastName (String): The speaker's last name. Displayed if present.
- prefix_name (String): Speaker honorific (Mr., Ms., Dr.). Displayed if present.
- suffix_name (String): Speaker suffix (Jr., Sr., Md., Phd). Displayed if present.
- kind (String): Speaker kind (Keynote, Workshop). Displayed if present.
- login_email (String): Email used to login.
- organization (String): Speaker organization or company. Displayed if present.
- job_title (String): Speaker organization or company. Displayed if present.
- email (String): Speaker email. Displayed if present. Not related to the login email.
- fax (String): Speaker fax. Displayed if present.
- telephone (String): Speaker preferred telephone number. Displayed if present.
- website (String): Speaker URL. Displayed if present.
- twitterHandle (String): Speaker Twitter handle. @ is optional. Displayed if present.
- facebookUsername (String): Speaker Facebook username. Not a URL. Displayed if present.
- linkedInUrl (String): Speaker LinkedIn URL. Displayed if present.
- street (String): Speaker Street (e.g., 3722 Maplehurst Drive). Displayed if present.
- street2 (String): Speaker Street - supplemental (e.g., Suite 181). Displayed if present.
- city (String): Speaker city. Displayed if present.
- state (String): Speaker's state or province. Displayed if present.
- postalCode (String): Speaker's Postal or ZIP code. Displayed if present.
- country (String): Speaker's country. Displayed if present.
- biography (String): Speaker biography in HTML format. Distinct from BiographyText. Displayed if present. Not editable by speaker.
- hidden (Boolean): If true, this speaker will not be visible in the mobile app and cannot participate socially.
- externalId (String): The unique ID of the speaker from its source (i.e., the speaker id in your system). Not displayed.
- externalSource (String): External data source of the speaker. If you have created this speaker in the Touchpoint system, Touchpoint will define the externalSource. Not displayed.
Providing a Photo/Avatar
You may supply a speaker photo in several ways. Using the photoUrl attribute, you may supply a URL. Using the photo attribute you may supply either a Base64 encoded string or an image file using the multipart/form-data content type. An image file is preferred to the Base64 string as it will be smaller.
- photoUrl (String): If the photo resides at a publicly available URL, you may provide that URL here (.jpg or .png format). The image at that URL will be copied into the Touchpoint system.
- photo (DataUpload): Choose multipart file (preferred) and Base64.
- To provide the photo as a file, you should use the multipart/form-data content type. For example:
- curl -X POST https://api.certaintouchpoint.com/graphql -H 'Content-Type: application/graphql' -H 'Authorization: Bearer 123abcveryLongAuthorizationToken456def' -F query='mutation { createSpeaker(speaker: { firstName: "David Foster", lastName: "Wallace", photo: "photo_argument"}, gatheringId: 232) { firstName lastName id } }' -F photo_argument=@photo.jpg
- Notice that the value of the photo attribute is the name of the argument used to refer to the photo file
- To provide the photo file as a Base64 encoded string, prefix the photo string with the information:
- data:<mime type>;base64,<encoded data>
- For example:
- curl -X POST https://api.certaintouchpoint.com/graphql -H 'Content-Type: application/graphql' -H 'Authorization: Bearer 123abcveryLongAuthorizationToken456def' -d '{ mutation { createSpeaker(speaker: { firstName: "David Foster", lastName: "Wallace", photo: "data:image/jpg;base64,alongbase64encodedstring"}, gatheringId: 232) { firstName lastName id } }'
```