Documentation
¶
Index ¶
- Constants
- Variables
- func DeleteMeeting(opts DeleteMeetingOptions) error
- func DeleteUser(opts DeleteUserOptions) error
- type APIError
- type AddMemberOptions
- type ApprovalType
- type Audio
- type AutoRecording
- type BreakoutRoom
- type BreakoutRoomSettings
- type Client
- func (c *Client) AddMembers(opts AddMemberOptions) (ResopnseAddGroupMembers, error)
- func (c *Client) CreateMeeting(opts CreateMeetingOptions) (Meeting, error)
- func (c *Client) CreateUser(opts CreateUserOptions) (User, error)
- func (c *Client) DeleteMeeting(opts DeleteMeetingOptions) error
- func (c *Client) DeleteUser(opts DeleteUserOptions) error
- func (c *Client) GetMeeting(opts GetMeetingOptions) (Meeting, error)
- func (c *Client) GetMeetingRecordings(opts GetMeetingRecordingsOptions) (CloudRecordingMeeting, error)
- func (c *Client) GetUser(opts GetUserOpts) (User, error)
- func (c *Client) GetWebinarInfo(webinarID int) (Webinar, error)
- func (c *Client) GetWebinarPanelists(webinarID int) (GetWebinarPanelistsResponse, error)
- func (c *Client) ListAllRecordings(opts ListAllRecordingsOptions) (ListAllRecordingsResponse, error)
- func (c *Client) ListMeetings(opts ListMeetingsOptions) (ListMeetingsResponse, error)
- func (c *Client) ListUsers(opts ListUsersOptions) (ListUsersResponse, error)
- func (c *Client) ListWebinarRegistrants(opts ListWebinarRegistrantsOptions) (ListWebinarRegistrantsResponse, error)
- func (c *Client) ListWebinars(opts ListWebinarsOptions) (ListWebinarsResponse, error)
- func (c *Client) RegisterForWebinar(opts WebinarRegistrant) (RegisterForWebinarResponse, error)
- type CloudRecordingMeeting
- type CreateMeetingOptions
- type CreateUserAction
- type CreateUserInfo
- type CreateUserOptions
- type CustomQuestion
- type Date
- type DeleteMeetingOptions
- type DeleteUserAction
- type DeleteUserOptions
- type GetMeetingOptions
- type GetMeetingRecordingsOptions
- type GetUserOpts
- type GetWebinarPanelistsResponse
- type GlobalDialInNumber
- type GlobalDialInNumberType
- type HTTPMethod
- type ListAllRecordingsOptions
- type ListAllRecordingsResponse
- type ListMeeting
- type ListMeetingType
- type ListMeetingsOptions
- type ListMeetingsResponse
- type ListUsersOptions
- type ListUsersResponse
- type ListWebinarRegistrantsOptions
- type ListWebinarRegistrantsResponse
- type ListWebinarRegistrantsStatusType
- type ListWebinarsOptions
- type ListWebinarsResponse
- type Meeting
- type MeetingSettings
- type MeetingStatus
- type MeetingType
- type Member
- type MonthlyWeek
- type NumberOfEmployeesType
- type Occurrence
- type PurchaseProcessRoleType
- type PurchasingTimeFrameType
- type RecordingFile
- type RecordingType
- type Recurrence
- type RecurrenceType
- type RegisterForWebinarResponse
- type RegistrationType
- type ResopnseAddGroupMembers
- type Time
- type TrackingField
- type TrashType
- type URL
- type User
- type UserLoginType
- type UserStatus
- type UserType
- type Webinar
- type WebinarOccurrence
- type WebinarPanelist
- type WebinarRegistrant
- type WebinarType
- type WeekDay
Constants ¶
const ( // MeetingTypeInstant is an instant meeting MeetingTypeInstant MeetingType = 1 // MeetingTypeScheduled is a scheduled meeting MeetingTypeScheduled MeetingType = 2 // Default // MeetingTypeRecurringNoFixedTime is a recurring meeting with no fixed time MeetingTypeRecurringNoFixedTime MeetingType = 3 // MeetingTypeRecurring is a recurring meeting with fixed time MeetingTypeRecurring MeetingType = 8 // MeetingStatusWaiting is a meeting that is waiting MeetingStatusWaiting MeetingStatus = "waiting" // MeetingStatusStarted is a meeting that is started MeetingStatusStarted MeetingStatus = "started" // MeetingStatusFinished is a meeting that is finished MeetingStatusFinished MeetingStatus = "finished" // ApprovalTypeAutomaticallyApprove is an automatically approved meeting ApprovalTypeAutomaticallyApprove ApprovalType = 0 // ApprovalTypeManuallyApprove is a meeting that requires manual approval ApprovalTypeManuallyApprove ApprovalType = 1 // ApprovalTypeNoRegistrationRequired is a meeting that requires no registration ApprovalTypeNoRegistrationRequired ApprovalType = 2 // DEFAULT // RegistrationTypeRegisterOnce Attendees register once and can attend any of the occurrences RegistrationTypeRegisterOnce RegistrationType = 1 //RegistrationTypeRegisterEachTime Attendeed need to register for each occurrence to attend RegistrationTypeRegisterEachTime RegistrationType = 2 //RegistrationTypeRegisterOnceAndChooseOccurrences Attendees register once and can choose one or more occurrences to attend RegistrationTypeRegisterOnceAndChooseOccurrences RegistrationType = 3 // AudioBoth is a meeting that allows telephony and VoIP AudioBoth Audio = "both" // AudioTelephony is a meeting that is telephony only AudioTelephony Audio = "telephony" // AudioVoIP is a meeting that is VoIP only AudioVoIP Audio = "voip" // AutoRecordingLocal record on local AutoRecordingLocal AutoRecording = "local" // AutoRecordingCloud record on cloud AutoRecordingCloud AutoRecording = "cloud" // AutoRecordingNone disabled AutoRecordingNone AutoRecording = "none" // GlobalDialInNumberTypeToll toll type of number GlobalDialInNumberTypeToll GlobalDialInNumberType = "toll" // GlobalDialInNumberTypeTollFree toll free type of number GlobalDialInNumberTypeTollFree GlobalDialInNumberType = "tollfree" // RecurrenceTypeDaily daily recurrence RecurrenceTypeDaily RecurrenceType = 1 // RecurrenceTypeWeekly weekly recurrence RecurrenceTypeWeekly RecurrenceType = 2 // RecurrenceTypeMonthly monthly recurrence RecurrenceTypeMonthly RecurrenceType = 3 // MonthlyWeekLast last week of the month MonthlyWeekLast MonthlyWeek = -1 // MonthlyWeekFirst first week of the month MonthlyWeekFirst MonthlyWeek = 1 // MonthlyWeekSecond second week of the month MonthlyWeekSecond MonthlyWeek = 2 // MonthlyWeekThird third week of the month MonthlyWeekThird MonthlyWeek = 3 // MonthlyWeekFourth fourth week of the month MonthlyWeekFourth MonthlyWeek = 4 // WeekDaySunday Sunday WeekDaySunday WeekDay = 1 // WeekDayMonday Monday WeekDayMonday WeekDay = 2 // WeekDayTuesday Tuesday WeekDayTuesday WeekDay = 3 // WeekDayWednesday Wednesday WeekDayWednesday WeekDay = 4 // WeekDayThursday Thursday WeekDayThursday WeekDay = 5 // WeekDayFriday Friday WeekDayFriday WeekDay = 6 // WeekDaySaturday Saturday WeekDaySaturday WeekDay = 7 )
const ( // Create action will be send new user a confirmation email required to activate Create CreateUserAction = "create" // AutoCreate action does not send the user a confirmation email AutoCreate CreateUserAction = "autoCreate" // CustCreate action creates a user without a password that cannot log into Zoom web portal or Zoom client CustCreate CreateUserAction = "custCreate" // SSOCreate action is provided for when the "Pre-Provisioning SSO User" option is enabled SSOCreate CreateUserAction = "ssoCreate" // DisassociateAction action disassociates a user DisassociateAction DeleteUserAction = "disassociate" // DeleteAction action deletes a user DeleteAction DeleteUserAction = "delete" // Basic user type Basic UserType = 1 // Licensed user type Licensed UserType = 2 // OnPrem user type OnPrem UserType = 3 // Facebook user login type Facebook UserLoginType = 0 // Google user login type Google UserLoginType = 1 // API user login type API UserLoginType = 99 // Zoom user login type Zoom UserLoginType = 100 // SSO single sign on user login type SSO UserLoginType = 101 // Active status Active UserStatus = "active" // Inactive status Inactive UserStatus = "inactive" // Pending status Pending UserStatus = "pending" )
const ( // ListWebinarsPath - v2 lists all webinars ListWebinarsPath = "/users/%s/webinars" // GetWebinarInfoPath - v2 path for retrieving info on a single webinar GetWebinarInfoPath = "/webinars/%d" )
const ( // RegisterForWebinarPath - v2 path for registering a user for a webinar RegisterForWebinarPath = "/webinars/%d/registrants" // ListRegistrantsPath - v2 path for listing panelists for a webinar ListRegistrantsPath = "/webinars/%d/registrants" )
const AddMenbersPath = "/groups/%s/members"
AddMenbersPath - v2 path for add group members
const CreateMeetingPath = "/users/%s/meetings"
CreateMeetingPath - v2 create a meeting for a user
const CreateUserPath = "/users"
CreateUserPath - v2 path for creating a user
const (
// DateFormat is a date only format string
DateFormat = "2006-01-02"
)
const DeleteMeetingPath = "/meetings/%d"
DeleteMeetingPath - v2 delete a meeting
const DeleteUserPath = "/users/%s"
DeleteUserPath - v2 path for deleting a user
const GetMeetingPath = "/meetings/%d"
GetMeetingPath - v2 retrieve the details of a meeting
const (
// GetMeetingRecordingsPath - v2 get all the recordings from a meeting
GetMeetingRecordingsPath = "/meetings/%s/recordings"
)
const GetUserPath = "/users/%s"
GetUserPath - v2 path for getting a specific user
const (
// GetWebinarPanelistsPath - v2 path for listing panelists for a webinar
GetWebinarPanelistsPath = "/webinars/%d/panelists"
)
const ListUsersPath = "/users"
ListUsersPath - v2 path for listing users
Variables ¶
var ( // Debug causes debugging message to be printed, using the log package, // when set to true Debug = false // APIKey is a package-wide API key, used when no client is instantiated APIKey string // APISecret is a package-wide API secret, used when no client is instantiated APISecret string )
Functions ¶
func DeleteMeeting ¶
func DeleteMeeting(opts DeleteMeetingOptions) error
DeleteMeeting calls DELETE /meetings/{meetingID}
func DeleteUser ¶
func DeleteUser(opts DeleteUserOptions) error
DeleteUser calls DELETE /users/{userID}
Types ¶
type APIError ¶
type APIError struct {
Code int `json:"code"`
Message string `json:"message"`
Errors []struct {
Field string `json:"field"`
Message string `json:"message"`
} `json:"errors,omitempty"`
}
APIError contains the code and message returned by any Zoom errors
type AddMemberOptions ¶
AddMemberOptions are details about add group members
type Audio ¶
type Audio string
Audio determines how participants can join the audio portion of the meeting
type BreakoutRoom ¶
BreakoutRoom contains settings for an individual breakout room
type BreakoutRoomSettings ¶
type BreakoutRoomSettings struct {
Enable bool `json:"enable"`
Rooms []BreakoutRoom `json:"rooms"`
}
BreakoutRoomSettings represents the breakout rooms for a meetings
type Client ¶
type Client struct {
Key string
Secret string
Transport http.RoundTripper
Timeout time.Duration // set to value > 0 to enable a request timeout
// contains filtered or unexported fields
}
Client is responsible for making API requests
func (*Client) AddMembers ¶
func (c *Client) AddMembers(opts AddMemberOptions) (ResopnseAddGroupMembers, error)
AddMembers calls POST /groups/{groupId}/members https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groupmemberscreate
func (*Client) CreateMeeting ¶
func (c *Client) CreateMeeting(opts CreateMeetingOptions) (Meeting, error)
CreateMeeting calls POST /users/{userId}/meetings https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingcreate
func (*Client) CreateUser ¶
func (c *Client) CreateUser(opts CreateUserOptions) (User, error)
CreateUser calls POST /users https://marketplace.zoom.us/docs/api-reference/zoom-api/users/usercreate
func (*Client) DeleteMeeting ¶
func (c *Client) DeleteMeeting(opts DeleteMeetingOptions) error
DeleteMeeting calls DELETE /meetings/{meetingID}
func (*Client) DeleteUser ¶
func (c *Client) DeleteUser(opts DeleteUserOptions) error
DeleteUser calls DELETE /users/{userID} https://marketplace.zoom.us/docs/api-reference/zoom-api/users/userdelete
func (*Client) GetMeeting ¶
func (c *Client) GetMeeting(opts GetMeetingOptions) (Meeting, error)
GetMeeting calls /meetings/ID https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting
func (*Client) GetMeetingRecordings ¶
func (c *Client) GetMeetingRecordings(opts GetMeetingRecordingsOptions) (CloudRecordingMeeting, error)
GetMeetingRecordings calls /meetings/{meetingId}/recordings endpoint
func (*Client) GetUser ¶
func (c *Client) GetUser(opts GetUserOpts) (User, error)
GetUser calls /users/{userId}, searching for a user by ID or email, using a specific client
func (*Client) GetWebinarInfo ¶
GetWebinarInfo gets into about a single webinar, using client c
func (*Client) GetWebinarPanelists ¶
func (c *Client) GetWebinarPanelists(webinarID int) (GetWebinarPanelistsResponse, error)
GetWebinarPanelists calls /webinar/panelists using client c
func (*Client) ListAllRecordings ¶
func (c *Client) ListAllRecordings(opts ListAllRecordingsOptions) (ListAllRecordingsResponse, error)
ListAllRecordings calls /users/{user_id}/recordings endpoint and gets all cloud recordings for a user, using the c client
func (*Client) ListMeetings ¶
func (c *Client) ListMeetings(opts ListMeetingsOptions) (ListMeetingsResponse, error)
ListMeetings calls /users/ID/meetings https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetings
func (*Client) ListUsers ¶
func (c *Client) ListUsers(opts ListUsersOptions) (ListUsersResponse, error)
ListUsers calls /user/list, listing all users, using client c
func (*Client) ListWebinarRegistrants ¶
func (c *Client) ListWebinarRegistrants(opts ListWebinarRegistrantsOptions) (ListWebinarRegistrantsResponse, error)
ListWebinarRegistrants lists webinars using client c
func (*Client) ListWebinars ¶
func (c *Client) ListWebinars(opts ListWebinarsOptions) (ListWebinarsResponse, error)
ListWebinars calls /webinar/list, listing all webinars that don't require registration, using the client c
func (*Client) RegisterForWebinar ¶
func (c *Client) RegisterForWebinar(opts WebinarRegistrant) (RegisterForWebinarResponse, error)
RegisterForWebinar registers a user for a webinar, using client c
type CloudRecordingMeeting ¶
type CloudRecordingMeeting struct {
UUID string `json:"uuid"`
ID string `json:"id"`
AccountID string `json:"account_id"`
HostID string `json:"host_id"`
Topic string `json:"topic"`
StartTime *Time `json:"start_time"`
Duration int `json:"duration"`
TotalSize string `json:"total_size"`
RecordingCount string `json:"recording_count"`
RecordingFiles []RecordingFile `json:"recording_files"`
}
CloudRecordingMeeting represents a zoom meeting object
func GetMeetingRecordings ¶
func GetMeetingRecordings(opts GetMeetingRecordingsOptions) (CloudRecordingMeeting, error)
GetMeetingRecordings calls /meetings/{meetingId}/recordings endpoint
type CreateMeetingOptions ¶
type CreateMeetingOptions struct {
HostID string `json:"-"`
Topic string `json:"topic,omitempty"`
Type MeetingType `json:"type,omitempty"`
StartTime *Time `json:"start_time,omitempty"`
Duration int `json:"duration,omitempty"`
Timezone string `json:"timezone,omitempty"`
Password string `json:"password,omitempty"` // Max 10 characters. [a-z A-Z 0-9 @ - _ *]
Agenda string `json:"agenda,omitempty"`
TrackingFields []TrackingField `json:"tracking_fields,omitempty"`
Settings MeetingSettings `json:"settings,omitempty"`
}
CreateMeetingOptions are the options to create a meeting with
type CreateUserAction ¶
type CreateUserAction string
CreateUserAction specifies how to create a new user
type CreateUserInfo ¶
type CreateUserInfo struct {
Email string `json:"email"`
Type UserType `json:"type"`
FirstName string `json:"first_name,omitempty"`
LastName string `json:"last_name,omitempty"`
Password string `json:"password,omitempty"`
}
CreateUserInfo are details about a user to create
type CreateUserOptions ¶
type CreateUserOptions struct {
Action CreateUserAction `json:"action"`
UserInfo CreateUserInfo `json:"user_info"`
}
CreateUserOptions are the options to create a user with
type CustomQuestion ¶
CustomQuestion is the type for custom questions on registration form
type Date ¶
Date is a custom Date type that accounts for null values and empty strings // during JSON marshaling and unmarshaling
func (*Date) MarshalJSON ¶
MarshalJSON describes JSON unmarshaling for custom Date objects, handling empty string values
func (*Date) UnmarshalJSON ¶
UnmarshalJSON describes JSON unmarshaling for custom Date objects, handling empty string values
type DeleteMeetingOptions ¶
type DeleteMeetingOptions struct {
MeetingID int `url:"-"`
OccurrenceID string `url:"occurrence_id,omitempty"`
// ScheduleForReminder notify host and alternative host about meeting cancellation via
// email
ScheduleForReminder bool `url:"schedule_for_reminder,omitempty"`
}
DeleteMeetingOptions are the options to delete a meeting
type DeleteUserAction ¶
type DeleteUserAction string
DeleteUserAction specifies how to delete a new user
type DeleteUserOptions ¶
type DeleteUserOptions struct {
EmailOrID string `url:"-"`
Action DeleteUserAction `url:"action,omitempty"`
TransferEmail string `url:"transfer_email,omitempty"`
TransferMeeting bool `url:"transfer_meeting,omitempty"`
TransferWebinar bool `url:"transfer_webinar,omitempty"`
TransferRecording bool `url:"transfer_recording,omitempty"`
}
DeleteUserOptions are the options to delete a user with
type GetMeetingOptions ¶
type GetMeetingOptions struct {
MeetingID int `url:"-"`
OccurrenceID string `url:"occurrence_id,omitempty"`
}
GetMeetingOptions are the options to get a meeting
type GetMeetingRecordingsOptions ¶
type GetMeetingRecordingsOptions struct {
MeetingID string `url:"-"`
}
GetMeetingRecordingsOptions contains options for GetMeetingRecordings
type GetUserOpts ¶
type GetUserOpts struct {
EmailOrID string `url:"-"`
LoginType *UserLoginType `url:"login_type,omitempty"` // use pointer so it can be null
}
GetUserOpts contains options for GetUser
type GetWebinarPanelistsResponse ¶
type GetWebinarPanelistsResponse struct {
TotalRecords int `json:"total_records"`
Panelists []WebinarPanelist `json:"panelists"`
}
GetWebinarPanelistsResponse - response from call to /webinar/panelists
func GetWebinarPanelists ¶
func GetWebinarPanelists(webinarID int) (GetWebinarPanelistsResponse, error)
GetWebinarPanelists calls /webinar/panelists using the default client
type GlobalDialInNumber ¶
type GlobalDialInNumber struct {
Country string `json:"country"`
CountryName string `json:"country_name"`
City string `json:"city"`
Number string `json:"number"`
Type GlobalDialInNumberType `json:"type"`
}
GlobalDialInNumber is a global dial in number
type GlobalDialInNumberType ¶
type GlobalDialInNumberType string
GlobalDialInNumberType is the type of global dial in number
type HTTPMethod ¶
type HTTPMethod string
HTTPMethod is the HTTP request method types
const ( // Get is GET HTTP method Get HTTPMethod = http.MethodGet // Post is POST HTTP method Post HTTPMethod = http.MethodPost // Put is PUT HTTP method Put HTTPMethod = http.MethodPut // Patch is PATCH HTTP method Patch HTTPMethod = http.MethodPatch // Delete is DELETE HTTP method Delete HTTPMethod = http.MethodDelete )
type ListAllRecordingsOptions ¶
type ListAllRecordingsOptions struct {
UserID string `url:"-"`
PageSize *int `url:"page_size,omitempty"`
NextPageToken string `url:"next_page_token,omitempty"`
Mc string `url:"mc,omitempty"`
Trash bool `url:"trash,omitempty"`
// From is a YYYY-MM-DD string representing a date
From string `url:"from"`
// To is a YYYY-MM-DD string representing a date
To string `url:"to"`
TrashType TrashType `url:"trash_type,omitempty"`
}
ListAllRecordingsOptions contains options for ListAllRecordings. NOTE: The query URL parser doesn't like non time.Time fields. It just ignores this field if it's a zoom.Date or a zoom.Time. Instead use a `string` for `From` and `To` - see below.
type ListAllRecordingsResponse ¶
type ListAllRecordingsResponse struct {
From *Date `json:"from"`
To *Date `json:"to"`
PageCount int `json:"page_count"`
PageSize int `json:"page_size"`
TotalRecords int `json:"total_records"`
NextPageToken string `json:"next_page_token"`
Meetings []CloudRecordingMeeting `json:"meetings"`
}
ListAllRecordingsResponse contains the response from a call to ListAllRecordings
func ListAllRecordings ¶
func ListAllRecordings(opts ListAllRecordingsOptions) (ListAllRecordingsResponse, error)
ListAllRecordings calls /users/{user_id}/recordings endpoint and gets all cloud recordings for a user, using the default client.
type ListMeeting ¶
type ListMeeting struct {
UUID string `json:"uuid"`
ID int `json:"id"`
HostID string `json:"host_id"`
Topic string `json:"topic"`
Type MeetingType `json:"type"`
StartTime *Time `json:"start_time"`
Duration int `json:"duration"`
Timezone string `json:"timezone"`
CreatedAt *Time `json:"created_at"`
JoinURL string `json:"join_url"`
Agenda string `json:"agenda"`
}
ListMeeting represents a meeting object returned by ListMeetings endpoint
type ListMeetingType ¶
type ListMeetingType string
ListMeetingType are the allowed meeting types
const ( // ListMeetingsPath - v2 lists all the meetings that were scheduled for a user ListMeetingsPath = "/users/%s/meetings" // ListMeetingTypeScheduled is a meeting that is scheduled ListMeetingTypeScheduled ListMeetingType = "scheduled" // ListMeetingTypeLive is a live meeting ListMeetingTypeLive ListMeetingType = "live" // DEFAULT // ListMeetingTypeUpcoming is an upcoming meeting ListMeetingTypeUpcoming ListMeetingType = "upcoming" )
type ListMeetingsOptions ¶
type ListMeetingsOptions struct {
HostID string `url:"-"`
Type ListMeetingType `url:"type,omitempty"`
PageSize *int `url:"page_size,omitempty"` // Default: 30, Maximum: 300
PageNumber *int `url:"page_number,omitempty"` // Default: 1
}
ListMeetingsOptions contains options for ListMeetings
type ListMeetingsResponse ¶
type ListMeetingsResponse struct {
PageCount int `json:"page_count"`
TotalRecords int `json:"total_records"`
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Meetings []ListMeeting `json:"meetings"`
}
ListMeetingsResponse container the response from a call to ListMeetings
func ListMeetings ¶
func ListMeetings(opts ListMeetingsOptions) (ListMeetingsResponse, error)
ListMeetings calls /users/ID/meetings
type ListUsersOptions ¶
type ListUsersOptions struct {
PageSize int `url:"page_size"`
PageNumber int `url:"page_number"`
Status *UserStatus `url:"status,omitempty"`
}
ListUsersOptions contains options for ListUsers
type ListUsersResponse ¶
type ListUsersResponse struct {
TotalRecords int `json:"total_records"`
PageCount int `json:"page_count"`
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Users []User `json:"users"`
}
ListUsersResponse contains the response from a call to ListUsers
func ListUsers ¶
func ListUsers(opts ListUsersOptions) (ListUsersResponse, error)
ListUsers calls /user/list, listing all users, using the default client
type ListWebinarRegistrantsOptions ¶
type ListWebinarRegistrantsOptions struct {
WebinarID int `url:"-"`
Status *ListWebinarRegistrantsStatusType `url:"status,omitempty"`
PageSize *int `url:"page_size,omitempty"`
PageNumber *int `url:"page_number,omitempty"`
OccurrenceID string `url:"occurrence_id,omitempty"`
}
ListWebinarRegistrantsOptions - options for listing webinar registrants
type ListWebinarRegistrantsResponse ¶
type ListWebinarRegistrantsResponse struct {
PageCount int `json:"page_count"`
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
TotalRecords int `json:"total_records"`
Registrants []WebinarRegistrant `json:"registrants"`
}
ListWebinarRegistrantsResponse - response for listing webinar registrants
func ListWebinarRegistrants ¶
func ListWebinarRegistrants(opts ListWebinarRegistrantsOptions) (ListWebinarRegistrantsResponse, error)
ListWebinarRegistrants lists webinars using the default client.
type ListWebinarRegistrantsStatusType ¶
type ListWebinarRegistrantsStatusType string
ListWebinarRegistrantsStatusType contains possible options for "status" field when listing registrants
const ( // PendingApprovalType - registrants pending approval PendingApprovalType ListWebinarRegistrantsStatusType = "pending" // ApprovedType - approved registrants ApprovedType ListWebinarRegistrantsStatusType = "approved" // DeniedType - denied registrants DeniedType ListWebinarRegistrantsStatusType = "denied" )
type ListWebinarsOptions ¶
type ListWebinarsOptions struct {
HostID string `url:"-"`
PageSize *int `url:"page_size,omitempty"`
PageNumber *int `url:"page_number,omitempty"`
}
ListWebinarsOptions contains options for ListWebinars. Also accepts email address for HostID
type ListWebinarsResponse ¶
type ListWebinarsResponse struct {
PageCount int `json:"page_count"`
TotalRecords int `json:"total_records"`
PageNumber int `json:"page_number"`
PageSize int `json:"page_size"`
Webinars []Webinar `json:"webinars"`
}
ListWebinarsResponse contains the response from a call to ListWebinars
func ListWebinars ¶
func ListWebinars(opts ListWebinarsOptions) (ListWebinarsResponse, error)
ListWebinars calls /webinar/list, listing all webinars that don't require registration, using the default client
type Meeting ¶
type Meeting struct {
UUID string `json:"uuid,omitempty"`
ID int `json:"id,omitempty"`
HostID string `json:"host_id,omitempty"`
Topic string `json:"topic"`
Type MeetingType `json:"type"`
Status MeetingStatus `json:"status"`
StartTime *Time `json:"start_time"`
Duration int `json:"duration"`
Timezone string `json:"timezone"`
CreatedAt *Time `json:"created_at"`
Agenda string `json:"agenda"`
StartURL string `json:"start_url"`
JoinURL string `json:"join_url"`
Password string `json:"password"`
H323Password string `json:"h323_password"`
EncryptedPassword string `json:"encrypted_password"`
// PMI is Personal Meeting ID. Only used for scheduled meetings and recurring meetings with
// no fixed time
PMI int64 `json:"pmi"`
TrackingFields []TrackingField `json:"tracking_fields"`
Occurrences []Occurrence `json:"occurrences"`
Settings MeetingSettings `json:"settings"`
Recurrence Recurrence `json:"recurrence"`
}
Meeting represents a meeting created/returned by GetMeeting
func CreateMeeting ¶
func CreateMeeting(opts CreateMeetingOptions) (Meeting, error)
CreateMeeting calls POST /users/{userId}/meetings
func GetMeeting ¶
func GetMeeting(opts GetMeetingOptions) (Meeting, error)
GetMeeting calls /meetings/ID
type MeetingSettings ¶
type MeetingSettings struct {
HostVideo bool `json:"host_video,omitempty"`
ParticipantVideo bool `json:"participant_video,omitempty"`
// ChinaMeeting host meeting in China
ChinaMeeting bool `json:"cn_meeting,omitempty"`
// IndiaMeeting host meeting in India
IndiaMeeting bool `json:"in_meeting,omitempty"`
JoinBeforeHost bool `json:"join_before_host,omitempty"`
MuteUponEntry bool `json:"mute_upon_entry,omitempty"`
// Watermark add watermark when viewing a shared screen
Watermark bool `json:"watermark,omitempty"`
// Use Personal Meeting ID. Only used for scheduled meetings and recurring meetings with no
// fixed time
UsePMI bool `json:"use_pmi,omitempty"`
ApprovalType ApprovalType `json:"approval_type,omitempty"`
RegistrationType RegistrationType `json:"registration_type,omitempty"`
// Audio determines how participants can join the audio portion of the meeting
Audio Audio `json:"audio,omitempty"`
AutoRecording AutoRecording `json:"auto_recording,omitempty"`
// Only signed in users can join this meeting
EnforceLogin bool `json:"enforce_login,omitempty"`
// Only signed in users with specifid domains can join this meeting
EnforceLoginDomains string `json:"enforce_login_domains,omitempty"`
// Alternative host's emails or IDs: multiple values separated by comma
AlternativeHosts string `json:"alternative_hosts,omitempty"`
// CloseRegistration after event date
CloseRegistration bool `json:"close_registration,omitempty"`
// Enable waiting room
WaitingRoom bool `json:"waiting_room,omitempty"`
GlobalDialInNumbers []GlobalDialInNumber `json:"global_dial_in_numbers,omitempty"`
ContactName string `json:"contact_name,omitempty"`
ContactEmail string `json:"contact_email,omitempty"`
// Send confirmation email to registrants
RegistrantsConfirmationEmail bool `json:"registrants_confirmation_email,omitempty"`
// Breakout room settings
BreakoutRooms BreakoutRoomSettings `json:"breakout_room,omitempty"`
}
MeetingSettings are a meeting setting
type NumberOfEmployeesType ¶
type NumberOfEmployeesType string
NumberOfEmployeesType contains a list of valid values for number of employees in a registrant's company
const ( // OneToTwenty is "1-20" employees OneToTwenty NumberOfEmployeesType = "1-20" // TwentyOneToFifty is "21-50" employees TwentyOneToFifty NumberOfEmployeesType = "21-50" // FiftyOneToOneHundred is "51-100" employees FiftyOneToOneHundred NumberOfEmployeesType = "51-100" // OneHundredOneToTwoFifty is "101-250" employees OneHundredOneToTwoFifty NumberOfEmployeesType = "101-250" // TwoFiftyOneToFiveHundred is "251-500" employees TwoFiftyOneToFiveHundred NumberOfEmployeesType = "251-500" // FiveHundredOneToOneThousand is "501-1,000" employees FiveHundredOneToOneThousand NumberOfEmployeesType = "501-1,000" // OneThousdandOneToFiveThousand is "1,001-5,001" employees OneThousdandOneToFiveThousand NumberOfEmployeesType = "1,001-5,001" // FiveThousandOneToTenThousand is "5,001-10,000" employees FiveThousandOneToTenThousand NumberOfEmployeesType = "5,001-10,000" // MoreThanTenThousand is "More than 10,000" employees MoreThanTenThousand NumberOfEmployeesType = "More than 10,000" )
type Occurrence ¶
type Occurrence struct {
ID string `json:"occurrence_id"`
StartTime *Time `json:"start_time"`
Duration int `json:"duration"`
Status string `json:"status"`
}
Occurrence is an occurrence object
type PurchaseProcessRoleType ¶
type PurchaseProcessRoleType string
PurchaseProcessRoleType contains a lsit of valid values for a registrant's role in the purchasing process
const ( // DecisionMaker role in purchasing DecisionMaker PurchaseProcessRoleType = "Decision Maker" // EvaluatorRecommender role in purchasing EvaluatorRecommender PurchaseProcessRoleType = "Evaluator/Recommender" // Influencer role in purchasing Influencer PurchaseProcessRoleType = "Influencer" // NotInvolved has no role in purchasing NotInvolved PurchaseProcessRoleType = "Not involved" )
type PurchasingTimeFrameType ¶
type PurchasingTimeFrameType string
PurchasingTimeFrameType contains the list of valid values for purchasing timeframe
const ( // WithinMonth is "Within a month" purchasing timeframe WithinMonth PurchasingTimeFrameType = "Within a month" // OneToThreeMonths is "1-3 months" purchasing timeframe OneToThreeMonths PurchasingTimeFrameType = "1-3 months" // FourToSixMonths is "4-6 months" purchasing timeframe FourToSixMonths PurchasingTimeFrameType = "4-6 months" // MoreThan6Months is "More than 6 months" purchasing timeframe MoreThan6Months PurchasingTimeFrameType = "More than 6 months" // NoTimeframe is no purchasing timeframe NoTimeframe PurchasingTimeFrameType = "No timeframe" )
type RecordingFile ¶
type RecordingFile struct {
ID string `json:"id"`
MeetingID string `json:"meeting_id"`
RecordingStart *Time `json:"recording_start"`
RecordingEnd *Time `json:"recording_end"`
FileType string `json:"file_type"`
FileSize int `json:"file_size"`
PlayURL string `json:"play_url"`
// The URL using which the recording file can be downloaded. To access a private or
// password protected cloud recording, you must use a [Zoom JWT App Type]
DownloadURL string `json:"download_url"`
Status string `json:"status"`
DeletedTime *Time `json:"deleted_time"`
RecordingType RecordingType `json:"recording_type"`
}
RecordingFile represents a recordings file object
type RecordingType ¶
type RecordingType string
RecordingType is the recording file type
const ( RecordingTypeSharedScreenWithSpeakerViewCC RecordingType = "shared_screen_with_speaker_view(CC)" RecordingTypeSharedScreenWithSpeakerView RecordingType = "shared_screen_with_speaker_view" RecordingTypeSharedScreenWithGalleryView RecordingType = "shared_screen_with_gallery_view" // RecordingTypeSpeakerView is a speaker view recording RecordingTypeSpeakerView RecordingType = "speaker_view" // RecordingTypeGalleryView is a gallery view recording RecordingTypeGalleryView RecordingType = "gallery_view" RecordingTypeSharedScreen RecordingType = "shared_screen" // RecordingTypeAudioOnly is an audio only recording RecordingTypeAudioOnly RecordingType = "audio_only" // RecordingTypeAudioTranscript is an audio transcript recording RecordingTypeAudioTranscript RecordingType = "audio_transcript" // RecordingTypeChatFile is a chat file recording RecordingTypeChatFile RecordingType = "chat_file" // RecordingTypeTIMELINE is a timeline recording RecordingTypeTIMELINE RecordingType = "TIMELINE" )
type Recurrence ¶
type Recurrence struct {
Type RecurrenceType `json:"type"`
RepeatInterval int `json:"repeat_interval"`
WeeklyDays string `json:"weekly_days"`
MonthlyDay int `json:"monthly_day"`
MonthlyWeek MonthlyWeek `json:"monthly_week"`
MonthlyWeekDay WeekDay `json:"monthly_week_day"`
// EndTimes how many times the meeting will recur before it is canceled (cannot be used
// with "end_time_date"
EndTimes int `json:"end_times"`
// EndDateTime should be in UTC. Cannot be used with "end_times"
EndDateTime *Time `json:"end_date_time"`
}
Recurrence of the meeting
type RegisterForWebinarResponse ¶
type RegisterForWebinarResponse struct {
RegistrantID string `json:"registrant_id"`
WebinarID int `json:"id"`
Topic string `json:"topic"`
StartTime *Time `json:"start_time"`
JoinURL *URL `json:"join_url"`
}
RegisterForWebinarResponse is the response object returned when registering for a webinar
func RegisterForWebinar ¶
func RegisterForWebinar(opts WebinarRegistrant) (RegisterForWebinarResponse, error)
RegisterForWebinar registers a user for a webinar, using the default client
type ResopnseAddGroupMembers ¶
type ResopnseAddGroupMembers struct {
// IDs has comma-delimited, like 'xxxxxxxxxx,xxxxxxxxxx'
IDs string `json:"ids"`
AddedAt string `json:"added_at"`
}
ResopnseAddGroupMembers represents response for added member to group
func AddMembers ¶
func AddMembers(opts AddMemberOptions) (ResopnseAddGroupMembers, error)
AddMembers calls POST /groups/{groupId}/members
type Time ¶
Time is a custom Time type that accounts for null values and empty strings // during JSON marshaling and unmarshaling
func (*Time) MarshalJSON ¶
MarshalJSON describes JSON unmarshaling for custom Time objects, handling empty string values
func (*Time) UnmarshalJSON ¶
UnmarshalJSON describes JSON unmarshaling for custom Time objects, handling empty string values
type TrackingField ¶
TrackingField is a tracking field
type TrashType ¶
type TrashType string
TrashType is the type of Cloud recording that you would like to retrieve from the trash
const ( // ListAllRecordingsPath - v2 lists all recordings ListAllRecordingsPath = "/users/%s/recordings" // TrashTypeMeetingRecordings list all meeting recordings from the trash. Default. TrashTypeMeetingRecordings TrashType = "meeting_recordings" // TrashTypeRecordingFile list all individual recording files from the trash TrashTypeRecordingFile TrashType = "recording_file" )
type URL ¶
URL is a custom URL type that enables JSON marshaling/unmarshaling of url.URL
func (*URL) MarshalJSON ¶
MarshalJSON describes JSON unmarshaling for custom Time objects, handling empty string values
func (*URL) UnmarshalJSON ¶
UnmarshalJSON describes JSON unmarshaling for custom Time objects, handling empty string values
type User ¶
type User struct {
Email string `json:"email"`
ID string `json:"id"`
AccountID string `json:"account_id"`
CreatedAt Time `json:"created_at,string"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
PicURL string `json:"pic_url"`
Type UserType `json:"type"`
DisableChat bool `json:"disable_chat"`
EnableE2eEncryption bool `json:"enable_e2e_encryption"`
EnableSilentMode bool `json:"enable_silent_mode"`
DisableGroupHd bool `json:"disable_group_hd"`
DisableRecording bool `json:"disable_recording"`
EnableCmr bool `json:"enable_cmr"`
EnableAutoRecording bool `json:"enable_auto_recording"`
EnableCloudAutoRecording bool `json:"enable_cloud_auto_recording"`
Verified int `json:"verified"`
PMI int `json:"pmi"`
MeetingCapacity int `json:"meeting_capacity"`
EnableWebinar bool `json:"enable_webinar"`
WebinarCapacity int `json:"webinar_capacity"`
EnableLarge bool `json:"enable_large"`
LargeCapacity int `json:"large_capacity"`
DisableFeedback bool `json:"disable_feedback"`
DisableJbhReminder bool `json:"disable_jbh_reminder"`
EnableBreakoutRoom bool `json:"enable_breakout_room"`
EnablePolling bool `json:"enable_polling"`
EnableAnnotation bool `json:"enable_annotation"`
EnableFarEndCameraControl bool `json:"enable_far_end_camera_control"`
DisablePrivateChat bool `json:"disable_private_chat"`
EnableEnterExitChime bool `json:"enable_enter_exit_chime"`
DisableCancelMeetingNotification bool `json:"disable_cancel_meeting_notification"`
EnableRemoteSupport bool `json:"enable_remote_support"`
EnableFileTransfer bool `json:"enable_file_transfer"`
EnableVirtualBackground bool `json:"enable_virtual_background"`
EnableAttentionTracking bool `json:"enable_attention_tracking"`
EnableWaitingRoom bool `json:"enable_waiting_room"`
EnableClosedCaption bool `json:"enable_closed_caption"`
EnableCoHost bool `json:"enable_co_host"`
EnableAutoSavingChats bool `json:"enable_auto_saving_chats"`
EnablePhoneParticipantsPassword bool `json:"enable_phone_participants_password"`
EnableAutoDeleteCmr bool `json:"enable_auto_delete_cmr"`
AutoDeleteCmrDays int `json:"auto_delete_cmr_days"`
Dept string `json:"dept"`
LastClientVersion string `json:"lastClientVersion"`
LastLoginTime string `json:"lastLoginTime"`
Token string `json:"token"`
ZPK string `json:"zpk"`
}
User represents an account user
func CreateUser ¶
func CreateUser(opts CreateUserOptions) (User, error)
CreateUser calls POST /users/{userId}/meetings
func GetUser ¶
func GetUser(opts GetUserOpts) (User, error)
GetUser calls /users/{userId}, searching for a user by ID or email, using the default client
type UserLoginType ¶
type UserLoginType int
UserLoginType is one of a fixed number of possible user login type
type Webinar ¶
type Webinar struct {
UUID string `json:"uuid"`
ID int `json:"id"`
StartURL string `json:"start_url"`
JoinURL string `json:"join_url"`
RegistrationURL string `json:"registration_url"`
CreatedAt *Time `json:"created_at"`
HostID string `json:"host_id"`
Topic string `json:"topic"`
Type WebinarType `json:"type"`
StartTime *Time `json:"start_time"`
Duration int `json:"duration"`
Timezone string `json:"timezone"`
Agenda string `json:"agenda"`
OptionStartType string `json:"option_start_type"`
OptionAudio string `json:"option_audio"`
OptionEnforceLogin bool `json:"option_enforce_login"`
OptionEnforceLoginDomains string `json:"option_enforce_login_domains"`
OptionAlternativeHosts string `json:"option_alternative_hosts"`
Status int `json:"status"`
Occurrences []WebinarOccurrence `json:"occurrences"`
}
Webinar represents a webinar object
func GetWebinarInfo ¶
GetWebinarInfo gets into about a single webinar, using the default client
type WebinarOccurrence ¶
type WebinarOccurrence struct {
OccurrenceID string `json:"occurrence_id"`
StartTime *Time `json:"start_time"`
Duration int `json:"duration"`
}
WebinarOccurrence contains recurrence data for recurring webinars
type WebinarPanelist ¶
type WebinarPanelist struct {
ID string `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
JoinURL *URL `json:"join_url"`
}
WebinarPanelist contains information returned by /webinar/panelists
type WebinarRegistrant ¶
type WebinarRegistrant struct {
WebinarID int `json:"-" url:"-"`
ID string `json:"id,omitempty"` // for webinar registrant response
Email string `json:"email" url:"-"`
FirstName string `json:"first_name" url:"-"`
LastName string `json:"last_name" url:"-"`
Address string `json:"address" url:"-"`
City string `json:"city" url:"-"`
Country string `json:"country" url:"-"` // 2 digit code per https://zoom.github.io/api/#countries
Zip string `json:"zip" url:"-"`
State string `json:"state" url:"-"`
Phone string `json:"phone" url:"-"`
Industry string `json:"industry" url:"-"`
Organization string `json:"org" url:"-"`
JobTitle string `json:"job_title" url:"-"`
PurchasingTimeFrame PurchasingTimeFrameType `json:"purchasing_time_frame" url:"-"`
RoleInPurchaseProcess PurchaseProcessRoleType `json:"role_in_purchase_process" url:"-"`
NumberOfEmployees NumberOfEmployeesType `json:"no_of_employees" url:"-"`
CommentsQuestions string `json:"comments" url:"-"`
CustomQuestions []CustomQuestion `json:"custom_questions,omitempty" url:"-"` // JSON-encoded []CustomQuestion
Status ListWebinarRegistrantsStatusType `json:"status,omitempty" url:"-"`
CreateTime *Time `json:"create_time" url:"-"`
JoinURL *URL `json:"join_url" url:"-"`
/*
Comma-delimited list of ids. This applies if the webinar is recurring
with fixed time. The behavior differs based on registration settings:
1. Register once and attend any - this can be left blank, user is
registered for all sessions
2. Register for each - **behavior unclear**
3. Register once and attend one or more - **behavior unclear**
See https://support.zoom.us/hc/en-us/community/posts/115019165043-Behavior-of-occurrence-ids-in-webinar-register-?page=1#community_comment_115004843466
for more details.
*/
OccurrenceIDs string `url:"occurrence_ids,omitempty"`
}
WebinarRegistrant contains options for webinar registration for both creating a registration and looking one up. Note that any custom fields are strings, and the Title is the actual title entered in Zoom
type WebinarType ¶
type WebinarType int
WebinarType is one of a fixed number of possible webinar types
const ( // TypeWebinar is the default webinar type TypeWebinar WebinarType = 5 // TypeRecurringWebinar is a recurring webinar TypeRecurringWebinar WebinarType = 6 // TypeRecurringWebinarFixedTime is a recurring webinar with fixed time TypeRecurringWebinarFixedTime WebinarType = 9 )
Source Files
¶
- client.go
- cloud_recording.go
- cloud_recording_get_meeting.go
- cloud_recording_list_all.go
- date.go
- error.go
- group_member_post.go
- http_method.go
- jwt.go
- meeting.go
- meeting_create.go
- meeting_delete.go
- meeting_get.go
- meeting_list.go
- time.go
- url.go
- user_create.go
- user_delete.go
- user_get.go
- user_list.go
- user_type.go
- webinar.go
- webinar_constants.go
- webinar_panelist.go
- webinar_register.go