class Citrix::Training::Namespace::Registrants

Attributes

credentials[RW]

Set the credentials.

training[RW]

Set the training.

Public Instance Methods

all() click to toggle source

Retrieve details on all registrants for a specific training.

Registrants can be:

  • UNREGISTERED: registrant withdrew their registration but didn't opt-out of receiving more training or webinar information

  • DELETED: registrant withdrew their registration and opted-out of receiving more information about the training or webinar

  • WAITING: registrant registered and is awaiting approval (where organizer has required approval)

  • APPROVED: registrant registered and is approved

  • DENIED - registrant registered and was not approved.

IMPORTANT: The registrant data caches are typically updated immediately and the data will be returned in the response. However, the update can take as long as two hours.

Endpoint: developer.citrixonline.com/api/gototraining-rest-api/apimethod/get-training-registrants-0

# File lib/citrix/training/namespace/registrants.rb, line 77
def all
  url = url_for("organizers", credentials.organizer_key, "trainings", training.key, "registrants")
  response = http_client.get(url)

  if response.ok?
    registrants = response.data.map do |attrs|
      Resource::Registrant.new Resource::Registrant.deserialize(attrs)
    end
  end

  [response, registrants]
end
create(attributes) click to toggle source

Register one person, identified by a unique email address, for a training.

Approval is automatic unless payment or approval is required. The response contains the Confirmation page URL and Join URL for the registrant.

NOTE: If some registrants do not receive a confirmation email, the emails could be getting blocked by their email server due to spam filtering or a grey-listing setting.

response, registrant = client.registrants(training).create({
  first_name: "John",
  last_name: "Doe",
  email: "john@example.com"
})

if response.ok?
  # Do something with registrant
end

Options:

  • `first_name`: First name of user. Required.

  • `last_name`: Last name of user. Required.

  • `email`: Email of registrant. Required.

Endpoint: developer.citrixonline.com/api/gototraining-rest-api/apimethod/register-training-0

# File lib/citrix/training/namespace/registrants.rb, line 42
def create(attributes)
  registrant = Resource::Registrant.new(attributes)

  url = url_for("organizers", credentials.organizer_key, "trainings", training.key, "registrants")
  response = http_client.post(url, registrant.serialize)

  if response.ok?
    additional_attributes = Serializer::Registrant.new(attributes: response.data).deserialize
    additional_attributes.each do |key, value|
      registrant.public_send("#{key}=", value) if value
    end
  end

  [response, registrant]
end
remove(registrant) click to toggle source

This call cancels a registration in a scheduled training for a specific registrant.

If the registrant has paid for the training, a cancellation cannot be completed with this method; it must be completed on the Citrix external admin site. No notification is sent to the registrant or the organizer by default. The registrant can re-register if needed.

Endpoint: developer.citrixonline.com/api/gototraining-rest-api/apimethod/cancel-registration-0

# File lib/citrix/training/namespace/registrants.rb, line 100
def remove(registrant)
  url = url_for("organizers", credentials.organizer_key, "trainings", training.key, "registrants", registrant.key)
  http_client.delete(url)
end