top_de
LogIn
Ihr Bitrix24
Loggen Sie sich in Ihrem Bitrix24 ein.
LogIn

Bitrix24Help

WebHooks hinzufügen

Ranking:

Keine einzige Firma arbeitet ohne Dienste von Drittanbietern. Die einfachste Lösung wäre dabei, unterschiedliche Integrationen mit Ihrem Account einzustellen. Das ist mit REST API möglich, womit Sie die Cloud-Version durch neue Funktionalitäten erweitern können. Aber die Arbeit mit REST API ist eine aufwendige Aufgabe, die in den meisten Fällen Programmierkenntnisse erfordert.

WebHooks sind hingegen eine einfachere Version von REST-Ereignissen und Befehlen, welche die Erstellung eigener Apps nicht verlangen.

Um einen WebHook zu erstellen, öffnen Sie in Ihrem Account den Bereich Anwendungen - WebHooks.

webhook.png

Eingehende WebHooks erstellen

  1. Klicken Sie den Button WebHook hinzufügen oben rechts an und wählen Sie im Menü den Punkt Eingehender WebHook aus.
  2. Im geöffneten Formular füllen Sie folgende Felder aus:
    • Name und Beschreibung - beliebige Werte
    • Zugriffsrechte - geben Sie an, auf welche Module der erstellte WebHook Zugriff haben wird.
  3. Nachdem Sie die Daten gespeichert haben, bekommen Sie einen Authentifizierungscode für den hinzugefügten WebHook in Ihrem Bitrix24.

  4. code.png
    Wichtig! Dieser Code ist eine vertrauliche Information. Speichern Sie ihn in einem sicheren Ort ab.

    Mit dem Code wird eine Beispiel-URL für REST-Abrufe angezeigt, das beim Absenden der Daten aus einem anderen Service in Bitrix24 genutzt wird.

    https://********.bitrix24.ru/rest/1/83te1pjdphsa9u15/profile/

    • ******** - der Name Ihres Accounts
    • /rest/ - eine Bezeichnung im System, dass diese Adresse zu WebHooks gehört.
    • /1/ - ID des Benutzers, der dieses WebHook erstellt hat. Dieses WebHook wird unter den Zugriffsrechten dieses Nutzers arbeiten.
    • /83te1pjdphsa9u15/ - Geheimcode
    • /profile/ - REST-Methode, die Sie mit dem WebHook ausführen möchten. Der Entwickler wählt die Methode selbst aus REST API aus, abhängig vom WebHook-Ziel.


    Beispielcode

    0 ? $title : 'DEBUG') . "\n"; $log .= print_r($data, 1); $log .= "\n------------------------\n"; file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND); return true; } $defaults = array('first_name' => '', 'last_name' => '', 'phone' => '', 'email' => ''); if (array_key_exists('saved', $_REQUEST)) { $defaults = $_REQUEST; writeToLog($_REQUEST, 'webform'); $queryUrl = 'https://restapi.bitrix24.ru/rest/1/31uhq2q855fk1foj/crm.lead.add.json'; $queryData = http_build_query(array( 'fields' => array( "TITLE" => $_REQUEST['first_name'].' '.$_REQUEST['last_name'], "NAME" => $_REQUEST['first_name'], "LAST_NAME" => $_REQUEST['last_name'], "STATUS_ID" => "NEW", "OPENED" => "Y", "ASSIGNED_BY_ID" => 1, "PHONE" => array(array("VALUE" => $_REQUEST['phone'], "VALUE_TYPE" => "WORK" )), "EMAIL" => array(array("VALUE" => $_REQUEST['email'], "VALUE_TYPE" => "WORK" )), ), 'params' => array("REGISTER_SONET_EVENT" => "Y") )); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => $queryUrl, CURLOPT_POSTFIELDS => $queryData, )); $result = curl_exec($curl); curl_close($curl); $result = json_decode($result, 1); writeToLog($result, 'webform result'); if (array_key_exists('error', $result)) echo "Fehler beim Erstellen eines Leads: ".$result['error_description']."

    Wichtig! Es ist nur ein Beispielcode. Wie empfehlen Ihnen nicht, ihn in Ihrer Arbeit zu verwenden.

    Ausgehende WebHooks erstellen

    1. Im Menü wählen Sie den Punkt Ausgehender WebHook aus.
    2. Im geöffneten Formular füllen Sie folgende Felder aus:
      • Handler-Adresse - die Seite im Drittservice, an die der WebHook die Anfrage absendet.
      • Name und Beschreibung - beliebige Werte
      • Eventtyp - geben Sie ein Ereignis an, das der WebHook initialisieren wird.
    3. Nachdem Sie den WebHook gespeichert haben, wird der Autorisierungscode im Format einer Zeile aus zufälligen Symbolen angezeigt. Dieser Code ermöglicht es, innerhalb vom Handler zu prüfen, ob der Handler wirklich von Ihrem Bitrix24 abgerufen ist.
    4. Auf der Handler-Seite betten Sie den Code ein:
  5. Senden Sie eine Anfrage aus einem Drittanbieter-System an die angegebene Adresse.
  6. Beispielsweise möchten Sie eine Anfrage senden, mit dem Ziel, einen Lead aus dem Online-Formular zu erstellen. Man sollte die URL in der Variable $queryUrl und dem Parameter zum Hinzufügen eines Leads in der Variable $queryData erstellen, und nach den vorläufigen Schritten eine Anfrage mithilfe von Funktion curl_exec senden. Das erhaltene Ergebnis im Format JSON ist verarbeitet:



