Σύνδεσμος Slack
Συνδέστε τον χώρο εργασίας Slack με το Brevo μέσω Tajo για ειδοποιήσεις marketing σε πραγματικό χρόνο, ειδοποιήσεις ομάδας για εκδηλώσεις πελατών και αυτοματοποίηση ροής εργασίας που ενεργοποιείται από αλληλεπιδράσεις Slack.
Επισκόπηση
| Ιδιότητα | Τιμή |
|---|---|
| Πλατφόρμα | Slack |
| Κατηγορία | Προσαρμοσμένη Ενσωμάτωση |
| Πολυπλοκότητα Ρύθμισης | Εύκολη |
| Επίσημη Ενσωμάτωση | Ναι |
| Δεδομένα που Συγχρονίζονται | Χρήστες, Κανάλια, Μηνύματα, Εκδηλώσεις |
| Βασικό URL API | https://slack.com/api |
Χαρακτηριστικά
- Ειδοποιήσεις marketing - Αποστολή ειδοποιήσεων σε πραγματικό χρόνο για εκδηλώσεις καμπάνιας, νέους συνδρομητές και ορόσημα εσόδων
- Ειδοποιήσεις εκδηλώσεων πελάτη - Ενημέρωση ομάδων για ενέργειες υψηλής αξίας πελατών από το Brevo
- Ενεργοποιητές ροής εργασίας - Χρήση αλληλεπιδράσεων Slack (κλικ κουμπιών, υποβολές φόρμας) για ενεργοποίηση αυτοματισμών Brevo
- Δρομολόγηση βάσει καναλιού - Δρομολόγηση ειδοποιήσεων σε συγκεκριμένα κανάλια βάσει τύπου εκδήλωσης ή τμήματος πελατών
- Συγχρονισμός χρηστών - Αντιστοίχηση χρηστών χώρου εργασίας Slack σε επαφές Brevo για εσωτερικές επικοινωνίες
- Διαδραστικά μηνύματα - Αποστολή πλούσιων μηνυμάτων με κουμπιά και ενέργειες για ροές εργασίας ομάδας
- Προγραμματισμένα μηνύματα - Προγραμματισμός ειδοποιήσεων για ημερήσιες/εβδομαδιαίες συνόψεις marketing
- Υποστήριξη νήματος - Ομαδοποίηση σχετικών ειδοποιήσεων σε νήματα για οργανωμένη επικοινωνία
Προαπαιτούμενα
Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:
- Χώρο εργασίας Slack με πρόσβαση διαχειριστή
- Εφαρμογή Slack δημιουργημένη στο api.slack.com/apps
- Bot token με απαιτούμενα scopes
- Λογαριασμό Brevo με πρόσβαση API
- Λογαριασμό Tajo
Πιστοποίηση
Bot Token (Συνιστάται)
Εγκαταστήστε εφαρμογή Slack στον χώρο εργασίας σας και χρησιμοποιήστε το bot token για πρόσβαση API.
- Δημιουργήστε εφαρμογή στο api.slack.com/apps
- Προσθέστε απαιτούμενα OAuth scopes στο “OAuth & Permissions”
- Εγκαταστήστε εφαρμογή στον χώρο εργασίας
- Αντιγράψτε το Bot User OAuth Token (
xoxb-...)
curl -X POST "https://slack.com/api/chat.postMessage" \ -H "Authorization: Bearer xoxb-YOUR-BOT-TOKEN" \ -H "Content-Type: application/json" \ -d '{"channel": "C01234567", "text": "Hello from Tajo!"}'OAuth 2.0
Για διανομή της ενσωμάτωσης Slack σε πολλαπλούς χώρους εργασίας:
# Authorization URLhttps://slack.com/oauth/v2/authorize? client_id={client_id}& scope=chat:write,channels:read,users:read& redirect_uri={redirect_uri}
# Token exchangecurl -X POST "https://slack.com/api/oauth.v2.access" \ -d "client_id={client_id}" \ -d "client_secret={client_secret}" \ -d "code={auth_code}"Απαιτούμενα Bot Scopes
chat:write # Send messageschannels:read # List channelschannels:history # Read channel messagesusers:read # List workspace usersusers:read.email # Read user email addressesreactions:write # Add reactions to messagesfiles:write # Upload filesΠρόσβαση Email Χρήστη
Το scope users:read.email απαιτείται για αντιστοίχηση χρηστών Slack με επαφές Brevo. Χωρίς αυτό, η αντιστοίχηση χρηστών θα περιοριστεί σε εμφανιζόμενα ονόματα.
Διαμόρφωση
Βασική Ρύθμιση
connectors: slack: enabled: true bot_token: "${SLACK_BOT_TOKEN}" signing_secret: "${SLACK_SIGNING_SECRET}"
# Notification channels channels: marketing: "C01234567" sales: "C01234568" support: "C01234569" alerts: "C01234570"
# Event routing notifications: new_subscriber: channel: marketing template: subscriber_alert high_value_order: channel: sales template: order_alert support_ticket: channel: support template: ticket_alertΑντιστοίχιση Πεδίων
Αντιστοίχηση δεδομένων χρήστη Slack σε χαρακτηριστικά επαφών Brevo:
Προεπιλεγμένες Αντιστοιχίσεις
| Parameter | Type | Description |
|---|---|---|
profile.email required | string | Email χρήστη (μοναδικό αναγνωριστικό για αντιστοίχηση Brevo) |
real_name optional | string | Πλήρες όνομα, διαχωρισμένο σε FIRSTNAME/LASTNAME |
profile.phone optional | string | Αντιστοιχεί στο χαρακτηριστικό SMS |
profile.title optional | string | Τίτλος εργασίας |
tz optional | string | Ζώνη ώρας χρήστη |
is_admin optional | boolean | Κατάσταση διαχειριστή χώρου εργασίας |
team_id optional | string | ID ομάδας χώρου εργασίας |
status_text optional | string | Προσαρμοσμένη κατάσταση χρήστη |
Μέθοδοι API
Μηνύματα
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
POST | chat.postMessage | Αποστολή μηνύματος σε κανάλι |
POST | chat.update | Ενημέρωση υπάρχοντος μηνύματος |
POST | chat.delete | Διαγραφή μηνύματος |
POST | chat.scheduleMessage | Προγραμματισμός μηνύματος |
POST | chat.postEphemeral | Αποστολή εφήμερου μηνύματος σε χρήστη |
Κανάλια
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
GET | conversations.list | Λίστα καναλιών |
GET | conversations.info | Λήψη πληροφοριών καναλιού |
GET | conversations.members | Λίστα μελών καναλιού |
GET | conversations.history | Λήψη μηνυμάτων καναλιού |
Χρήστες
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
GET | users.list | Λίστα χρηστών χώρου εργασίας |
GET | users.info | Λήψη πληροφοριών χρήστη |
GET | users.lookupByEmail | Εύρεση χρήστη βάσει email |
GET | users.conversations | Λίστα καναλιών χρήστη |
Αλληλεπιδράσεις
| Μέθοδος | Endpoint | Περιγραφή |
|---|---|---|
POST | views.open | Άνοιγμα modal view |
POST | views.update | Ενημέρωση modal view |
POST | reactions.add | Προσθήκη αντίδρασης emoji |
Εκδηλώσεις
Ειδοποιήσεις Brevo-σε-Slack
| Εκδήλωση | Ενεργοποιητής | Ενέργεια Slack |
|---|---|---|
new_subscriber | Δημιουργία επαφής στο Brevo | Δημοσίευση στο #marketing |
campaign_sent | Αποστολή καμπάνιας email | Δημοσίευση σύνοψης στο #marketing |
order_placed | Ανίχνευση παραγγελίας υψηλής αξίας | Δημοσίευση στο #sales με λεπτομέρειες |
cart_abandoned | Εγκατάλειψη καλαθιού για 30 λεπτά | Δημοσίευση στο #sales για παρακολούθηση |
ticket_created | Άνοιγμα εισιτηρίου υποστήριξης | Δημοσίευση στο #support |
unsubscribed | Κατάργηση εγγραφής επαφής | Δημοσίευση ειδοποίησης στο #marketing |
Ενεργοποιητές Slack-σε-Brevo
| Εκδήλωση Slack | Ενεργοποιητής | Ενέργεια Brevo |
|---|---|---|
message_action | Προσαρμοσμένη συντόμευση μηνύματος | Προσθήκη επαφής σε λίστα ή ενεργοποίηση αυτοματισμού |
block_actions | Κλικ κουμπιού σε μήνυμα | Ενημέρωση χαρακτηριστικού επαφής ή αποστολή email |
view_submission | Υποβολή φόρμας modal | Δημιουργία επαφής ή ενεργοποίηση ροής εργασίας |
Παραδείγματα Κώδικα
Αρχικοποίηση Συνδέσμου
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connect Slackawait tajo.connectors.connect('slack', { botToken: process.env.SLACK_BOT_TOKEN, signingSecret: process.env.SLACK_SIGNING_SECRET});Αποστολή Ειδοποιήσεων Marketing
// Send a notification when a high-value order is placedawait tajo.slack.notify({ channel: 'sales', event: 'order_placed', data: { orderValue: '$1,250.00', products: ['Premium Widget', 'Pro Service'], isFirstOrder: true }, template: { blocks: [ { type: 'header', text: { type: 'plain_text', text: 'New High-Value Order' } }, { type: 'section', fields: [ { type: 'mrkdwn', text: '*Amount:*\n$1,250.00' } ] }, { type: 'actions', elements: [ { type: 'button', text: { type: 'plain_text', text: 'View in Brevo' }, url: 'https://app.brevo.com/contacts' } ] } ] }});Χειρισμός Αλληλεπιδράσεων Slack
import crypto from 'crypto';
app.post('/slack/interactions', async (req, res) => { // Verify Slack request signature const timestamp = req.headers['x-slack-request-timestamp']; const signature = req.headers['x-slack-signature']; const sigBasestring = `v0:${timestamp}:${req.rawBody}`; const mySignature = 'v0=' + crypto .createHmac('sha256', process.env.SLACK_SIGNING_SECRET) .update(sigBasestring) .digest('hex');
if (signature !== mySignature) { return res.status(401).send('Unauthorized'); }
const payload = JSON.parse(req.body.payload);
// Handle button actions if (payload.type === 'block_actions') { await tajo.connectors.handleWebhook('slack', { type: 'interaction', action: payload.actions[0].action_id, userId: payload.user.id, payload }); }
res.status(200).send();});Όρια Ρυθμού
Τα όρια ρυθμού API Slack χρησιμοποιούν σύστημα επιπέδων:
| Επίπεδο | Όριο | Κοινές Μέθοδοι |
|---|---|---|
| Επίπεδο 1 | 1 αίτημα/λεπτό | chat.delete, conversations.kick |
| Επίπεδο 2 | 20 αιτήματα/λεπτό | conversations.history, users.info |
| Επίπεδο 3 | 50 αιτήματα/λεπτό | conversations.list, users.list |
| Επίπεδο 4 | 100 αιτήματα/λεπτό | chat.postMessage |
| Ειδικό | Ποικίλει | chat.postMessage στο ίδιο κανάλι: 1/δευτ. |
Πρόσθετα όρια:
- Web API: Burst limit με βραχυπρόθεσμο περιορισμό
- Events API: Επαναλήψεις παράδοσης για 3 προσπάθειες
- Incoming Webhooks: 1 μήνυμα/δευτερόλεπτο ανά URL webhook
- Block Kit: Μέγιστο 50 blocks ανά μήνυμα
Ρυθμός Δημοσίευσης Καναλιού
Η δημοσίευση στο ίδιο κανάλι περιορίζεται σε περίπου 1 μήνυμα ανά δευτερόλεπτο. Ομαδοποιήστε ειδοποιήσεις ή χρησιμοποιήστε νήματα για αποφυγή περιορισμού ρυθμού.
Αντιμετώπιση Προβλημάτων
Συνήθη Προβλήματα
| Πρόβλημα | Αιτία | Λύση |
|---|---|---|
not_authed | Μη έγκυρο bot token | Επανεγκατάσταση εφαρμογής και αντιγραφή νέου bot token |
channel_not_found | Το bot δεν είναι στο κανάλι | Προσκαλέστε το bot στο κανάλι στόχο |
missing_scope | Το απαιτούμενο scope δεν χορηγήθηκε | Προσθέστε scope και επανεγκαταστήστε εφαρμογή |
| Η εκδήλωση δεν λαμβάνεται | Η εγγραφή εκδήλωσης δεν έχει οριστεί | Ρυθμίστε URL Event Subscriptions |
| Λήξη αλληλεπίδρασης | Απόκριση >3 δευτερόλεπτα | Απαντήστε με 200 αμέσως, επεξεργαστείτε ασύγχρονα |
Λειτουργία Εντοπισμού Σφαλμάτων
Ενεργοποιήστε λεπτομερή καταγραφή:
connectors: slack: debug: true log_level: verbose log_events: trueΔοκιμή Σύνδεσης
tajo connectors test slack# ✓ Bot token valid# ✓ Workspace accessible# ✓ Channels readable# ✓ Message posting enabled# ✓ Event subscriptions activeΒέλτιστες Πρακτικές
- Χρησιμοποιήστε Block Kit - Δημιουργήστε πλούσια, διαδραστικά μηνύματα με το πλαίσιο Block Kit του Slack
- Απαντήστε γρήγορα - Επιβεβαιώστε αλληλεπιδράσεις εντός 3 δευτερολέπτων, επεξεργαστείτε ασύγχρονα
- Ομαδοποιήστε σχετικά μηνύματα - Ομαδοποιήστε σχετικές ειδοποιήσεις σε νήματα για μείωση θορύβου
- Δρομολογήστε βάσει καναλιού - Αποστολή διαφορετικών τύπων εκδηλώσεων στα κατάλληλα κανάλια ομάδας
- Συμπεριλάβετε κουμπιά ενέργειας - Προσθέστε κουμπιά “Προβολή στο Brevo” για γρήγορη πρόσβαση σε δεδομένα πελατών
- Εφαρμόστε unfurling - Εμφάνιση πλούσιων προεπισκοπήσεων για συνδέσμους Brevo που κοινοποιούνται στο Slack
Ασφάλεια
- Bot Token - Token πρόσβασης με εύρος OAuth με λεπτομερή δικαιώματα
- Υπογραφή αιτήματος - Επαλήθευση υπογραφής HMAC SHA-256 για εισερχόμενα αιτήματα
- OAuth 2.0 - Βιομηχανικής πρότυπης εξουσιοδότηση για διανομή πολλαπλών χώρων εργασίας
- Κρυπτογράφηση TLS - Όλη η επικοινωνία API κρυπτογραφείται μέσω HTTPS
- Εναλλαγή token - Αυτόματη εναλλαγή token για ενισχυμένη ασφάλεια