Notions de base

L’API Web est une collection de méthodes de type HTTP RPC, toutes avec des URL sous la forme https://slack.com/api/METHOD_FAMILY.method.

Bien qu’il ne s’agisse pas d’une API REST, ceux qui sont familiers avec REST devraient être à l’aise avec ses fondements en HTTP.

Utilisez HTTPS et SSL lors de l’appel de toutes les méthodes.

Chaque méthode dispose d’une série d’arguments définissant vos intentions d’exécution.

Passez les arguments comme suit :

  • Paramètres de chaîne de requête GET
  • Paramètres POST présentés sous la forme application/x-www-form-urlencoded
  • ou un mélange de paramètres GET et POST
  • Certaines méthodes d’écriture autorisent les arguments de type application/json
  • [files.upload] attend multipart/form-data, ce qui signifie que vous devez envoyer la plupart des paramètres sous forme de paires clé/valeur en application/x-www-form-urlencoded mais envoyer les fichiers dans leur type de contenu natif.

Certaines méthodes, comme chat.postMessage et dialog.open, acceptent des arguments sous forme de tableaux associatifs JSON. Ces méthodes peuvent être difficiles à construire correctement avec un Content-type de type application/x-www-form-urlencoded, c’est pourquoi nous recommandons fortement d’utiliser des corps encodés en JSON.

Corps POST

Lors de l’envoi d’une requête HTTP POST, vous pouvez transmettre vos arguments soit en tant que paramètres POST standard, soit au format JSON.

Corps encodés dans l’URL

Lorsque vous envoyez des données encodées dans l’URL, définissez l’en-tête HTTP Content-type sur application/x-www-form-urlencoded et présentez vos paires clé/valeur selon la RFC-3986.

Par exemple, une requête POST vers conversations.create pourrait ressembler à ceci :

POST /api/conversations.create
Content-type: application/x-www-form-urlencoded
token=xoxa-xxxxxxxxx-xxxx&name=something-urgent
Évaluation des réponses

Toutes les réponses de l’API Web contiennent un objet JSON, qui inclura toujours une propriété booléenne de premier niveau ok, indiquant le succès ou l’échec.

En cas d’échec, la propriété error contiendra un code d’erreur lisible par une machine. Dans le cas d’appels problématiques mais réussis, ok sera true et la propriété warning contiendra un ou plusieurs codes d’avertissement séparés par des virgules.

{
"ok": true,
"stuff": "C’est bon"
}
{
"ok": false,
"error": "quelque_chose_de_mauvais"
}
{
"ok": true,
"warning": "quelque_chose_de_problématique"
"stuff": "Les informations demandées"
}

Les autres propriétés sont définies dans la documentation de chaque méthode concernée. Il y a beaucoup de "choses" à découvrir, y compris ces types et d’autres curiosités propres aux méthodes ou domaines.

Authentification

Authentifiez vos requêtes à l’API Web en fournissant un jeton d’accès, qui identifie un utilisateur, un bot, ou une relation application-espace de travail.

Enregistrez votre application sur Slack pour obtenir des identifiants à utiliser avec notre implémentation OAuth 2.0, qui vous permet de négocier des jetons au nom des utilisateurs et des espaces de travail.

Nous préférons que les jetons soient envoyés dans l’en-tête HTTP Authorization de vos requêtes sortantes. Toutefois, vous pouvez également transmettre les jetons en tant que paramètre token dans tous les appels à l’API Web.

Traitez les jetons avec soin. Ne partagez jamais vos jetons avec d'autres utilisateurs ou applications. Ne publiez pas vos jetons dans des dépôts de code publics. Consultez les conseils de sécurité des jetons.

Spécification Open API

Une façon de comprendre toute la magie derrière les méthodes est de consulter notre spécification OpenAPI 2.0, qui décrit les requêtes et réponses présentes dans notre API Web.

Méthodes

Avec plus de 100 méthodes, il y en a sûrement une qui répond à vos besoins. Voici une liste des différentes familles de méthodes disponibles dans notre API Web :

  • api
  • apps.permissions
  • apps.permissions.resources
  • apps.permissions.scopes
  • apps.permissions.users
  • apps
  • auth
  • bots
  • channels
  • chat
  • conversations
  • dialog
  • dnd
  • emoji
  • files.comments
  • files
  • groups
  • im
  • migration
  • mpim
  • oauth
  • pins
  • reactions
  • reminders
  • rtm
  • search
  • stars
  • team
  • team.profile
  • usergroups
  • usergroups.users
  • users
  • users.profile

Informations extraites du site Slack API.

© 2014 - 2025 A.F.H unt.com Made with by AFH Code.
Vous devez vous connecter à votre compte développeur