Σύνδεσμος Slack

Συνδέστε τον χώρο εργασίας Slack με το Brevo μέσω Tajo για ειδοποιήσεις marketing σε πραγματικό χρόνο, ειδοποιήσεις ομάδας για εκδηλώσεις πελατών και αυτοματοποίηση ροής εργασίας που ενεργοποιείται από αλληλεπιδράσεις Slack.

Επισκόπηση

ΙδιότηταΤιμή
ΠλατφόρμαSlack
ΚατηγορίαΠροσαρμοσμένη Ενσωμάτωση
Πολυπλοκότητα ΡύθμισηςΕύκολη
Επίσημη ΕνσωμάτωσηΝαι
Δεδομένα που ΣυγχρονίζονταιΧρήστες, Κανάλια, Μηνύματα, Εκδηλώσεις
Βασικό URL APIhttps://slack.com/api

Χαρακτηριστικά

  • Ειδοποιήσεις marketing - Αποστολή ειδοποιήσεων σε πραγματικό χρόνο για εκδηλώσεις καμπάνιας, νέους συνδρομητές και ορόσημα εσόδων
  • Ειδοποιήσεις εκδηλώσεων πελάτη - Ενημέρωση ομάδων για ενέργειες υψηλής αξίας πελατών από το Brevo
  • Ενεργοποιητές ροής εργασίας - Χρήση αλληλεπιδράσεων Slack (κλικ κουμπιών, υποβολές φόρμας) για ενεργοποίηση αυτοματισμών Brevo
  • Δρομολόγηση βάσει καναλιού - Δρομολόγηση ειδοποιήσεων σε συγκεκριμένα κανάλια βάσει τύπου εκδήλωσης ή τμήματος πελατών
  • Συγχρονισμός χρηστών - Αντιστοίχηση χρηστών χώρου εργασίας Slack σε επαφές Brevo για εσωτερικές επικοινωνίες
  • Διαδραστικά μηνύματα - Αποστολή πλούσιων μηνυμάτων με κουμπιά και ενέργειες για ροές εργασίας ομάδας
  • Προγραμματισμένα μηνύματα - Προγραμματισμός ειδοποιήσεων για ημερήσιες/εβδομαδιαίες συνόψεις marketing
  • Υποστήριξη νήματος - Ομαδοποίηση σχετικών ειδοποιήσεων σε νήματα για οργανωμένη επικοινωνία

Προαπαιτούμενα

Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:

  1. Χώρο εργασίας Slack με πρόσβαση διαχειριστή
  2. Εφαρμογή Slack δημιουργημένη στο api.slack.com/apps
  3. Bot token με απαιτούμενα scopes
  4. Λογαριασμό Brevo με πρόσβαση API
  5. Λογαριασμό Tajo

Πιστοποίηση

Bot Token (Συνιστάται)

Εγκαταστήστε εφαρμογή Slack στον χώρο εργασίας σας και χρησιμοποιήστε το bot token για πρόσβαση API.

  1. Δημιουργήστε εφαρμογή στο api.slack.com/apps
  2. Προσθέστε απαιτούμενα OAuth scopes στο “OAuth & Permissions”
  3. Εγκαταστήστε εφαρμογή στον χώρο εργασίας
  4. Αντιγράψτε το Bot User OAuth Token (xoxb-...)
Terminal window
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 σε πολλαπλούς χώρους εργασίας:

Terminal window
# Authorization URL
https://slack.com/oauth/v2/authorize?
client_id={client_id}&
scope=chat:write,channels:read,users:read&
redirect_uri={redirect_uri}
# Token exchange
curl -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 messages
channels:read # List channels
channels:history # Read channel messages
users:read # List workspace users
users:read.email # Read user email addresses
reactions:write # Add reactions to messages
files: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Περιγραφή
POSTchat.postMessageΑποστολή μηνύματος σε κανάλι
POSTchat.updateΕνημέρωση υπάρχοντος μηνύματος
POSTchat.deleteΔιαγραφή μηνύματος
POSTchat.scheduleMessageΠρογραμματισμός μηνύματος
POSTchat.postEphemeralΑποστολή εφήμερου μηνύματος σε χρήστη

