Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

В какой файл добавить функцию отправки заказа в CRM со статусом этого заказа?


MrNix21

Recommended Posts

Здравствуйте!

Есть такая задача - отправлять в CRM все заказы, в том числе и заказы со статусом "Ошибочные заказы" и чтобы эти статусы были видны.

Для этого я добавил функцию отправки в CRM в файл: /catalog/controller/checkout/simplecheckout.php

Но сейчас эти заказы приходят без статуса, т.е. я не понимаю, заказ реально совершен или это ошибочный заказ (без подтверждения). Получить статус заказа в файле simplecheckout.php, как написал разработчик модуля Simple, невозможно.

После этого я переместил функцию отправки заказа в CRM в файл /catalog/model/checkout/order.php (в функцию // Admin Alert Mail)

Но теперь в CRM отправляются только подтвержденные заказы.

Как мне сделать так, чтобы: 

1. Приходили все заказы, в том числе со статусом "Ошибочные заказы" (не подтвержденные)

2. Чтобы был виден статус этих заказов

3. Чтобы заказы не дублировались в CRM, например, сначала приходит заказ со статусом  "Ошибочный заказ", а потом, после подтверждения заказа клиентом еще раз этот же заказ, но с другим статусом.

 

Куда нужно переместить функцию отправки в CRM чтобы можно было это реализовать?

 

Буду благодарен любой помощи!

Надіслати
Поділитися на інших сайтах


Идеально - отдельный метод, который будет выбирать заказы и отправлять еще не переданные в CRM, запуск в планировщике, так как часто пихают в метод истории заказа, а потом начинает оформление заказа думать в момент оформления, так как идет отправка в срм. И временами ответ задерживается и пользователь видит "повисший" сайт.

  • +1 1
Надіслати
Поділитися на інших сайтах

  В 22.12.2021 в 07:24, codeKong сказав:

checkout/success

Expand  

Спасибо, но как я понимаю, checkout/success вызывается только после подтверждения заказа, соответственно, заказы со статусом Ошибочные не будут отправляться в CRM.

Надіслати
Поділитися на інших сайтах


Если в магазине нет проблем с формированием заказа, не будет никаких ошибочных заказов. Сейчас вы пытаетесь решить одни проблемы, путём прикручивания разных костылей с другими проблемами.

Надіслати
Поділитися на інших сайтах

  В 22.12.2021 в 09:03, bogdan281989 сказав:

Идеально - отдельный метод, который будет выбирать заказы и отправлять еще не переданные в CRM, запуск в планировщике, так как часто пихают в метод истории заказа, а потом начинает оформление заказа думать в момент оформления, так как идет отправка в срм. И временами ответ задерживается и пользователь видит "повисший" сайт.

Expand  

Интересный способ. Что, если добавить в таблицу "order" новое поле "sent_to_crm" и запускать планировщик каждые 5 минут? На сколько это загрузит мой сайт?

Надіслати
Поділитися на інших сайтах


  В 24.12.2021 в 13:10, MrNix21 сказав:

Интересный способ. Что, если добавить в таблицу "order" новое поле "sent_to_crm" и запускать планировщик каждые 5 минут? На сколько это загрузит мой сайт?

Expand  

Конечно загрузит, особенно когда со временем записей в таблице заказов прибавится и читать оттуда будет ох как затратно.
Можно попробовать затулить отправку в CRM в функции addOrderHistory в catalog/model/checkout/order.php

Там проверять какой статус пришел. И какие надо - отправлять.
Но эта функция часто вызывается не один раз, поэтому могут быть дубли. Нужно как-то все это отслеживать.

Как вариант, можно вызывать в ф-ции addOrder там же. И проверять, чтобы статус был = 0 - то есть заказ абсолютно новый и еще не подтвержден.
Тогда отправится только один раз - когда он создается. Но не факт, что пользователь его закончит. Поэтому опять же может быть куча мусора в CRM

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 13:09, Tom сказав:

Если в магазине нет проблем с формированием заказа, не будет никаких ошибочных заказов. Сейчас вы пытаетесь решить одни проблемы, путём прикручивания разных костылей с другими проблемами.

Expand  

Как я понимаю, заказы со статусом "Ошибочный заказ", это заказ, который клиент не подтвердил, но заполнил некоторые поля при оформлении. Такие заказы сохраняются в таблице "order", где в поле "order_status_id" прописывается значение 0.

Возможно я ошибаюсь, но моя догадка строится на том, что когда звоню клиентам по таким заказам, то они говорят что не подтверждали заказ.

Надіслати
Поділитися на інших сайтах


  В 24.12.2021 в 13:19, MrNix21 сказав:

Возможно я ошибаюсь, но моя догадка строится на том, что когда звоню клиентам по таким заказам, то они говорят что не подтверждали заказ.

Expand  

это и есть брошенные корзины.

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 13:19, MrNix21 сказав:

Возможно я ошибаюсь, но моя догадка строится на том, что когда звоню клиентам по таким заказам, то они говорят что не подтверждали заказ.

Expand  

Какой у вас "ненавязчивый" сервис :D

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 13:36, Tom сказав:

Какой у вас "ненавязчивый" сервис :D

Expand  

Вот это я и хочу исправить, потому что клиенты иногда ругаются трехэтажным матом и их можно понять) Но при этом хочу получать в CRM эти заказы со статусом, отличным от реальных заказов.

