Створити контакт

Додайте один контакт до HelpCrunch
Написано Микола
Оновлено 10 місяців тому

За допомогою цього методу ви можете створити один контакт. Щоб створити чат від імені цього контакту, скористайтеся методом "Створити чат".

➡️ Запит

URL https://api.helpcrunch.com/v1/customers
Метод POST
Headers Authorization: Bearer <your_api_key>

Під час створення контакту ви можете вказати всі наявні поля даних або їх частину в тілі вашого запиту POST. Ви можете знайти всі доступні поля даних у розділі "Відповідь на успішний запит" нижче.

Для цього методу немає обов’язкових полів, однак ми не рекомендуємо створювати контакти без указаних даних. Ім’я, адреса електронної пошти та ID користувача – це поля, які бажано надсилати завжди.
Коли ви створюєте контакт, HelpCrunch автоматично створює для нього внутрішній ID контакту. userId не є внутрішнім ID контакту в HelpCrunch, ви можете передати туди свій власний ID контакту (наприклад, зі своєї CRM).

Тіло запиту

{
  "name": "John Doe",
  "email": "[email protected]",
  "userId": "user_1234567890",
  "company": "Example Inc.",
  "phone": "+10233456781",
  "firstSeen": "1603885746",
  "source": "https://example.com",
  "locale": "uk",
  "notes": "Lorem ipsum",
  "tags": [
    {
      "name": "vip",
      "color": "#ff0000"
    }
  ],
  "customData": [
    {
      "property": "subscription_status",
      "value": "active"
    },
    {
      "property": "number_of_payments",
      "value": 15
    },
    {
      "property": "last_paid_amount",
      "value": 15.99
    },
    {
      "property": "last_payment_date",
      "value": "1603885746"
    },
    {
      "property": "last_invoice_url",
      "value": "https://example.com/invoice.html"
    },
    {
      "property": "last_payment_was_successful",
      "value": true
    }
  ]
}

Кілька порад

  • Усі дати слід передавати у форматі String (UNIX timestamp);
  • Поле locale (локаль) слід передавати як рядок відповідно до стандарту ISO 639-1;
  • Тег буде автоматично створено та додано до вашого облікового запису, якщо ви передасте неіснуючий тег. Тегу можна призначити будь-який колір CSS. Якщо ви не вкажете колір, за замовчуванням застосується колір #c377e0.
Щоб створити новий атрибут customData, перейдіть у Налаштування → Контакти → Власні атрибути та натисніть "Додати новий атрибут".

✅ Відповідь на успішний запит

Якщо ваш запит пройшов успішно, ви отримаєте код успішного статусу 201 Created разом із наведеним нижче тілом відповіді.

{
  "id": 542335,
  "name": "John Doe",
  "email": "[email protected]",
  "userId": "user_1234567890",
  "company": "Example Inc.",
  "phone": "+10233456781",
  "firstSeen": "1603885746",
  "lastSeen": "1603885746",
  "location": {
    "regionCode": "Kyyivs'ka Oblast",
    "countryCode": "UA",
    "city": "Kyiv"
  },
  "device": {
    "id": 542335,
    "ip": "192.168.1.1",
    "timezone": "Europe/Kiev",
    "platform": "desktop",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36"
  },
  "unsubscribed": false,
  "blocked": false,
  "source": "https://example.com",
  "referer": "https://example.com",
  "lastPage": "https://example.com",
  "locale": "uk",
  "createdFrom": "telegram",
  "integrationId": "465847687",
  "notes": "Lorem ipsum",
  "tags": [
    {
      "name": "vip",
      "color": "#ff0000"
    }
  ],
  "customData": {
    "subscription_status": "active",
    "number_of_payments": 15,
    "last_paid_amount": 15.99,
    "last_payment_date": 1603885746,
    "last_invoice_url": "https://example.com/invoice.html",
    "last_payment_was_successful": true
  }
}

Ви можете отримати деталі по кожному полю обʼєкту контакту у статті Модель даних контакту.

🛑 Відповіді з помилками

Ви можете отримати один із наведених нижче кодів статусу помилки та відповіді. Детальніше про коди помилок ви можете прочитати за посиланням.

400 Bad Request

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "customer",
      "message": "This value should be of type numeric."
    },
    {
      "code": "filter[0].field",
      "message": "This value should not be blank."
    }
  ]
}

401 Unauthorized

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "unauthorized",
      "message": "Unauthorized"
    }
  ]
}

429 Too Many Requests

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "too_many_requests",
      "message": "Too many requests"
    }
  ]
}
Чи була наша стаття корисною?