ai-apimatic / slack-apimatic-sdk-sdk
Slack API SDK
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/ai-apimatic/slack-apimatic-sdk-sdk
Requires
- php: ^7.2 || ^8.0
- ext-curl: *
- ext-json: *
- apimatic/core: ~0.3.17
- apimatic/core-interfaces: ~0.1.5
- apimatic/unirest-php: ^4.0.6
Requires (Dev)
- phan/phan: 5.4.5
- squizlabs/php_codesniffer: ^3.5
README
Introduction
One way to interact with the Slack platform is its HTTP RPC-based Web API, a collection of methods requiring OAuth 2.0-based user, bot, or workspace tokens blessed with related OAuth scopes.
Learn more about the Slack Web API: https://api.slack.com/web
Install the Package
Run the following command to install the package and automatically add the dependency to your composer.json file:
composer require "ai-apimatic/slack-apimatic-sdk-sdk:1.0.1"
Or add it to the composer.json file manually as given below:
"require": { "ai-apimatic/slack-apimatic-sdk-sdk": "1.0.1" }
You can also view the package at: https://packagist.org/packages/ai-apimatic/slack-apimatic-sdk-sdk#1.0.1
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
|---|---|---|
| environment | Environment |
The API environment. Default: Environment.PRODUCTION |
| timeout | int |
Timeout for API calls in seconds. Default: 30 |
| enableRetries | bool |
Whether to enable retries and backoff feature. Default: false |
| numberOfRetries | int |
The number of retries to make. Default: 0 |
| retryInterval | float |
The retry time interval between the endpoint calls. Default: 1 |
| backOffFactor | float |
Exponential backoff factor to increase interval between retries. Default: 2 |
| maximumRetryWaitTime | int |
The maximum wait time in seconds for overall retrying requests. Default: 0 |
| retryOnTimeout | bool |
Whether to retry on request timeout. Default: true |
| httpStatusCodesToRetry | array |
Http status codes to retry against. Default: 408, 413, 429, 500, 502, 503, 504, 521, 522, 524 |
| httpMethodsToRetry | array |
Http methods to retry against. Default: 'GET', 'PUT' |
| loggingConfiguration | LoggingConfigurationBuilder |
Represents the logging configurations for API calls |
| proxyConfiguration | ProxyConfigurationBuilder |
Represents the proxy configurations for API calls |
| authorizationCodeAuth | AuthorizationCodeAuth |
The Credentials Setter for OAuth 2 Authorization Code Grant |
The API client can be initialized as follows:
use SlackWebApiLib\Logging\LoggingConfigurationBuilder; use SlackWebApiLib\Logging\RequestLoggingConfigurationBuilder; use SlackWebApiLib\Logging\ResponseLoggingConfigurationBuilder; use Psr\Log\LogLevel; use SlackWebApiLib\Environment; use SlackWebApiLib\Authentication\AuthorizationCodeAuthCredentialsBuilder; use SlackWebApiLib\Models\OAuthScope; use SlackWebApiLib\SlackWebApiClientBuilder; $client = SlackWebApiClientBuilder::init() ->authorizationCodeAuthCredentials( AuthorizationCodeAuthCredentialsBuilder::init( 'OAuthClientId', 'OAuthClientSecret', 'OAuthRedirectUri' ) ->oAuthScopes( [ OAuthScope::ADMIN, OAuthScope::ADMIN_APPSREAD ] ) ) ->environment(Environment::PRODUCTION) ->loggingConfiguration( LoggingConfigurationBuilder::init() ->level(LogLevel::INFO) ->requestConfiguration(RequestLoggingConfigurationBuilder::init()->body(true)) ->responseConfiguration(ResponseLoggingConfigurationBuilder::init()->headers(true)) ) ->build();
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
| Name | Description |
|---|---|
| PRODUCTION | Default |
Authorization
This API uses the following authentication schemes.
List of APIs
- Admin Apps
- Admin Apps Approved
- Admin Apps Requests
- Admin Apps Restricted
- Admin Conversations
- Admin Conversations Ekm
- Admin Conversations Restrict Access
- Admin Emoji
- Admin Invite Requests
- Admin Invite Requests Approved
- Admin Invite Requests Denied
- Admin Teams Admins
- Admin Teams
- Admin Teams Owners
- Admin Teams Settings
- Admin Usergroups
- Admin Users
- Admin Users Session
- Api
- Apps Event Authorizations
- Apps Permissions
- Apps Permissions Resources
- Apps Permissions Scopes
- Apps Permissions Users
- Apps
- Auth
- Bots
- Calls
- Calls Participants
- Chat
- Chat Scheduled Messages
- Conversations
- Dialog
- Dnd
- Emoji
- Files Comments
- Files
- Files Remote
- Migration
- Oauth
- Oauth V 2
- Pins
- Reactions
- Reminders
- Rtm
- Search
- Stars
- Team
- Team Profile
- Usergroups
- Usergroups Users
- Users
- Users Profile
- Views
- Workflows
SDK Infrastructure
Configuration
- ProxyConfigurationBuilder
- LoggingConfigurationBuilder
- RequestLoggingConfigurationBuilder
- ResponseLoggingConfigurationBuilder