Надіслати
Поділитися на інших сайтах


  В 24.12.2021 в 13:17, Prooksius сказав:

Конечно загрузит, особенно когда со временем записей в таблице заказов прибавится и читать оттуда будет ох как затратно.
Можно попробовать затулить отправку в CRM в функции addOrderHistory в catalog/model/checkout/order.php

 

Expand  

Следуя вашей логике, то даже если у человека будет несколько десятков тысяч заказов то уже все? Скажите в чем именно затуп будет и нагрузка? В выборке с таблице заказа select на одно условие?

Не будет никаких проблем, будут выбираться только те заказы которые еще не отправлены. 

С addOrderHistory - выше писал, что бывает затуп и серьезный. Симпла стучит в эту функцию похоже каждый раз при обновлении полей, не советуйте такого.

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 13:19, MrNix21 сказав:

Как я понимаю, заказы со статусом "Ошибочный заказ", это заказ, который клиент не подтвердил, но заполнил некоторые поля при оформлении. Такие заказы сохраняются в таблице "order", где в поле "order_status_id" прописывается значение 0.

Возможно я ошибаюсь, но моя догадка строится на том, что когда звоню клиентам по таким заказам, то они говорят что не подтверждали заказ.

Expand  

Заказ уже создан до момента оплаты (статус 0, он же потерянный заказ), разные платежки работают по разному, если это простой cod - то он просто сразу дописывает такому заказу статус и он есть в админке, если платежки - пишут статус по колбеку. Пока не подтвержден заказ кнопкой в оформлении заказа, например стандартный модуль банковского перевода - ему способ оплаты не записал статус еще.

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 18:18, bogdan281989 сказав:

Не будет никаких проблем, будут выбираться только те заказы которые еще не отправлены. 

Expand  

да это все понятно, но ту есть ньюансы, оптимизатор MySQL должен еще правильные индексы брать при выборке только не отправленных заказов, а если их не будет, как бы не было какого-нибудь full scan-а. Вообщем тут с умом нужно подходить..

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 18:18, bogdan281989 сказав:

С addOrderHistory - выше писал, что бывает затуп и серьезный. Симпла стучит в эту функцию похоже каждый раз при обновлении полей, не советуйте такого.

Expand  

я лично в нескольких проектах именно так и делал, в addOrderHistory отправлял в CRM - все отлично работает и по сей день.
Правда мне нужны были только законченные заказы, подтвержденные..
А со всеми, да тут сложности.

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 18:36, Prooksius сказав:

я лично в нескольких проектах именно так и делал, в addOrderHistory отправлял в CRM - все отлично работает и по сей день.
Правда мне нужны были только законченные заказы, подтвержденные..
А со всеми, да тут сложности.

Expand  

А у меня есть опыт другой, симпла, амосрм, временами клиенты жалуются что на "Подождите, происходит переход к оплате" думает и думает долго.

Есть разные ситуации, дело такое что может по разному отработать, но нравится когда прием заказа как у прома - сравнительно быстро, клиенту нет нужды ждать. Правда у опенкарта и отправка почты идет в это время, а если через смтп, то наверное еще чуть замедляет.

Но мой вариант имеет право на жизнь, потому что он работает, при цикле в 3-5 минут отправляется 1-2 заказа курлом, не более, я не думаю что у топикстартера больше заказов в промежутке.

Надіслати
Поділитися на інших сайтах

  В 24.12.2021 в 18:42, bogdan281989 сказав:

Но мой вариант имеет право на жизнь, потому что он работает, при цикле в 3-5 минут отправляется 1-2 заказа курлом, не более, я не думаю что у топикстартера больше заказов в промежутке.

Expand  

Да, согласен, обеспечить наличие нужных индексов для oc_order, чтобы не грузить MySQL и все будет работать как часы.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.