Клиенты дублируются в Яндекс.Метрике
Занимаюсь интеграцией Яндекс.Метрика в CRM, возникла следующая проблема. Мы выгружаем заказ и контакты в два этапа:
- Выгружаем контакт через
data/contacts?merge_mode=SAVEс телом такого формата:
[{
"client_ids":["md5"], // Metrica Client ID
"name":"Имя Фамилия",
"emails_md5": ["md5"], // Hashed Emails
"phones_md5":["md5"], // Hashed phones
"uniq_id":"md5" // hashed internal CRM client id
}]
- Выгружаем заказ через
data/orders?merge_mode=SAVEс таким телом:
{
"id": "md5", // hashed internal CRM order id
"client_type": "CONTACT",
"revenue": 0,
"cost": 0,
"client_uniq_id": "md5", // hashed internal CRM client id
"products": {
"product": 1 // product_name: quantity
},
"create_date_time": "YYYY-MM-DD HH:MM:ss", // formatted date string
"order_status": "1" // internal CRM status id
}
Статусы выгружали в первую очередь и больше не трогали, т.е. должны совпадать с категориями Метрики.
Проблема в том, что если выгружать снова этот контакт, не изменяя тело, этим же методом, то мы получим одного клиента в метрике с захешированным идентификатором, а второго - просто с четырехзначным числом, которого в системе у нас даже нет. То есть не понятно, откуда он берется.
Почему такое может происходить? Из-за этого заказы не верно привязываются к клиентам И количество выгружаемых заказов не совпадает с количеством заказов в метрике.
Верен ли алгоритм? Надо ли какой-то интервал выдерживать между выгрузкой контакта и заказом?