Beispielcode für das Ereignis ONCRMDEALUPDATE

0 ? $title : 'DEBUG') . "\n"; $log .= print_r($data, 1); $log .= "\n------------------------\n"; file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND); return true; }

Zum Prüfen öffnen Sie einen beliebigen Auftrag zum Bearbeiten und speichern Sie Ihre Änderungen. Ein ähnliches Log werden Sie dabei erhalten.

2017.01.17 12:58:29 incoming Array ( [event] => ONCRMDEALUPDATE [data] => Array ( [FIELDS] => Array ( [ID] => 662 ) ) [ts] => ххх [auth] => Array ( [domain] => ххх.bitrix24.de [client_endpoint] => https://ххх.bitrix24.de/rest/ [server_endpoint] => https://oauth.bitrix.info/rest/ [member_id] => ххх [application_token] => ххх ) )

Anwendungsbeispile

Stellen wir uns vor, dass Sie Online-Formulare auf Ihrer Website haben, die aber nicht auf der Basis von Bitrix24 erstellt wurden. Trotzdem möchten Sie die Daten aus diesen Formularen ins Bitrix24 CRM transportieren.

Hier können Ihnen die WebHooks weiterhelfen

Klicken Sie auf WebHook hinzufügen - Eingehender Webhook.

eingehender.png

Geben Sie den Namen ein und wählen Sie den Bereich aus, womit die Integration durchgeführt werden muss. In unserem Fall, da wir die neuen Leads erhalten möchten, setzen wir das Häkchen beim "CRM" ein.

Nachdem Sie die Daten gespeichert haben, erhalten Sie den Code und die Beispiel-URL für REST-Abrufe. Alles, was Sie jetzt tun müssen - diese URL-Adresse, die schon erstellt wurde, entsprechend zu verwenden.

Unten sehen Sie die Information dazu, wie es gemacht werden kann:

<?
/**
 * Write data to log file.
 *
 * @param mixed $data
 * @param string $title
 *
 * @return bool
 */
function writeToLog($data, $title = '') {
 $log = "\n------------------------\n";
 $log .= date("Y.m.d G:i:s") . "\n";
 $log .= (strlen($title) > 0 ? $title : 'DEBUG') . "\n";
 $log .= print_r($data, 1);
 $log .= "\n------------------------\n";
 file_put_contents(getcwd() . '/hook.log', $log, FILE_APPEND);
 return true;
}

$defaults = array('first_name' => '', 'last_name' => '', 'phone' => '', 'email' => '');

if (array_key_exists('saved', $_REQUEST)) {
 $defaults = $_REQUEST;
 writeToLog($_REQUEST, 'webform');

 $queryUrl = 'https://restapi.bitrix24.ru/rest/1/31uhq2q855fk1foj/crm.lead.add.json';
 $queryData = http_build_query(array(
 'fields' => array(
 "TITLE" => $_REQUEST['first_name'].' '.$_REQUEST['last_name'],
 "NAME" => $_REQUEST['first_name'],
 "LAST_NAME" => $_REQUEST['last_name'],
 "STATUS_ID" => "NEW",
 "OPENED" => "Y",
 "ASSIGNED_BY_ID" => 1,
 "PHONE" => array(array("VALUE" => $_REQUEST['phone'], "VALUE_TYPE" => "WORK" )),
 "EMAIL" => array(array("VALUE" => $_REQUEST['email'], "VALUE_TYPE" => "WORK" )),
 ),
 'params' => array("REGISTER_SONET_EVENT" => "Y")
 ));

 $curl = curl_init();
 curl_setopt_array($curl, array(
 CURLOPT_SSL_VERIFYPEER => 0,
 CURLOPT_POST => 1,
 CURLOPT_HEADER => 0,
 CURLOPT_RETURNTRANSFER => 1,
 CURLOPT_URL => $queryUrl,
 CURLOPT_POSTFIELDS => $queryData,
 ));

 $result = curl_exec($curl);
 curl_close($curl);

 $result = json_decode($result, 1);
 writeToLog($result, 'webform result');

 if (array_key_exists('error', $result)) echo "Error saving lead: ".$result['error_description']."<br/>";
}

?>
<fo rm method="post" action="">
    Name: <input type="text" name="first_name" size="15" value="<?=$defaults['first_name']?>"><br/>
    Last name: <input type="text" name="last_name" size="15" value="<?=$defaults['last_name']?>"><br/>
    Phone: <input type="phone" name="phone" value="<?=$defaults['phone']?>"><br/>
    E-mail: <input type="email" name="email" value="<?=$defaults['email']?>"><br/>
    <input type="hidden" name="saved" value="yes">
    <input type="submit" value="send">
</form>  


Danke, das hilft Danke :) Das hilft nicht Schade :(
Könnten Sie bitte sagen, warum:
Es ist nicht das, was ich suche
Es ist zu kompliziert und unverständlich

Sehen Sie sich unsere Videos an

Bitrix24 Webinaraufnahmen und Videos
Weitere Videos anschauen