Κανάλια

ΜέθοδοςEndpointΠεριγραφή
GETconversations.listΛίστα καναλιών
GETconversations.infoΛήψη πληροφοριών καναλιού
GETconversations.membersΛίστα μελών καναλιού
GETconversations.historyΛήψη μηνυμάτων καναλιού

Χρήστες

ΜέθοδοςEndpointΠεριγραφή
GETusers.listΛίστα χρηστών χώρου εργασίας
GETusers.infoΛήψη πληροφοριών χρήστη
GETusers.lookupByEmailΕύρεση χρήστη βάσει email
GETusers.conversationsΛίστα καναλιών χρήστη

Αλληλεπιδράσεις

ΜέθοδοςEndpointΠεριγραφή
POSTviews.openΆνοιγμα modal view
POSTviews.updateΕνημέρωση modal view
POSTreactions.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 Slack
await 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 placed
await tajo.slack.notify({
channel: 'sales',
event: 'order_placed',
data: {
customerEmail: '[email protected]',
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: '*Customer:*\n[email protected]' },
{ 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 χρησιμοποιούν σύστημα επιπέδων:

ΕπίπεδοΌριοΚοινές Μέθοδοι
Επίπεδο 11 αίτημα/λεπτόchat.delete, conversations.kick
Επίπεδο 220 αιτήματα/λεπτόconversations.history, users.info
Επίπεδο 350 αιτήματα/λεπτόconversations.list, users.list
Επίπεδο 4100 αιτήματα/λεπτό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

Δοκιμή Σύνδεσης

Terminal window
tajo connectors test slack
# ✓ Bot token valid
# ✓ Workspace accessible
# ✓ Channels readable
# ✓ Message posting enabled
# ✓ Event subscriptions active

Βέλτιστες Πρακτικές

  1. Χρησιμοποιήστε Block Kit - Δημιουργήστε πλούσια, διαδραστικά μηνύματα με το πλαίσιο Block Kit του Slack
  2. Απαντήστε γρήγορα - Επιβεβαιώστε αλληλεπιδράσεις εντός 3 δευτερολέπτων, επεξεργαστείτε ασύγχρονα
  3. Ομαδοποιήστε σχετικά μηνύματα - Ομαδοποιήστε σχετικές ειδοποιήσεις σε νήματα για μείωση θορύβου
  4. Δρομολογήστε βάσει καναλιού - Αποστολή διαφορετικών τύπων εκδηλώσεων στα κατάλληλα κανάλια ομάδας
  5. Συμπεριλάβετε κουμπιά ενέργειας - Προσθέστε κουμπιά “Προβολή στο Brevo” για γρήγορη πρόσβαση σε δεδομένα πελατών
  6. Εφαρμόστε unfurling - Εμφάνιση πλούσιων προεπισκοπήσεων για συνδέσμους Brevo που κοινοποιούνται στο Slack

Ασφάλεια

  • Bot Token - Token πρόσβασης με εύρος OAuth με λεπτομερή δικαιώματα
  • Υπογραφή αιτήματος - Επαλήθευση υπογραφής HMAC SHA-256 για εισερχόμενα αιτήματα
  • OAuth 2.0 - Βιομηχανικής πρότυπης εξουσιοδότηση για διανομή πολλαπλών χώρων εργασίας
  • Κρυπτογράφηση TLS - Όλη η επικοινωνία API κρυπτογραφείται μέσω HTTPS
  • Εναλλαγή token - Αυτόματη εναλλαγή token για ενισχυμένη ασφάλεια

Σχετικοί Πόροι

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI Βοηθός

Γεια! Ρωτήστε με οτιδήποτε για την τεκμηρίωση.