Оновити контакт

Оновити дані вже існуючого контакту за його ID
Написано Микола
Оновлено 3 місяці тому

Ви можете оновити будь-який вже існуючий атрибут даних контакту за допомогою цих методів.

Якщо ви хочете оновити інформацію одразу декількох контактів, використовуйте метод Оновити групу контактів. Для створення нового контакту використовуйте метод Створити контакт.

➡️ Запит

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

PUT - замінює значення для набору полів у тілі запиту. Поля, які не згадуються в тілі, будуть встановлені як null.
PATCH - лише оновлює значення для набору полів у тілі запиту. 

<customer_id> - це ID контакту, наданий HelpCrunch. Він необхідний для цього методу і виглядає як комбінація чисел (наприклад, 1568834).

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

Приклад тіла запиту

{
  "name": "John Doe",
  "email": "[email protected]",
  "userId": "user_1234567890",
  "company": "Example Inc.",
  "phone": "+10233456781",
  "firstSeen": "1603885746",
  "lastSeen": "1603885746",
  "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": [
    {
      "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;
  • Tag можна додати до контакту за допомогою методу "Додати тег контакту" або видалити за допомогою методу "Прибрати тег контакту". Тег буде автоматично створено та додано до вашого облікового запису, якщо ви передасте неіснуючий тег. Тегу можна призначити будь-який колір CSS. Якщо ви не вкажете колір, за замовчуванням застосується колір #c377e0.
  • Щоб очистити значення певного поля, ви повинні передати значення null для нього в тілі запиту.
Щоб створити новий атрибут customData, перейдіть у Налаштування → Контакти → Власні атрибути та натисніть "Додати новий атрибут". Детальніше у документації "Додайте власний атрибут у контакти".

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

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

{
  "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"
    }
  ]
}

404 Not Found

{
  "errors": [
    {
      "code": "invalid_request",
      "message": "Invalid request"
    },
    {
      "code": "not_found",
      "message": "Chat not found"
    }
  ]
}

429 Too Many Requests

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