github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/README.md (about) 1 # RingCentral Engage SDK for Go 2 3 [api-coverage-svg]: https://img.shields.io/badge/api%20coverage-116%2F121%20%3D%2096%25-yellow.svg 4 [build-status-svg]: https://api.travis-ci.org/grokify/go-ringcentral-engage.svg?branch=master 5 [build-status-link]: https://travis-ci.org/grokify/go-ringcentral-engage 6 [goreport-svg]: https://goreportcard.com/badge/github.com/grokify/go-ringcentral-engage 7 [goreport-link]: https://goreportcard.com/report/github.com/grokify/go-ringcentral-engage 8 [docs-godoc-svg]: https://img.shields.io/badge/docs-godoc-blue.svg 9 [docs-godoc-link]: https://godoc.org/github.com/grokify/go-ringcentral-engage/engagedigital 10 [license-svg]: https://img.shields.io/badge/license-MIT-blue.svg 11 [license-link]: https://github.com/grokify/go-ringcentral-engage/blob/master/LICENSE 12 [stackoverflow-svg]: https://img.shields.io/badge/Stack%20Overflow-ringcentral-orange.svg 13 [stackoverflow-link]: https://stackoverflow.com/questions/tagged/ringcentral 14 [twitter-svg]: https://img.shields.io/twitter/follow/ringcentraldevs.svg?style=social&label=follow 15 [twitter-link]: https://twitter.com/RingCentralDevs 16 17 ## Overview 18 19 This currently provides a minimal Go SDK for RingCentral Engage Digital, formerly Dimelo: 20 21 https://www.dimelo.com 22 23 ## Pre-requisites 24 25 You need the following: 26 27 1. RingCentral Engage Digital / Dimelo Account and the URL subdomain, e.g. `my-subdomain` in the following URL: `https://my-subdomain.engagement.dimelo.com` 28 1. An API Access Token. You can retrive this at the following URL, using your own domain in place of `my-subdomain`: `https://my-subdomain.engagement.dimelo.com/admin/api_access_tokens` 29 30 ## Installation 31 32 ``` 33 $ go get github.com/grokify/go-ringcental/... 34 ``` 35 36 ## Usage 37 38 The main client SDK is in the [`engagedigital/v1/client`](client) folder. The [`engagedigital/v1/util`](util) folder provides a non-autogenerated helper function to instantiate the SDK: 39 40 ```go 41 import( 42 engagedigitalutil "github.com/grokify/go-ringcentral-engage/engagedigital/v1/util") 43 44 func main() { 45 apiClient := engagedigitalutil.NewApiClient("my-subdomain", "my-access-token") 46 47 // helper function to get access to raw `*http.Client` 48 httpClient := apiClient.HTTPClient() 49 } 50 ``` 51 52 For information on how to use the `apiClient` object, see: 53 54 1. [`engagedigital/v1/examples`](examples) folder for usage. [`engagedigital/v1/examples/simple_get`](examples/simple_get) includes a simple functions for a lot of the `GET` APIs. 55 1. [engagedigital/v1/client/README.md](client/README.md) for SDK documentation. 56 57 ## Documentation 58 59 [engagedigital/v1/client/README.md](client/README.md) 60 61 ## Coverage 62 63 116/121 APIs - 96% 64 65 - [x] Communities 66 - [x] GET /1.0/communities 67 - [x] GET /1.0/communities/:id 68 69 - [x] Sources 70 - [x] GET /1.0/content_sources 71 - [x] GET /1.0/content_sources/:id 72 - [x] PUT /1.0/content_sources/:id 73 74 - [x] Folders 75 - [x] GET /1.0/folders 76 - [x] GET /1.0/folders/:id 77 - [x] POST /1.0/folders 78 - [x] PUT /1.0/folders/:id 79 - [x] DELETE /1.0/folders/:id 80 81 - [x] Roles 82 - [x] GET /1.0/roles 83 - [x] GET /1.0/roles/:id 84 - [x] POST /1.0/roles 85 - [x] PUT /1.0/roles/:id 86 87 - [x] Categories 88 - [x] GET /1.0/categories 89 - [x] GET /1.0/categories/:id 90 - [x] POST /1.0/categories 91 - [x] PUT /1.0/categories/:id 92 - [x] DELETE /1.0/categories/:id 93 94 - [x] Tags 95 - [x] GET /1.0/tags 96 - [x] GET /1.0/tags/:id 97 - [x] POST /1.0/tags 98 - [x] PUT /1.0/tags/:id 99 - [x] DELETE /1.0/tags/:id 100 101 - [x] Teams 102 - [x] GET /1.0/teams 103 - [x] GET /1.0/teams/:id 104 - [x] POST /1.0/teams 105 - [x] PUT /1.0/teams/:id 106 - [x] DELETE /1.0/teams/:id 107 108 - [x] Users 109 - [x] GET /1.0/users/me 110 - [x] GET /1.0/users 111 - [x] GET /1.0/users/:id 112 - [x] POST /1.0/users 113 - [x] PUT /1.0/users/:id 114 - [x] POST /1.0/users/invite 115 - [x] DELETE /1.0/users/:id 116 117 - [ ] User Source Permissions 118 - [ ] GET /1.0/users/:id/sources_permissions 119 - [ ] PUT /1.0/users/:id/sources_permissions 120 121 - [x] Identities 122 - [x] GET /1.0/identities 123 - [x] GET /1.0/identities/:id 124 125 - [x] Identity Groups 126 - [x] GET /1.0/identity_groups 127 - [x] GET /1.0/identity_groups/:id 128 - [x] PUT /1.0/identity_groups/:id 129 130 - [x] Custom Fields 131 - [x] GET /1.0/custom_fields 132 - [x] GET /1.0/custom_fields/:id 133 - [x] POST /1.0/custom_fields 134 - [x] PUT /1.0/custom_fields/:id 135 - [x] DELETE /1.0/custom_fields/:id 136 137 - [x] Threads 138 - [x] GET /1.0/content_threads 139 - [x] GET /1.0/content_threads/:id 140 - [x] PUT /1.0/content_threads/:id/update_categories 141 - [x] PUT /1.0/content_threads/:id/ignore 142 - [x] PUT /1.0/content_threads/:id/close 143 - [x] GET /1.0/content_threads/:id/open 144 145 - [x] Contents 146 - [x] GET /1.0/contents 147 - [x] GET /1.0/contents/:id 148 - [x] POST /1.0/contents 149 - [x] PUT /1.0/contents/:id/update_categories 150 - [x] PUT /1.0/contents/:id/ignore 151 152 - [x] Attachments 153 - [x] GET /1.0/attachments 154 - [x] GET /1.0/attachments/:id 155 - [x] POST /1.0/attachments 156 157 - [x] Events 158 - [x] GET /1.0/events 159 - [x] GET /1.0/events/:id 160 161 - [ ] Interventions 162 - [x] GET /1.0/interventions 163 - [x] GET /1.0/interventions/:id 164 - [x] POST /1.0/interventions 165 - [ ] PUT /1.0/interventions/:id 166 - [x] PUT /1.0/interventions/:id/close 167 - [x] PUT /1.0/interventions/:id/reassign 168 - [x] PUT /1.0/interventions/:id/update_categories 169 - [x] DELETE /1.0/interventions/:id/cancel 170 171 - [x] Intervention comments 172 - [x] GET /1.0/intervention_comments 173 - [x] GET /1.0/intervention_comments/:id 174 - [x] POST /1.0/intervention_comments 175 - [x] DELETE /1.0/intervention_comments/:id 176 177 - [x] Agent Status (task view) 178 - [x] GET /1.0/status 179 - [x] GET /1.0/status/:agent_id 180 - [ ] PUT /1.0/status/:agent_id 181 182 - [x] Webhook 183 - [x] GET /1.0/webhooks 184 - [x] GET /1.0/webhooks/:id 185 - [x] POST /1.0/webhooks 186 - [x] PUT /1.0/webhooks/:id 187 - [x] DELETE /1.0/webhooks/:id 188 189 - [x] Time Sheet 190 - [x] GET /1.0/time_sheets 191 - [x] GET /1.0/time_sheets/:id 192 - [x] POST /1.0/time_sheets 193 - [x] PUT /1.0/time_sheets/:id 194 - [x] DELETE /1.0/time_sheets/:id 195 196 - [x] Channels 197 - [x] GET /1.0/channels 198 - [x] GET /1.0/channels/:id 199 - [x] PUT /1.0/channels/:id 200 201 - [x] Settings 202 - [x] GET /1.0/settings 203 - [x] PUT /1.0/settings 204 205 - [x] Locales 206 - [x] GET /1.0/locales 207 208 - [x] Timezones 209 - [x] GET /1.0/timezones 210 211 - [x] Presence statuses 212 - [x] GET /1.0/presence_status 213 - [x] GET /1.0/presence_status/:id 214 - [x] POST /1.0/presence_status 215 - [x] PUT /1.0/presence_status/:id 216 - [x] DELETE /1.0/presence_status/:id 217 218 - [x] Tasks 219 - [x] GET /1.0/tasks 220 - [x] GET /1.0/tasks/:id 221 - [x] POST /1.0/tasks/:id/transfer 222 - [x] POST /1.0/tasks/:id/move 223 224 - [x] Reply Assistant - Entries 225 - [x] GET /1.0/reply_assistant/entries 226 - [x] GET /1.0/reply_assistant/entries/:id 227 - [x] POST /1.0/reply_assistant/entries 228 - [x] PUT /1.0/reply_assistant/entries/:id 229 - [x] DELETE /1.0/reply_assistant/entries/:id 230 231 - [x] Reply Assistant - Versions 232 - [x] GET /1.0/reply_assistant/versions 233 - [x] GET /1.0/reply_assistant/versions/:id 234 - [x] POST /1.0/reply_assistant/versions 235 - [x] PUT /1.0/reply_assistant/versions/:id 236 - [x] DELETE /1.0/reply_assistant/versions/:id 237 238 - [x] Reply Assistant - Groups 239 - [x] GET /1.0/reply_assistant/groups 240 - [x] GET /1.0/reply_assistant/groups/:id 241 - [x] POST /1.0/reply_assistant/groups 242 - [x] PUT /1.0/reply_assistant/groups/:id 243 - [x] DELETE /1.0/reply_assistant/groups/:id 244 245 - [ ] Survey Response 246 - [ ] GET /1.0/survey_responses/:id 247 248 There are 127 endpoints. To count, use the following on OS-X: 249 250 ``` 251 $ grep ' [ ]' README.md | wc -l 252 ``` 253 254 ## Building the SDK 255 256 You won't normally need to do this unless you want to modify the SDK, like adding endpoints via the OpenAPI 2.0 / Swagger 2.0 specification. 257 258 This SDK is auto-generated from the [OpenAPI 2.0 / Swagger 2.0 spec](codegen/openapi-spec.json) using [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator). 259 260 > **Note:** This SDK uses a merged OpenAPI spec so do not edit the `codegen/openapi-spec.json` file. Instead, edit files in and add files to the `codegen/partial-specs` folder. 261 262 Run: 263 264 ``` 265 $ cd codegen 266 $ go run merge.go -v 3 267 $ sh generate.sh 268 $ rm -rf ../engagedigital 269 $ mv engagedigital .. 270 ``` 271 # Credits 272 273 Thanks to the following apps for making this possible: 274 275 * https://github.com/OpenAPITools/openapi-generator 276 * https://github.com/getkin/kin-openapi/tree/master/openapi3 277 * https://apidevtools.org/swagger-parser/online/ 278 * https://mermade.org.uk/openapi-converter