Отслеживание часового пояса и языка контакта
Вы можете записать часовой пояс и язык контакта двумя способами:
- через API.
- с помощью SDK (при передаче данных с фронтенда мобильного приложения).
Примечание
Передавайте данные о языке в формате RFC 5646 с дополнительным языковым подтегом в формате ISO 639-1. Пример: de-AT
Данные о часовом поясе нужно передавать в формате TZ database. Пример: Europe/Kyiv
Важно
Атрибуты (язык, часовой пояс и т. д.) отслеживаются только для контактов с внешними ID.
Вы можете записать часовой пояс и язык контакта двумя способами:
API-методы
Используйте метод API Add/update a contact, чтобы добавить новый или обновить существующий контакт, и метод Add/update contacts для массового добавления/обновления данных контактов.
Пример запроса Add/update a contact
curl --request POST \ --url https://api.esputnik.com/api/v1/contact \ --header 'accept: application/json; charset=UTF-8' \ --header 'authorization: Basic your_api_key \ --header 'content-type: application/json' \ --data ' { "channels": [ { "type": "email", "value": "john@example.com" } ], "languageCode": "en-us", "timeZone": "Europe/Kyiv", "firstName": "John", "lastName": "Smith", "externalCustomerId": "24233" } '
JSON
Пример запроса Add/update contacts
curl --request POST \ --url https://api.reteno.com/api/v1/contacts \ --header 'accept: application/json; charset=UTF-8' \ --header 'authorization: Basic your_api_key \ --header 'content-type: application/json' \ --data ' { "contacts": [ { "channels": [ { "type": "email", "value": "john@example.com" } ], "firstName": "John", "lastName": " Smith", "languageCode": "en-US", "timeZone": "Europe/Kyiv", "externalCustomerId": "543323" } ], "dedupeOn": "externalCustomerId" } '
JSON
iOS SDK
Записывайте атрибуты контакта, такие как часовой пояс и язык, следующим методом:
Reteno.updateUserAttributes(externalUserId: "USER_ID", userAttributes: UserAttributes, subscriptionKeys: [String], groupNamesInclude: [String], groupNamesExclude: [String])
Swift
Пример объекта UserAttributes:
func saveUser() { let attributes = UserAttributes( phone: user.phone, email: user.email, firstName: user.firstName, lastName: user.lastName, languageCode: "en-US", timeZone: "Europe/Kyiv" ) Reteno.updateUserAttributes(externalUserId: user.id, userAttributes: attributes) }
Swift
Android SDK
Методы добавления атрибутов контакта:
Reteno.setUserAttributes(String externalUserId, User user)
Java
Reteno.setUserAttributes(externalUserId: String, user: User?)
Kotlin
Пример объекта UserAttributes:
fun setLanguageTimeZone() { val userId = "UserIdHere" val userAttributes = UserAttributes( languageCode = "en-US", timeZone = "Europe/Kyiv" ) val user = User( userAttributes = userAttributes, subscriptionKeys = listOf("key1", "key2", "key3") ) application.getRetenoInstance().setUserAttributes(userId, user) }
Kotlin
React Native SDK
Метод добавления атрибутов контакта:
import { setUserAttributes } from 'reteno-react-native-sdk'; setUserAttributes({ externalUserId: "USER_ID", user: { attributes: userAttributes, subscriptionKeys: string[], groupNamesInclude: string[], groupNamesExclude: string[] } })
TypeScript
Пример объекта UserAttributes:
setUserAttributes({ externalUserId, user: { userAttributes: { languageCode: "de-AT", timeZone: "Europe/Kyiv", }, }, );
TypeScript