Wie lassen sich Shopify und Salesforce mit Shopify Webhook integrieren?

Integrate Shopify and Salesforce

In den meisten Fällen integrieren wir externe Systeme, um Kunden-, Auftrags- oder Transaktionsdaten zu synchronisieren. Für diese Synchronisierung können wir die Push-Technologie verwenden, um die Informationen an Salesforce zu senden, wenn ein bestimmtes Ereignis ausgelöst wird. Wir können Webhook/Plattformereignis/API verwenden, um die Informationen an Salesforce zu senden. Wir werden Webhook verwenden, um die Shopify-Kundendaten mit Salesforce zu synchronisieren. In diesem Artikel werden wir Shopify und Salesforce mit Shopify Webhook integrieren.

Webhooks sind die HTTP-basierte Rückruf-Funktion, die eine ereignisgesteuerte Kommunikation zwischen zwei APIs ermöglicht. Webhooks werden von verschiedenen Webanwendungen verwendet, um Daten von anderen Anwendungen abzurufen.

Hinweis: Wir verwenden ein Salesforce Developer Edition-Konto. Es kann sich also in vielen Dingen von einem Sandbox-Konto unterscheiden, z. B. Pfade, Org-Instanz, URLs usw. Wenn Sie ein Sandbox-Konto verwenden, müssen Sie den relativen Pfad verwenden, um eine Apex-Klasse, eine URL und andere Dinge zu erstellen.

Schritt 1: Erstellen eines benutzerdefinierten Objekts zur Integration von Shopify und Salesforce

1. Melden Sie sich zunächst bei Ihrem Salesforce-Konto an und navigieren Sie zur Einrichtungsseite.

2. Öffnen Sie nun den Objektmanager und erstellen Sie ein neues benutzerdefiniertes Objekt namens Shopify Webhook.

3. Erstellen Sie außerdem die benutzerdefinierten Felder Vorname (Text), Nachname (Text), E-Mail (E-Mail), Telefon (Telefon) mit dem angegebenen Datentyp.

Integrate Shopify and Salesforce

Schritt 2: Apex REST API für Webhook erstellen

In Salesforce können wir Webhooks nicht direkt verwenden. Um die Webhooks in Salesforce zu verwenden, müssen wir eine Apex-REST-API erstellen, die HttpPost verwendet. Wir verwenden die @RestResource-Annotation zum Erstellen einer Apex-Klasse, einer Rest-API. Lassen Sie uns also eine Apex-Klasse mit der @RestResource-Annotation erstellen.

1. Öffnen Sie hier die Entwicklerkonsole und erstellen Sie eine Apex-Klasse namens ShopifyWebhook.

2. Ersetzen Sie den Standardcode durch den folgenden Code.

@RestResource(urlMapping='/shopify-webhook')
global class ShopifyWebhook {
    
    @HttpPost
    global static responseWrapper webhookHandler(){
        
        RestRequest req = RestContext.request;
        responseWrapper responseJson = new responseWrapper();
        
        String jsonBody = req.requestBody.toString();
        Map<String, Object> body = (Map<String, Object>)JSON.deserializeUntyped(jsonBody);
        
        String firstName = (String)body.get('first_name');
        String lastName = (String)body.get('last_name');
        String email = (String)body.get('email');
        String phone = (String)body.get('phone');
        
        Shopify_Customer__c newCustomer = new Shopify_Customer__c();
        newCustomer.First_Name__c=firstName;
        newCustomer.Last_Name__c=lastName;
        newCustomer.Email__c=email;
        newCustomer.Phone__c=phone;
        Database.SaveResult insertCustomer = Database.insert(newCustomer);
        return responseJson;
    }
    
    global class responseWrapper{
        
        global String first_name{get;set;}
        global String last_name{get;set;}
        global String email{get;set;}
        global String phone{get;set;}
        
        global responseWrapper(){
            
        }
    }
}

3. Speichern Sie nun die Apex-Klasse und gehen Sie zum nächsten Schritt über.

Schritt 3: Machen Sie die Apex REST API öffentlich zugänglich

Wir müssen die Apex Rest API öffentlich zugänglich machen, um Webhook in Salesforce zu verwenden. Um sie öffentlich zugänglich zu machen, müssen wir eine Salesforce-Site erstellen.

1. Rufen Sie zunächst die Einrichtungsseite Ihrer Organisation auf.

2. Navigieren Sie nun zu Benutzeroberfläche > Sites und Domains > Sites und erstellen Sie eine neue Site und aktivieren Sie sie.

Integrate Shopify and Salesforce

3. Klicken Sie anschließend auf die Einstellungen für den öffentlichen Zugang, um die Rest-API öffentlich zugänglich zu machen.

4. Bewegen Sie nun den Mauszeiger über Enabled Apex Class Access und klicken Sie auf Edit.

Integrate Shopify and Salesforce

5. Verschieben Sie dann die ShopifyWebhook-Klasse zu Enabled Apex Classes und speichern Sie sie.

6. Klicken Sie anschließend auf die Schaltfläche Bearbeiten und gehen Sie zum Abschnitt Benutzerdefinierte Objektberechtigungen. Geben Sie dann Lese– und Erstellungszugriff auf das Shopify-Kundenobjekt und speichern Sie es.

Schritt 3: Konfigurieren Sie den Webhook für die Integration von Shopify und Salesforce

1. Melden Sie sich zunächst bei der Shopify-Verwaltung an, navigieren Sie zu Einstellungen > Benachrichtigungen und scrollen Sie dann zum unteren Ende der Seite.

2. Klicken Sie nun auf die Schaltfläche Webhook erstellen.

Integrate Shopify and Salesforce

3. Legen Sie das Ereignis als Kundenerstellung fest, formatieren Sie es als JSON, und geben Sie dann https://{org-instance}.develop.my.salesforce-sites.com/services/apexrest/shopify-webhook in das URL-Feld ein. Die {org-instance} bezieht sich auf die Domäne Ihrer Organisation.

4. Speichern Sie nun den Webhook und schließen Sie die Einstellungen.

Schritt 4: Testen Sie die Integration

1. Navigieren Sie zunächst zur Seite des Kunden und erstellen Sie einen neuen Kunden.

2. Geben Sie anschließend alle erforderlichen Informationen in die entsprechenden Felder ein und speichern Sie den Kunden.

Integrate Shopify and Salesforce

3. Gehen Sie nun zu Ihrer Salesforce-Einrichtung und klicken Sie auf die Schaltfläche App Launcher unter dem Salesforce-Logo.

4. Suchen Sie dann nach Shopify-Kunden und wählen Sie sie aus. Ändern Sie dann die Listenansicht von Kürzlich gesehen in Alle.

Integrate Shopify and Salesforce

Jetzt sehen Sie, dass auch in Salesforce ein Kundendatensatz erstellt wurde. Der in Salesforce erstellte Datensatz enthält nur den Vornamen, den Nachnamen, die E-Mail-Adresse und die Telefondaten. Wenn Sie weitere Felder hinzufügen möchten, können Sie diese im Apex-Code hinzufügen.

Vergessen Sie nicht, dass wir ein Team von Shopify- und Salesforce-Experten haben. Wenn Sie also jemals Unterstützung benötigen oder Fragen haben, kontaktieren Sie uns bitte unter manish@bay20.com oder rufen Sie uns unter +91-8800519180 an.