Package com.slack.api
Class Slack
- java.lang.Object
-
- com.slack.api.Slack
-
- All Implemented Interfaces:
AutoCloseable
public class Slack extends Object implements AutoCloseable
This class is a kind of facade of a variety of Slack API clients offered by this SDK. Any objects of this class and all the APIs this class provides are thread-safe. We recommend sharing an instance across your application.This class internally uses the OkHttpClient and the client has its own daemon thread for realizing its optimal resource management. When your app needs to close all the threads when shutting down etc, call #close() method to terminate those threads.
If your application depends on the Gson library for JSON manipulation as with this SDK and the app uses the latest version for some reasons, just in case, you may need to check the binary-compatibility among their releases. We don't think any issues happened before but in general, some libraries may break bin-compatibility among major/minor releases.
- See Also:
- OkHttpClient, Gson
-
-
Constructor Summary
Constructors Constructor Description Slack()
-
Method Summary
-
-
-
Method Detail
-
getInstance
public static Slack getInstance()
-
getInstance
public static Slack getInstance(SlackConfig config)
-
getInstance
public static Slack getInstance(SlackConfig config, SlackHttpClient httpClient)
-
getInstance
public static Slack getInstance(SlackHttpClient httpClient)
-
getConfig
public SlackConfig getConfig()
-
getHttpClient
public SlackHttpClient getHttpClient()
-
close
public void close() throws Exception- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-
send
public WebhookResponse send(String url, Payload payload) throws IOException
Send a data to Incoming Webhook endpoint.- Throws:
IOException
-
send
public WebhookResponse send(String url, String payload) throws IOException
Send a raw JSON body to Incoming Webhook endpoint.- Throws:
IOException
-
socketMode
public SocketModeClient socketMode(String appToken) throws IOException
- Throws:
IOException
-
socketMode
public SocketModeClient socketMode(String appToken, SocketModeClient.Backend backend) throws IOException
- Throws:
IOException
-
issueSocketModeUrl
public String issueSocketModeUrl(String appToken) throws IOException
- Throws:
IOException
-
rtm
public RTMClient rtm(String apiToken) throws IOException
Creates an RTM API client.- Throws:
IOException- See Also:
- Slack RTM API, RTM's Rate Limits
-
rtmConnect
public RTMClient rtmConnect(String apiToken) throws IOException
Creates an RTM API client using `/rtm.connect`.- Throws:
IOException- See Also:
- Slack RTM API, RTM's Rate Limits
-
rtmConnect
public RTMClient rtmConnect(String apiToken, boolean fullUserInfoRequired) throws IOException
Creates an RTM API client using `/rtm.connect`.- Throws:
IOException- See Also:
- Slack RTM API, RTM's Rate Limits
-
rtmStart
@Deprecated public RTMClient rtmStart(String apiToken) throws IOException
Deprecated.Use #rtmConnect() insteadCreates an RTM API client using `/rtm.start`.- Throws:
IOException- See Also:
- Slack RTM API, RTM's Rate Limits
-
rtmStart
@Deprecated public RTMClient rtmStart(String apiToken, boolean fullUserInfoRequired) throws IOException
Deprecated.Use #rtmConnect() insteadCreates an RTM API client using `/rtm.start`.- Throws:
IOException- See Also:
- Slack RTM API, RTM's Rate Limits
-
statusLegacy
public LegacyStatusClient statusLegacy()
Creates a Status API client.
-
status
public StatusClient status()
-
scim
public SCIMClient scim()
Creates a SCIM API client.
-
scim
public SCIMClient scim(String token)
-
scimAsync
public AsyncSCIMClient scimAsync(String token)
-
scimStats
public RequestStats scimStats(String enterpriseId)
-
scimStats
public RequestStats scimStats(String executorName, String enterpriseId)
-
audit
public AuditClient audit()
Creates a Audit Logs API client.
-
audit
public AuditClient audit(String token)
-
auditAsync
public AsyncAuditClient auditAsync(String token)
-
auditStats
public RequestStats auditStats(String enterpriseId)
-
auditStats
public RequestStats auditStats(String executorName, String enterpriseId)
-
methods
public MethodsClient methods()
Creates a Methods API client.
-
methods
public MethodsClient methods(String token)
-
methods
public MethodsClient methods(String token, String teamId)
-
methodsAsync
public AsyncMethodsClient methodsAsync()
-
methodsAsync
public AsyncMethodsClient methodsAsync(String token)
-
methodsAsync
public AsyncMethodsClient methodsAsync(String token, String teamId)
-
methodsStats
public RequestStats methodsStats(String teamId)
-
methodsStats
public RequestStats methodsStats(String executorName, String teamId)
-
-