v1/

directory
v0.3.20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2024 License: MIT

README

RingCentral Engage SDK for Go

Overview

This currently provides a minimal Go SDK for RingCentral Engage Digital, formerly Dimelo:

https://www.dimelo.com

Pre-requisites

You need the following:

  1. RingCentral Engage Digital / Dimelo Account and the URL subdomain, e.g. my-subdomain in the following URL: https://my-subdomain.engagement.dimelo.com
  2. 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

Installation

$ go get github.com/grokify/go-ringcental/...

Usage

The main client SDK is in the engagedigital/v1/client folder. The engagedigital/v1/util folder provides a non-autogenerated helper function to instantiate the SDK:

import(
    engagedigitalutil "github.com/grokify/go-ringcentral-engage/engagedigital/v1/util")

func main() {
    apiClient := engagedigitalutil.NewApiClient("my-subdomain", "my-access-token")

    // helper function to get access to raw `*http.Client`
    httpClient := apiClient.HTTPClient()
}

For information on how to use the apiClient object, see:

  1. engagedigital/v1/examples folder for usage. engagedigital/v1/examples/simple_get includes a simple functions for a lot of the GET APIs.
  2. engagedigital/v1/client/README.md for SDK documentation.

Documentation

engagedigital/v1/client/README.md

Coverage

116/121 APIs - 96%

  • Communities

    • GET /1.0/communities
    • GET /1.0/communities/:id
  • Sources

    • GET /1.0/content_sources
    • GET /1.0/content_sources/:id
    • PUT /1.0/content_sources/:id
  • Folders

    • GET /1.0/folders
    • GET /1.0/folders/:id
    • POST /1.0/folders
    • PUT /1.0/folders/:id
    • DELETE /1.0/folders/:id
  • Roles

    • GET /1.0/roles
    • GET /1.0/roles/:id
    • POST /1.0/roles
    • PUT /1.0/roles/:id
  • Categories

    • GET /1.0/categories
    • GET /1.0/categories/:id
    • POST /1.0/categories
    • PUT /1.0/categories/:id
    • DELETE /1.0/categories/:id
  • Tags

    • GET /1.0/tags
    • GET /1.0/tags/:id
    • POST /1.0/tags
    • PUT /1.0/tags/:id
    • DELETE /1.0/tags/:id
  • Teams

    • GET /1.0/teams
    • GET /1.0/teams/:id
    • POST /1.0/teams
    • PUT /1.0/teams/:id
    • DELETE /1.0/teams/:id
  • Users

    • GET /1.0/users/me
    • GET /1.0/users
    • GET /1.0/users/:id
    • POST /1.0/users
    • PUT /1.0/users/:id
    • POST /1.0/users/invite
    • DELETE /1.0/users/:id
  • User Source Permissions

    • GET /1.0/users/:id/sources_permissions
    • PUT /1.0/users/:id/sources_permissions
  • Identities

    • GET /1.0/identities
    • GET /1.0/identities/:id
  • Identity Groups

    • GET /1.0/identity_groups
    • GET /1.0/identity_groups/:id
    • PUT /1.0/identity_groups/:id
  • Custom Fields

    • GET /1.0/custom_fields
    • GET /1.0/custom_fields/:id
    • POST /1.0/custom_fields
    • PUT /1.0/custom_fields/:id
    • DELETE /1.0/custom_fields/:id
  • Threads

    • GET /1.0/content_threads
    • GET /1.0/content_threads/:id
    • PUT /1.0/content_threads/:id/update_categories
    • PUT /1.0/content_threads/:id/ignore
    • PUT /1.0/content_threads/:id/close
    • GET /1.0/content_threads/:id/open
  • Contents

    • GET /1.0/contents
    • GET /1.0/contents/:id
    • POST /1.0/contents
    • PUT /1.0/contents/:id/update_categories
    • PUT /1.0/contents/:id/ignore
  • Attachments

    • GET /1.0/attachments
    • GET /1.0/attachments/:id
    • POST /1.0/attachments
  • Events

    • GET /1.0/events
    • GET /1.0/events/:id
  • Interventions

    • GET /1.0/interventions
    • GET /1.0/interventions/:id
    • POST /1.0/interventions
    • PUT /1.0/interventions/:id
    • PUT /1.0/interventions/:id/close
    • PUT /1.0/interventions/:id/reassign
    • PUT /1.0/interventions/:id/update_categories
    • DELETE /1.0/interventions/:id/cancel
  • Intervention comments

    • GET /1.0/intervention_comments
    • GET /1.0/intervention_comments/:id
    • POST /1.0/intervention_comments
    • DELETE /1.0/intervention_comments/:id
  • Agent Status (task view)

    • GET /1.0/status
    • GET /1.0/status/:agent_id
    • PUT /1.0/status/:agent_id
  • Webhook

    • GET /1.0/webhooks
    • GET /1.0/webhooks/:id
    • POST /1.0/webhooks
    • PUT /1.0/webhooks/:id
    • DELETE /1.0/webhooks/:id
  • Time Sheet

    • GET /1.0/time_sheets
    • GET /1.0/time_sheets/:id
    • POST /1.0/time_sheets
    • PUT /1.0/time_sheets/:id
    • DELETE /1.0/time_sheets/:id
  • Channels

    • GET /1.0/channels
    • GET /1.0/channels/:id
    • PUT /1.0/channels/:id
  • Settings

    • GET /1.0/settings
    • PUT /1.0/settings
  • Locales

    • GET /1.0/locales
  • Timezones

    • GET /1.0/timezones
  • Presence statuses

    • GET /1.0/presence_status
    • GET /1.0/presence_status/:id
    • POST /1.0/presence_status
    • PUT /1.0/presence_status/:id
    • DELETE /1.0/presence_status/:id
  • Tasks

    • GET /1.0/tasks
    • GET /1.0/tasks/:id
    • POST /1.0/tasks/:id/transfer
    • POST /1.0/tasks/:id/move
  • Reply Assistant - Entries

    • GET /1.0/reply_assistant/entries
    • GET /1.0/reply_assistant/entries/:id
    • POST /1.0/reply_assistant/entries
    • PUT /1.0/reply_assistant/entries/:id
    • DELETE /1.0/reply_assistant/entries/:id
  • Reply Assistant - Versions

    • GET /1.0/reply_assistant/versions
    • GET /1.0/reply_assistant/versions/:id
    • POST /1.0/reply_assistant/versions
    • PUT /1.0/reply_assistant/versions/:id
    • DELETE /1.0/reply_assistant/versions/:id
  • Reply Assistant - Groups

    • GET /1.0/reply_assistant/groups
    • GET /1.0/reply_assistant/groups/:id
    • POST /1.0/reply_assistant/groups
    • PUT /1.0/reply_assistant/groups/:id
    • DELETE /1.0/reply_assistant/groups/:id
  • Survey Response

    • GET /1.0/survey_responses/:id

There are 127 endpoints. To count, use the following on OS-X:

$ grep ' [ ]' README.md  | wc -l

Building the SDK

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.

This SDK is auto-generated from the OpenAPI 2.0 / Swagger 2.0 spec using OpenAPI Generator.

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.

Run:

$ cd codegen
$ go run merge.go -v 3
$ sh generate.sh
$ rm -rf ../engagedigital
$ mv engagedigital ..

Credits

Thanks to the following apps for making this possible:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL