SDK für Calling-Erweiterungen
Bitte beachten: Unsere Anruf-App-Partner müssen Anrufinteraktionen nicht mehr manuell erstellen und aktualisieren; HubSpot erledigt dies für sie. Erfahren Sie dazu hier mehr.
Das SDK für Calling-Erweiterungen ermöglicht die Verwendung einer benutzerdefinierten Anrufoption für HubSpot-Benutzer direkt aus einem Datensatz im CRM.
Eine Calling-Erweiterung besteht aus drei Hauptelementen:
- Das SDK für Calling-Erweiterungen, ein JavaScript-SDK, das die Kommunikation zwischen Ihrer App und HubSpot ermöglicht.
- Die Anrufeinstellungen-Endpunkte, die verwendet werden, um die Anrufeinstellungen für Ihre App festzulegen. Jeder HubSpot-Account, der mit Ihrer App verknüpf wird, verwendet diese Einstellungen.
- Das calling iframe, in dem Ihre App für HubSpot-Benutzer angezeigt wird und mit den Anrufeinstellungen konfiguriert wird.
Weitere Informationen zum In-App-Calling-Feature finden Sie in diesem Wissensdatenbankartikel. Sobald Ihre App mit Calling-Erweiterung mit HubSpot verknüpft ist, wird sie als Option in der Anrufumschaltung angezeigt, wenn ein Benutzer einen Anruf über HubSpot tätigt.
Wenn Sie über keine App verfügen, können Sie eine über Ihren HubSpot-Entwickler-Account erstellen. Wenn Sie noch keinen HubSpot-Entwickler-Account haben, können Sie sich hier für einen Account registrieren.
Bitte beachten: Derzeit werden nur ausgehende Anrufe unterstützt.
Sie können das SDK für Calling-Erweiterungen mit zwei verschiedenen Demo-Apps testen:
- Die demo-minimal-js bietet eine minimale Implementierung des SDK mit JavaScript, HTML und CSS. Zeigen Sie an, wie das SDK in index.js instanziiert wird.
- Die demo-react-ts bietet eine praktische Implementierung des SDK mit React, TypeScript und Styled Components, um als Blaupause für Ihre App zu fungieren. Zeigen Sie an, wie das SDK in useCti.ts instanziiert wird.
Bitte beachten: Diese Demo-Apps sind keine voll funktionsfähigen Anruf-Apps und verwenden Scheindaten, um ein realistischeres Erlebnis zu bieten.
Sie können die Demo-Apps mit oder ohne Installation ausführen. So installieren Sie die Demo in Ihrer lokalen Umgebung:
- Installieren Sie Node.js in Ihrer Umgebung.
- Klonen Sie die ZIP-Datei dieses Repositorys, spalten Sie sie ab oder laden Sie sie herunter.
- Öffnen Sie Ihren Terminal und wechseln Sie zum Stammverzeichnis des Projekts.
- Führen Sie einen der folgenden Befehle aus:
- Für die
demo-minimal-js
:
- Für die
- Für die
demo-react-ts
:
npm start
öffnet automatisch eine neue Registerkarte in Ihrem Browser unter https://localhost:9025/, und Sie müssen möglicherweise eine Warnung vom Typ „Ihre Verbindung ist nicht sicher“ umgehen, um auf die Anwendung zugreifen zu können.
- Gehen Sie zu Ihren Datensätzen:
- Kontakte: Gehen Sie in Ihrem HubSpot-Account zu Kontakte > Kontakte.
- Unternehmen: Gehen Sie in Ihrem HubSpot-Account zu Kontakte > Unternehmen.
- Öffnen Sie die Entwicklerkonsole Ihres Browsers und führen Sie den folgenden Befehl aus:
- Wenn Sie die Installationsschritte abgeschlossen haben, für die
demo-minimal-js
oder diedemo-react-ts
:
- Wenn Sie die Installationsschritte abgeschlossen haben, für die
- Wenn Sie die Installationsschritte übersprungen haben:
- Für die
demo-minimal-js
:
- Für die
- Für die
demo-react-ts
:
- Aktualisieren Sie die Seite und klicken Sie auf das Telefon-Symbol in der linken Seitenleiste. Klicken Sie auf das Dropdown-Menü Anruf von und wählen Sie den Namen der Demo-App aus Schritt 2 aus (z. B. Demo-App Local, Demo-App JS, Demo-App React).
- Klicken Sie auf Anrufen, um zu sehen, wie sich die Demo-App über das SDK für Calling-Erweiterungen in HubSpot integrieren lässt. Sie können auch die Events anzeigen, die in der Entwicklerkonsole Ihres Browsers protokolliert werden.
So fügen Sie das SDK für Calling-Erweiterungen als Node.js-Abhängigkeit zu Ihrer Anruf-App hinzu:
- Führen Sie für npm Folgendes aus:
- Führen Sie für yarn Folgendes aus:
Das SDK für Calling-Erweiterungen stellt eine einfache API für HubSpot und eine Anruf-App zum Austausch von Nachrichten bereit. Die Nachrichten werden über Methoden gesendet, die vom SDK bereitgestellt werden, und über eventHandlers
empfangen.
Im Folgenden werden die Events beschrieben:
- Nummer wählen: HubSpot sendet das Nummer-wählen-Event.
- Ausgehender Anruf gestartet: Die App benachrichtigt HubSpot, wenn der Anruf gestartet wird.
- Interaktion erstellen: HubSpot erstellt eine Anrufinteraktion mit minimalen Informationen, wenn dies von der App angefordert wird.
- Interaktion erstellt: HubSpot hat eine Interaktion erstellt.
- Interaktions-ID an App gesendet: HubSpot sendet die
EngagementId
an die App. - Anruf beendet: Die App benachrichtigt, wenn der Anruf beendet ist.
- Anruf abgeschlossen: Die App benachrichtigt, wenn der Benutzer mit dem App-Benutzerlebnis fertig ist.
- Interaktion aktualisieren: Die App ruft die Interaktion anhand der
engagementId
ab und führt dann eine Zusammenführung durch und aktualisiert die Interaktion mit zusätzlichen Anrufdetails. Erfahren Sie mehr über das Aktualisieren einer Anrufinteraktion.
Erstellen Sie zunächst eine Instanz des CallingExtensions
-Objekts. Sie können das Verhalten Ihrer Erweiterung definieren, indem Sie das Objekt einer Option angeben, wenn Sie Ihre Erweiterungeninstanz erstellen. Das Objekt dieser Option stellt ein eventHandlers
-Feld bereit, in dem Sie das Verhalten Ihrer Erweiterung angeben können. Der folgende Code-Block veranschaulicht die verfügbaren Optionen und Event-Handler, die Sie definieren können:
Das extensions
-Objekt stellt die folgenden Event-Handler bereit, die Sie aufrufen können, um Nachrichten an HubSpot zu senden oder ein anderes zugeordnetes Verhalten anzugeben. Siehe folgende Beispiele.
initialized
: Sendet eine Nachricht, die anzeigt, dass das Softphone für die Interaktion bereit ist.
userLoggedIn
: Sendet eine Nachricht, dass sich der Benutzer angemeldet hat.
userLoggedOut
: Sendet eine Meldung, dass sich der Benutzer abgemeldet hat.
outgoingCall
: Sendet eine Nachricht, um HubSpot zu informieren, dass ein ausgehender Anruf gestartet wurde.
callAnswered
: Sendet eine Nachricht, um HubSpot zu informieren, dass ein ausgehender Anruf angenommen wird.
callEnded
: Sendet eine Nachricht, um HubSpot zu informieren, dass der Anruf beendet ist.
callCompleted
: Sendet eine Nachricht, um HubSpot zu informieren, dass der Anruf abgeschlossen ist. Für Interaktionseigenschaften ist HubSpot zuständig, d h., sie müssen nicht mehr manuell erstellt oder aktualisiert werden (siehe Hervorhebung).
sendError
: Sendet eine Nachricht, um HubSpot zu informieren, dass in der Anruf-App ein Fehler aufgetreten ist.
resizeWidget
: Sendet eine Nachricht, um HubSpot zu informieren, dass die Größe der Anruf-App geändert werden muss.
Das extensions
-Objekt stellt die folgenden Event-Handler bereit, die Sie aufrufen können, um Nachrichten in HubSpot zu empfangen oder um ein anderes zugeordnetes Verhalten anzugeben. Siehe folgende Beispiele.
onReady
: Nachricht, die angibt, dass HubSpot bereit ist, Nachrichten zu empfangen.
onDial
: Nachricht, die angibt, dass der Benutzer einen ausgehenden Anruf ausgelöst hat.
onEngagementCreated
: Nachricht, die angibt, dass HubSpotonEngagementCreated
-Daten erstellt hat.
onEngagementCreated
-Event im Jahr 2024 ein.
onCreateEngagementSucceeded
oderonCreateEngagementFailed
(NEU): HubSpot sendet eine Nachricht, um den Anruf-App-Partner darüber zu informieren, dass das Erstellen der Interaktion erfolgreich war oder fehlgeschlagen ist.
onUpdateEngagementSucceeded
oderonUpdateEngagementFailed
(NEU): HubSpot sendet eine Nachricht, um den Anruf-App-Partner darüber zu informieren, dass das Aktualisieren der Interaktion erfolgreich war oder fehlgeschlagen ist.
onVisibilityChanged
: Nachricht, die angibt, ob der Benutzer die Anruf-App minimiert oder ausgeblendet hat.
defaultEventHandler
: Standard-Handler für Events.
Während der Erstellung Ihrer Anwendung können Sie die iframe-URL für Ihren Browser manuell festlegen, indem Sie einen localStorage
-Wert festlegen. Dadurch können Sie eine localhost-URL für lokale Tests festlegen.
Um den Wert festzulegen, öffnen Sie die Entwickler-Tools für Ihren Browser und führen Sie den folgenden JavaScript-Befehl in der Entwicklerkonsole aus:
Der name-Wert ist der Titel, der im Header der Anruf-App angezeigt wird, und der url-Wert ist die URL, die für das iframe verwendet wird. Während dieses Element festgelegt ist, wird der von Ihnen festgelegte Name als Option für den Anrufanbieter angezeigt, wenn Sie auf das Telefon-Symbol klicken, und die Anruf-App verwendet die von Ihnen festgelegte iframe-URL.
Senden Sie diese Payload mithilfe Ihres API-Tools (z. B. Postman) an unsere Einstellungen-API. Stellen Sie sicher, dass Sie die APP_ID Ihrer Anruf-App und den DEVELOPER_ACCOUNT_API_KEY Ihrer App abrufen.
Das isReady
-Flag zeigt an, ob die App für die Produktion bereit ist. Dieses Flag sollte während des Testens auf false festlegt sein.
localStorage
überschrieben werden.
Der letzte Schritt nach der Einrichtung Ihrer App besteht darin, Ihre Anruf-App im HubSpot-Marketplace zu listen. Weitere Details finden Sie hier. Sie können sie auch nicht im Marketplace auflisten, wenn diese Anwendung nur für den internen Gebrauch bestimmt ist.
How is user authentication handled?
Die Anruf-App sollte die Authentifizierung handhaben.
Is Calling Extensions hosted on a CDN?
Nein. Die Calling-Erweiterungen sind sehr klein und sollten mit der Anruf-App gebündelt werden. Wenn das Bündeln der Datei nicht möglich ist, enthält das npm-Paket ein kompiliertes UMD-Bundle, das in HTML (../node_modules/@hubspot/calling-extensions-sdk/dist/main.js) eingebunden werden kann.
When should an engagement be created versus updated?
Ein Benutzer kann einen Anruf innerhalb der HubSpot-Benutzeroberfläche und außerhalb der HubSpot-Benutzeroberfläche initiieren (z. B. Mobile-App, weitergeleitete Nummer usw.). Wenn ein Anruf von der HubSpot-Benutzeroberfläche aus initiiert wird, erstellt HubSpot eine Anrufinteraktion und sendet die Interaktion an die Anruf-App. Sobald der Anruf beendet ist, kann die Anruf-App diese Interaktion mit zusätzlichen Anrufdetails aktualisieren. Wenn ein Anruf außerhalb der HubSpot-Benutzeroberfläche initiiert wird, sollte die App die Anrufinteraktion erstellen.
What scopes are required as a part of the integration?
Kontakte-hinzufügen- und Chronik-Bereiche sind erforderlich. Diese Bereiche stellen sicher, dass Ihre Anwendung Zugriff auf Kontakte hat und Anrufinteraktionen im CRM erstellen und aktualisieren kann.
Can this functionality be added to an already existing application in the marketplace or do I create a new app?
Wenn Sie bereits über eine bestehende App verfügen, die den Anwendungsfall „Anrufe“ bedient, können Sie diese Funktion direkt zu Ihrer bestehenden App hinzufügen. Alle Kunden, die Ihre App bereits installiert haben, erhalten Zugriff auf diese neue Funktion, ohne die App erneut installieren zu müssen.
Can I integrate my existing soft phone application in the SDK?
Ja, die Integration Ihrer vorhandenen Softphone-Anwendung sollte sehr einfach sein. Befolgen Sie einfach die Schritte in der obigen Dokumentation, um Ihre Anwendung einsatzbereit zu machen.
Can users use multiple integrations at the same time?
Ja, Benutzer können mehrere Anrufintegrationen von Drittanbietern gleichzeitig verwenden. Sie können mit dem Provider-Switcher, der nach dem Klicken auf die Anruftaste angezeigt wird, nahtlos zwischen den Anbietern wechseln.
Can free users install app integrations?
Ja, alle Benutzer können die App installieren.
If a user already has my app installed, does the integration automatically show up?
Ja, wenn ein Benutzer Ihre App bereits installiert hat und Sie dieselbe App mit den Calling-Erweiterungen aktualisieren, wird die Integration automatisch angezeigt. Derzeit gibt es keine Möglichkeit für den Entwickler, die Anruf-App nur für eine Teilmenge von Kunden zu aktivieren.
Can any user install or uninstall an app?
Nein, nur Benutzer mit den erforderlichen Berechtigungen können eine App installieren und deinstallieren. Erfahren Sie mehr darüber, wie Sie die Berechtigungen eines Benutzers überprüfen.
Can I place a call from a custom object?
Ja, Anrufintegrationen können Anrufe von benutzerdefinierten Objekten aus tätigen, solange sie nur das SDK zum Erstellen des Anrufs verwenden. Bei jeder Integration muss überprüft werden, ob sie nur das Anruf-SDK zum Erstellen von Anrufen und zum Benachrichtigen von HubSpot im outgoingCall
-Event verwenden.
Stellen Sie zunächst sicher, dass die Integration das Anruf-SDK verwendet, um Interaktionen im outgoingCall-Event zu erstellen:
Wenn createEngagement
true ist, erfahren Sie hier, wie Sie Ihre App-Informationen aktualisieren.
Hier ist das Beispiel für das gesamte outgoingCall
-Event:
Wenn Sie weitere Hilfe benötigen, besuchen Sie das HubSpot-Entwickler-Support-Forum.
Vielen Dank, dass Sie Ihr Feedback mit uns geteilt haben.