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

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

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

➡️ Запит

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"
    }
  ]
}
Чи була наша стаття корисною?