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) ExecuteRequest(opts RequestV2Opts) (*http.Response, 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) HttpClient() *http.Client
- func (c *Client) HttpRequest(opts RequestV2Opts) (*http.Request, 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)
- func (c *Client) RequestV2(opts RequestV2Opts) error
- func (c *Client) RequestV2HeadOnly(resp *http.Response) error
- func (c *Client) RequestV2WithBody(opts RequestV2Opts, resp *http.Response) 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 RequestV2Opts
- 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) ExecuteRequest ¶
func (c *Client) ExecuteRequest(opts RequestV2Opts) (*http.Response, error)
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) HttpClient ¶
func (*Client) HttpRequest ¶
func (c *Client) HttpRequest(opts RequestV2Opts) (*http.Request, error)
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
func (*Client) RequestV2 ¶
func (c *Client) RequestV2(opts RequestV2Opts) error
func (*Client) RequestV2WithBody ¶
func (c *Client) RequestV2WithBody(opts RequestV2Opts, resp *http.Response) error
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 int `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 ( 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" )RecordingTypeSharedScreenWithSpeakerViewCC
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 RequestV2Opts ¶
type RequestV2Opts struct { Client *Client Method HTTPMethod URLParameters interface{} Path string DataParameters interface{} Ret interface{} // HeadResponse represents responses that don't have a body HeadResponse bool }
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