Opencart Send Email to Multiple Groups - php

I would like to be able to modify Opencart's admin panel where you can select multiple groups instead of just 1 when sending emails to customers.
I don't know where and how to modify the system to do so as I'm still new to this kind of stuff.

The Mail system in OpenCart lets you send emails to specific customer groups. Not all at the time.
You can use this feature to send newsletters, information on specials, or to communicate any type of store information to select groups of customers.
NOTE:)
1:) If You need All Customers Groups You can select All Customers Like following Screenshot.
2:) There is no need to Extra Customize for All Customers Groups.
3:) All customers Email send is One kind of All Customers Groups.
SCREENSHOT:)

Related

Transactional email in WordPress

I have a two sided marketplace website( WordPress) for rental properties and I was trying to use websites like MailChimp to segment the users and vendors and send different emails to both sides.
However, I can segment just a certain options and it doesn’t really work for marketplaces.
I’ve been advised that I have to create from scratch the emails corresponding to the certain group of users , because there is no email solutions for two sides marketplaces.
For example: an email send to user who is looking for house to rent, sent one day after with suitable properties.
Another example: user who submits listing with room for rent will receive an email 6 hrs later prompting them to consider to purchase the featured add options because of ect….
I’ve been told that these emails are transactional ( because they are triggered by an action in the website) and they need to be coded from scratch using PHP programming ( word press system).
Can you give me any advice on resources and examples of how it is done for the listings hive theme, and a link to developers that can do it
Thanks
I've tried to add more email templates for a certain actions in the website ( when user is registered it receives the welcome email)
I want to add another email 6 hours after the user is registered, but only one email can be sent for each action ( trigger).
Any advice on how to over ride this and be able to add more templates with more trigger functions.

Database structure to send messages between registered customers/guests and company agents

TL;DR
Facebook-like messaging system with Laravel/MySQL, where also guests are able to send messages to the company agents. The company agents can start conversations with registered customers.
Full details
I'm trying to create a system that allows a registered customer/guest to send messages to the company agents and vice versa but I'm stuck in the relationships between the sender/receiver of the message and the message itself.
This is a list of requirements for this system (I already covered almost all items):
Allow both registered customers and guests to send messages. Customers and guests can only send messages to the company departments. This means that customers can't send messages to other customers.
When creating the message, the creator needs to tell what type of message is creating by selecting an option from a list of categories.
Each category needs to be received by a "role" (So, billing related messages will be received by the financial department, support messages will be received by customer service, etc).
The messages can come from 1) a contact form available in the Contact page of the website where are asked fist name, last name, email, phone number, subject and message; and 2) emails sent by users (then the system will receive the emails via webhook and store them properly).
All departments can contact any user (registered or not) at any time. This means that they can reply to messages but also can "start" the conversation (example: A message asking to confirm/update details).
Here is what I currently have:
This covers almost everything, except for the users/guest messages relationships.
Each message is created by someone (registered customer, registered company agent or a guest) and is directed to someone (registered customer to a department, guest to a department, registered company agent to a registered customer or registered company agent replying to a guest).
My current approach is to use two tables: Guest and User. The User table will contain both customers and agents (this one is easy, I just need to assign the proper role). This means that I need to store in the Message table a sender_type (guest or user), sender_id (the id), receiver_type (guest or user) and receiver_id. But, for example, when Customer1 needs to send a message to the Billing Department, I don't know which agent will reply to that message. Does this mean that I should store "null" in the receiver fields? This may lead to many rows with null columns.
Thanks in advance
Having two separate tables is one approach. You would want to ensure that a given guest user can still access their conversation after the message is sent so you would want to generate the guest user ID and ideally have some other authentication to access these messages (securely).
In terms of actual user, I would just have a table with user profile data stored in it with 'user type' as your registered customer (C) or registered company agent (A) types.
Although you could simply put this in one 'user' table by generating the guest profile ID and authentication outside of MySQL within PHP and then insert this into your user table. This would simplify things a great deal more in terms of querying the data and indexing.
Either will work, but I would go with the second option personally.

Database structure for Web Messaging system (for both registered users and guests)

