diff --git a/src/data/languages/languageData.ts b/src/data/languages/languageData.ts index 605d7eac9d..f5c1120992 100644 --- a/src/data/languages/languageData.ts +++ b/src/data/languages/languageData.ts @@ -5,6 +5,18 @@ export default { platform: { javascript: '2.16', nodejs: '2.16', + typescript: '2.16', + react: '2.16', + csharp: '1.2', + flutter: '1.2', + java: '1.4', + kotlin: '1.4', + objc: '1.2', + php: '1.1', + python: '2.1', + ruby: '1.2', + swift: '1.2', + go: '1.3', }, pubsub: { javascript: '2.16', diff --git a/src/data/nav/platform.ts b/src/data/nav/platform.ts index 2630e7b854..ce1a3b6682 100644 --- a/src/data/nav/platform.ts +++ b/src/data/nav/platform.ts @@ -325,10 +325,15 @@ export default { ], }, { - name: 'Debugging and errors', + name: 'Support and debugging', pages: [ { - name: 'Overview', + name: 'Support tickets', + link: '/docs/platform/support', + index: true, + }, + { + name: 'Debugging', link: '/docs/platform/errors', index: true, }, diff --git a/src/pages/docs/platform/errors/index.mdx b/src/pages/docs/platform/errors/index.mdx index 0f521336af..cd041ee816 100644 --- a/src/pages/docs/platform/errors/index.mdx +++ b/src/pages/docs/platform/errors/index.mdx @@ -225,18 +225,7 @@ The Dev console displays a realtime feed of events. It does not store historical ## Support tickets -If the provided information does not resolve your issue, contact Ably [support](https://ably.com/support). When contacting, include details such as your app ID, the error code, and any relevant logs to help troubleshoot. - -The following information is essential for effective troubleshooting, include as much of the following information as possible: - -* Provide timestamps in UTC format. -* Include complete SDK logs from the time of the failure. Ensure these logs show activity before and after the timeout, as SDKs retry failed requests by default. -* Specify which endpoints were accessed. Mention if you use custom client options, the environment setting, and the failing SDK operation. -* State the SDK/s you use, including the platform and versions. -* Include any stack traces related to the error. -* Indicate whether the issue occurs consistently or was a one-time event. -* Provide details to confirm whether the issue was related to your network or Ably's availability. For example, note whether other internet operations were succeeding simultaneously. -* Include the `appID` associated with the request. +If the debugging tools provided didn't resolve your issue then contact [Ably support](https://ably.com/support). Provide the [requested information](/docs/platform/support#info) so that Ably can help to resolve your issue as quickly as possible. ### Generating a HAR file diff --git a/src/pages/docs/platform/support/index.mdx b/src/pages/docs/platform/support/index.mdx new file mode 100644 index 0000000000..179c7ebfa8 --- /dev/null +++ b/src/pages/docs/platform/support/index.mdx @@ -0,0 +1,129 @@ +--- +title: Support tickets +intro: "The best way to get support from Ably is by asking Ably's AI Assistant, or creating a ticket for the support team." +meta_description: "Learn more about Ably's AI Transport and the features that enable you to quickly build functionality into new and existing applications." +meta_keywords: "support, help, support ticket, ticket, escalation, incident, incident escalation, enterprise" +--- + +## Ask Ably's AI assistant + +When you're logged into your Ably Account, reading the documentation, or on Ably.com, you always have the option to start a chat with Ably's AI assistant. Look out for **Ask AI**. + +You can ask the AI assistant any question about Ably and let it do the hard work for you. If the assistant can't help, you have the option to **Get Support** which will let you create a ticket for Ably's support team. + +## Submit a support ticket + +If you require assistance or experience technical issues with Ably, [submit a support ticket](https://ably.com/support) via your Ably account. Ably's support team will be able to investigate the matter for you and help to resolve it. + +Support response service levels vary depending on the type of subscription you have with Ably. To check your subscription level, and view your SLAs, log in to [your Ably account](https://ably.com/login) and visit the [support page](https://ably.com/support). + +To submit a support ticket: + +1. Visit the [support page](https://ably.com/support). +2. Click the **Raise a support ticket** button. +3. Fill out the form with the relevant information, providing as much detail as possible. +4. Click **Submit** and the Support team will be in touch via email to assist you. + + + +### Support ticket information + +The following information is useful for helping troubleshoot your issue when you submit a support ticket: + +* Time and date that the issue occurred. + * Note whether it is consistent or a one-time event. + * Provide timestamps in UTC format. +* Information about the SDK(s) used. + * Include the platform and versions. + * If the issue occurred following an upgrade, please mention the previous and current versions. +* Client information. + * Include the `appID` associated with the request. + * Include the `clientId`s of any affected clients. + * Specify on which channel the issue occurred. + * State whether you use custom client options, for example a custom environment. + * Specify which endpoints or which SDK operation was used. + * List any error codes received. +* Verbose logs replicating the issue. + * Include logs from the time immediately before and after the issue occurred. + * Include any relevant parts of your code which might assist us in replicating the issue. + * If the issue is easily reproducible, sharing a screen recording or Gist can be helpful. + +The following code demonstrates how to enable verbose logging in Ably Pub/Sub SDKs: + + +```javascript +var ably = new Ably.Realtime( +{ /* existing options */, +logLevel:4 +}); +``` + +```java +ClientOptions clientOptions = new ClientOptions(); +/* existing options */ +clientOptions.logLevel = Log.VERBOSE; +ablyRealtime = new AblyRealtime(clientOptions); +``` + +```go +client, err := ably.NewRealtime(/*existing options*/,ably.WithLogLevel(4)) + if err != nil { + panic(err) + } +``` + +```swift +let clientOptions = ARTClientOptions(); +/* existing options */ +clientOptions.logLevel = .debug; +let realtime = ARTRealtime(options: clientOptions); +``` + +```php +$clientOptions = array( + /* existing options */, +'logLevel' => 4, ); + +$ably = new \Ably\AblyRest($clientOptions); +``` + +```python +import logging +import ably + +ablyLog = logging.getLogger('ably') +ablyLog.setLevel(logging.DEBUG) +ablyLog.addHandler(logging.StreamHandler()) + +# add a formatter object to format timestamps: +formatter = logging.Formatter('%(asctime)s - %(message)s') +handler.setFormatter(formatter) +``` + +```ruby +ably = Ably::Realtime.new(=begin existing client options =end, log_level: :debug) +``` + +```flutter +import 'package:ably_flutter/ably_flutter.dart' as ably; + +var clientOptions = ably.ClientOptions(/* existing client options */, +logLevel: ably.LogLevel.verbose); +``` + + +## Enterprise escalation process + +Enterprise customers have the ability to escalate incidents and receive a response within 15 minutes. + +If you ever require urgent attention to a critical issue you are facing, or are experiencing a major incident, you can page Ably's engineering team 24/7 any day of the year. + +To escalate an incident: + +1. Log into your [Ably account](https://ably.com/login). +2. Select **Support** from the main menu or visit the [support page](https://ably.com/support) directly. +3. Click the **Raise a support ticket** button and select the option for **Incident escalation - service disrupted**. +4. Fill out the form with the relevant information, providing as much detail as possible. +5. Click **Submit** and an engineer will reach out to you within 15 minutes. If you have a Slack channel with Ably they will reach out to you via Slack, otherwise they will contact you via email.