/
services_configuration_webhooks.go
111 lines (94 loc) · 4.14 KB
/
services_configuration_webhooks.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
* This code was generated by
* ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
* | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
* | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
*
* Twilio - Conversations
* This is the public Twilio REST API.
*
* NOTE: This class is auto generated by OpenAPI Generator.
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package openapi
import (
"encoding/json"
"net/url"
"strings"
)
// Fetch a specific service webhook configuration.
func (c *ApiService) FetchServiceWebhookConfiguration(ChatServiceSid string) (*ConversationsV1ServiceWebhookConfiguration, error) {
path := "/v1/Services/{ChatServiceSid}/Configuration/Webhooks"
path = strings.Replace(path, "{"+"ChatServiceSid"+"}", ChatServiceSid, -1)
data := url.Values{}
headers := make(map[string]interface{})
resp, err := c.requestHandler.Get(c.baseURL+path, data, headers)
if err != nil {
return nil, err
}
defer resp.Body.Close()
ps := &ConversationsV1ServiceWebhookConfiguration{}
if err := json.NewDecoder(resp.Body).Decode(ps); err != nil {
return nil, err
}
return ps, err
}
// Optional parameters for the method 'UpdateServiceWebhookConfiguration'
type UpdateServiceWebhookConfigurationParams struct {
// The absolute url the pre-event webhook request should be sent to.
PreWebhookUrl *string `json:"PreWebhookUrl,omitempty"`
// The absolute url the post-event webhook request should be sent to.
PostWebhookUrl *string `json:"PostWebhookUrl,omitempty"`
// The list of events that your configured webhook targets will receive. Events not configured here will not fire. Possible values are `onParticipantAdd`, `onParticipantAdded`, `onDeliveryUpdated`, `onConversationUpdated`, `onConversationRemove`, `onParticipantRemove`, `onConversationUpdate`, `onMessageAdd`, `onMessageRemoved`, `onParticipantUpdated`, `onConversationAdded`, `onMessageAdded`, `onConversationAdd`, `onConversationRemoved`, `onParticipantUpdate`, `onMessageRemove`, `onMessageUpdated`, `onParticipantRemoved`, `onMessageUpdate` or `onConversationStateUpdated`.
Filters *[]string `json:"Filters,omitempty"`
// The HTTP method to be used when sending a webhook request. One of `GET` or `POST`.
Method *string `json:"Method,omitempty"`
}
func (params *UpdateServiceWebhookConfigurationParams) SetPreWebhookUrl(PreWebhookUrl string) *UpdateServiceWebhookConfigurationParams {
params.PreWebhookUrl = &PreWebhookUrl
return params
}
func (params *UpdateServiceWebhookConfigurationParams) SetPostWebhookUrl(PostWebhookUrl string) *UpdateServiceWebhookConfigurationParams {
params.PostWebhookUrl = &PostWebhookUrl
return params
}
func (params *UpdateServiceWebhookConfigurationParams) SetFilters(Filters []string) *UpdateServiceWebhookConfigurationParams {
params.Filters = &Filters
return params
}
func (params *UpdateServiceWebhookConfigurationParams) SetMethod(Method string) *UpdateServiceWebhookConfigurationParams {
params.Method = &Method
return params
}
// Update a specific Webhook.
func (c *ApiService) UpdateServiceWebhookConfiguration(ChatServiceSid string, params *UpdateServiceWebhookConfigurationParams) (*ConversationsV1ServiceWebhookConfiguration, error) {
path := "/v1/Services/{ChatServiceSid}/Configuration/Webhooks"
path = strings.Replace(path, "{"+"ChatServiceSid"+"}", ChatServiceSid, -1)
data := url.Values{}
headers := make(map[string]interface{})
if params != nil && params.PreWebhookUrl != nil {
data.Set("PreWebhookUrl", *params.PreWebhookUrl)
}
if params != nil && params.PostWebhookUrl != nil {
data.Set("PostWebhookUrl", *params.PostWebhookUrl)
}
if params != nil && params.Filters != nil {
for _, item := range *params.Filters {
data.Add("Filters", item)
}
}
if params != nil && params.Method != nil {
data.Set("Method", *params.Method)
}
resp, err := c.requestHandler.Post(c.baseURL+path, data, headers)
if err != nil {
return nil, err
}
defer resp.Body.Close()
ps := &ConversationsV1ServiceWebhookConfiguration{}
if err := json.NewDecoder(resp.Body).Decode(ps); err != nil {
return nil, err
}
return ps, err
}