Box Developerドキュメント

Slack統合マッピングを作成

post
https://api.box.com/2.0
/integration_mappings/slack

SlackチャンネルをBox項目にマッピングすることで、Slack統合マッピングを作成します。

このエンドポイントを使用するには、管理者または共同管理者の役割が必要です。

リクエスト

bearer [ACCESS_TOKEN]
application/json

リクエスト本文

object本文内

Slackタイプの統合マッピングのBox項目オブジェクトのスキーマ

string本文内必須
"1234567891"

(typeで参照されるタイプの) マッピングされた項目のID

string本文内必須
"folder"

idで参照されるマッピングされた項目のタイプ

次の値に固定: folder

object本文内

Slackタイプの統合マッピングオプションオブジェクトのスキーマ。

boolean本文内省略可能
true

基になるBox項目に対するチャンネルメンバーのアクセスを自動で管理する必要があるかどうかを示します。チャンネルのタイプによっては、アクセスがコラボレーションまたは共有リンクの作成により管理されます。

object本文内

Slackタイプの統合マッピングのマッピングされた項目オブジェクトのスキーマ。

Box for Slackがオーガナイゼーションレベルとワークスペースレベルのどちらでインストールされているかに応じて、slack_org_idまたはslack_workspace_idいずれかを指定します。両方のパラメータを同時に使用しないでください。

string本文内必須
"C12378991223"

(typeで参照されるタイプの) マッピングされた項目のID

string本文内必須
"channel"

idで参照されるマッピングされた項目のタイプ

次の値に固定: channel

string本文内必須
"E1234567"

項目が関連付けられているSlackオーガナイゼーションのID。このパラメータは、オーガナイゼーションレベルでBox for Slackがインストールされている場合に使用します。slack_workspace_idを同時に使用しないでください。

string本文内必須
"T12352314"

項目が関連付けられているSlackワークスペースのID。このパラメータは、ワークスペースレベルでBox for Slackがインストールされている場合に使用します。slack_org_idを同時に使用しないでください。

レスポンス

作成された統合マッピングを返します。

誤ったoptionsが指定された場合またはBoxフォルダをこのpartner_item_idにマッピングできない場合にbad_requestを返します。エラーコードは以下のとおりです。

  • SERVICE_ACCOUNT_IS_NOT_A_COOWNER_OR_OWNER - サービスアカウントに共同所有者のコラボレーションがないか、サービスアカウントがbox_item_idの所有者ではありません。
  • CHANNEL_ALREADY_MAPPED - チャンネルがすでに別のbox_item_idにマッピングされています。
  • CHANNEL_NOT_FOUND - チャンネルが見つかりませんでした。
  • CHANNEL_NOT_SUITABLE_FOR_CFS - コネクトチャンネルのため、SlackのコンテンツレイヤーとしてBoxを使用するのに適していません。
  • BOX_ENTERPRISE_MISMATCH - Boxフォルダは、BoxをSlackのコンテンツレイヤーとして使用するよう構成されている企業が所有している必要があります。
  • CFS_DISABLED - SlackのコンテンツレイヤーとしてのBoxの使用を、指定したSlackワークスペースまたはオーガナイゼーションに対して有効にする必要があります。
  • BOX_FOLDER_EXTERNALLY_OWNED - Boxフォルダは、管理者の企業内で所有されている必要があります。
  • JWT_APP_NOT_AUTHORIZED - JWT承認エラー。

統合マッピングが見つからなかった場合、not_foundエラーを返します。

予期しないクライアントエラー。

post
Slack統合マッピングを作成
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -X -L POST "https://api.box.com/2.0/integration_mappings/slack" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H 'content-type: application/json' \
     -d '{
          "partner_item": {
              "id": "C987654321",
              "type": "channel",
              "slack_workspace_id": "T5555555"
          },
          "box_item": {
              "id": "123456789",
              "type": "folder"
          }
      }'
TypeScript Gen
await userClient.integrationMappings.createSlackIntegrationMapping({
  partnerItem: new IntegrationMappingPartnerItemSlack({
    id: partnerItemId,
    slackOrgId: slackOrgId,
  }),
  boxItem: new IntegrationMappingBoxItemSlack({ id: folder.id }),
} satisfies IntegrationMappingSlackCreateRequest);
Python Gen
user_client.integration_mappings.create_slack_integration_mapping(
    IntegrationMappingPartnerItemSlack(id=partner_item_id, slack_org_id=slack_org_id),
    IntegrationMappingBoxItemSlack(id=folder.id),
)
.NET Gen
await userClient.IntegrationMappings.CreateSlackIntegrationMappingAsync(requestBody: new IntegrationMappingSlackCreateRequest(partnerItem: new IntegrationMappingPartnerItemSlack(id: partnerItemId) { SlackOrgId = slackOrgId }, boxItem: new IntegrationMappingBoxItemSlack(id: folder.Id)));
Node
const mapping = await client.integrationMappings.createSlackIntegrationMapping({
	partner_item: {
		type: 'channel',
		id: 'C12378991223',
		slack_org_id: 'E1234567'
	},
	box_item: {
		id: '12345',
		type: 'folder',
	}
});
console.log(
    `Slack integration mapping with id ${mapping.id} was created`
);

レスポンスの例

{
  "id": "12345",
  "type": "integration_mapping",
  "box_item": {
    "id": "12345",
    "type": "folder",
    "etag": "1",
    "name": "Contracts",
    "sequence_id": "3"
  },
  "created_at": "2012-12-12T10:53:43-08:00",
  "created_by": {
    "id": "11446498",
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  },
  "integration_type": "slack",
  "is_manually_created": true,
  "modified_at": "2012-12-12T10:53:43-08:00",
  "modified_by": {
    "id": "11446498",
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  },
  "options": {
    "is_access_management_disabled": true
  },
  "partner_item": {
    "id": "C12378991223",
    "type": "channel",
    "slack_org_id": "E1234567"
  }
}