JavaScript интеграция

JavaScript SDK will let you integrate with React, Meteor, Angular.JS and more. Enter to see how to use widget methods, enable events etc.

GET MY API KEY

Виджет

Методы виджета доступны через общий объект окна UE . Чтобы включить ивенты, перейте их в качестве свойств для основного объекта конфигурации виджета.

Please note that this is a JavaScript API/SDK documentation, for the REST API please head to this url.

Атрибуты пользователя

Within UE.init(), UE.refresh() и UE.pageHit() methods you can use the same attributes as in window.civchat object (including custom attributes).

Вот список всего нескольких атрибутов, которые можно использовать (по умолчанию)

Методы

Deprecated methods:
UE.init() and UE.refresh(). Those has been merged into one method: UE.pageHit(). The rest remain as it is.

UE.pageHit( )

Инициализируйте виджет или отправьте PING сигнал на главный сервер. Эквивалент навигации к новой странице в "стандартных" HTTP установках.

<script>
  UE.pageHit({
    apiKey: 'YOUR_API_KEY',
    name: "John Doe",
    email: "myemail@example.org",
    gender: 2,
    status: 2,
    phone_number: "+48754123434", // Must be a valid E.164 format
    score: 0,
    company: {
      revenue: "$239.9 billion",
      employees: 32
    },
    source_context: {
      foo: "bar",
      john: "doe"
    }
  });
</script>

UE.destroy( )

Снесите текущий экземпляр виджета и удалите окно из DOM. Этот метод не требует никаких аргументов.

UE.destroy({});

UE.resetAuth(data)

Эта функция сбрасывает __ca__chat cookie, а затем создаёт новый или назначает существующий на основе адреса электронной почты (если имеется). Данные параметров представляют собой объект JSON с email ключом и значением.

So technically, you can delete cookie with this function and create new one immediately.

UE.resetAuth({
  apiKey: "YOUR_API_KEY",
  email: "johndoe@mydomain.com"
});

События

onLoad( )

Срабатывает при загрузке окна виджета.

UE.pageHit({
  apiKey: "YOUR_API_KEY",
  email: "johndoe@example.com",
  name: "John Doe",
  phone_number: "+48123456789",
  source_context: {
    foo: "bar",
    john: "doe"
  },
  onLoad() {
    alert("Widget loaded!");
  }
});

onMessage( )

Срабатывает для каждого входящего сообщения. Объект Сообщение будет передан в вызванную функцию.

UE.init({
  apiKey: "YOUR_API_KEY",
  email: "johndoe@example.com",
  name: "John Doe",
  phone_number: "+48123456789",
  source_context: {
    foo: "bar",
    john: "doe"
  },
  onMessage() {
    alert("Received a message!");
  }
});

Пример объекта сообщения:

{
  content: "Hello, world!",
  isAdmin: false
}

If isAdmin is set to true, it means that message came from backend side, otherwise it will be set to false and it means that message came from front-end widget.

onOpen()

Срабатывает при открытии окна виджета.

UE.pageHit({
  apiKey: "YOUR_API_KEY",
  email: "johndoe@example.com",
  name: "John Doe",
  phone_number: "+48123456789",
  source_context: {
    foo: "bar",
    john: "doe"
  },
  onOpen() {
    alert("Opened a chat!");
  }
});

onClose()

Срабатывает при закрытии окна виджета.

UE.pageHit({
  apiKey: "YOUR_API_KEY",
  email: "johndoe@example.com",
  name: "John Doe",
  phone_number: "+48123456789",
  onClose() {
    alert("Closed a chat!");
  }
});