I'm trying to create a very simple messaging system using PHP and MySQL but I'm having some issues to decide how to structure things here.
A quick list of what I need to achieve.
The system needs to allow both registered users and guests send messages.
The messages will be received by the customer service department (this means that customers can't send messages to other customers).
The messages can come from 1) a contact form available in the Contact page of the website where are asked fist name, last name, email, mobile phone, subject and message; and 2) emails sent by users (then the system will receive the emails via webhook and store them properly).
The customer service department needs to able to reply to any message.
The customer service department can contact any user (registered or not) at any time. This means that they can reply to messages but also can "start" the conversation (example: A message asking to confirm/update details).
I started the design but I'm completely stuck at the moment. Everything is fine when there are only registered users and customer service members: I just need to relate each message to a user_id as sender or receiver. But, when we add guest users, the user_id is useless, because they are not registered (so no user id). This means I will need to store all first name, last name, email and mobile phone for them (creating redundant data in the case of registered users, because I already have that data for them)
The tables will contain a column created_at.
My problem is: guest users won't have a record in the users table, so I cannot just have a user_id field on the messages tables. Also, I need to tell who is sending the message (because our customer service department can send messages to registered/guest users).
Honestly I cannot find a way to achieve this without having columns that will be equal to null in most of the cases.
Any help on this will be appreciated.
Thanks in advance
You will need to have a record added for the guest, as a user account in the database. Set default values, and log his IP address so should he decide to sign up, you will update the guest record with the new user account.
Add an expiry and a cron job to delete any guest accounts which are inactive for x days.
You have encountered an example where the relational model doesn't neatly fit. It's a known issue, with several Stack Overflow posts.
The good news is - there's no "clean" solution in database design. There are a few common models, but they all have varying degrees of unpleasantness.
The bad news - you'll have to make the trade-offs, and live with the consequences.

Can I have a user database synced with SugarCRM and use it mostly for emailing?

I work for a company that has a website with about 700,000 users, it would need a tool that would:
List all users
Email users, create templates, send a newsletter
Show products a user has purchased
If you find a user, show which emails have been sent to the user
Create automated tasks, example: send an email to every user that has a product expiring in 30 days
I'm not sure a CRM can do all theses things, I wanted to try a CRM to figure out how close can I get to having a tool that can do all this. I read that SugarCRM is pretty good, and its free so I'm going to try it out.
What I wanted to know is, using the REST or SOAP api of SugarCRM, can I synchronise all my users with the SugarCRM database ? Or for example each time a user is created on our website, insert it in the database.
And then each time we send an email with our website, use SugarCRM instead to send a mail, and store the data. So that we can view which emails have been sent to specific users.
Thank you
Yes you can do all that but it may require some customisation to suit it exactly to your needs. By 'users' I assume you are referring to Customer 'Accounts' as known on the SugarCRM?
Add custom fields to the Contacts module using Studio. The easiest and quickest way to get your data in will be directly to the database.
The standard fields in Sugar Contacts go in the contacts table. Your custom fields will have "_c" appended to their names and be created in the contacts_cstm table. The two tables are related by contacts.id = contacts_cstm.id_c, which is generally a GUID field (but can be any string value if you need it to be).
Then you need to have a process to add new users in your website into sugar. I suggest polling your user db periodically to look for new records and using the SOAP/REST API (good luck though, it's fairly horrible) to insert them into Sugar.
Other than that your use case is pretty much standard Sugar. For automated tasks which happen whenever an email is sent/received or when a new contact is created, you'll want to look at logic hooks, search for logic_hooks.php in the Sugar documentation.

Accounts to Contacts in SUGARCRM

I am new to sugar and need to have each Account tied to one Contact, the same way that each Lead is linked to a Contact and Account. I have already changed the metadata file to make Account:Contact a 1:1 relationship but past that I am not sure what to do. I would like to ultimately be able to view the contact name for each account when I go to view Accounts as well as be able to import Accounts from a file with a contact field.
I am using Sugar Community Edition 5.2
Instead of using the existing contacts module, a suggestion would be to add a new field (e.g. called account_contact) to the accounts module. That way it would be easy to change the account list view to include the new field, and also include it in the account search options.
I don't think I fully understand you import requirement, but it is possible to set all account fields during the import. So the newly added field is also available in the import.
If you don't want the default Sugar contacts module, you can disable this in the adminstration.
Have you looked into sub-panels at all? Your contact information is always associated with the Account in the detail view--> contacts sub-panel. You want to keep only one contact per account? Create a relate field in the studio FROM CONTACTS to accounts. A one to one account field will appear in contacts and account will have a one to one sub-panel. you can reverse this just by creating this relate field in ACCOUNTS instead. A word of advice - don't start messing with the metadata until you fully understand the relationships built into sugar.

Categories