createSpeaker

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://cms.gatherdigital.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) Speaker first name. Displayed if present.
lastName (String) Speaker 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. Not displayed.
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 kind (Keynote, Workshop). 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 (3722 Maplehurst Drive). Displayed if present.
street2 (String) Speaker Street - supplemental (e.g., Suite 181). Displayed if present.
city (String) Speaker last name. 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 this boolean is set to true, this speaker will not be visible in the mobile app and cannot participate socially.
externalId (String) The unqiue ID of the speaker from it\'s 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://cms.gatherdigital.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://cms.gatherdigital.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 } }'