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