The presentation has an introduction about CRM systems, Social CRM and SugarCRM.
Then it focuses on the customisation possibilities of SugarCRM and on its framework structure.
It includes a working example of how to integrate SugarCRM with a CodeIgniter website using the REST API.
You can read more about the presentation on my blog post here: http://enricosimonetti.com/2013/03/27/crm-sugarcrm-and-a-restful-integration/
The PHP source code for SugarCRM and CodeIgniter can be found on this GitHub repo: https://github.com/esimonetti/sugarcrm-codeigniter-sample-rest-case-portal
Make sure to leave your comments!
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
CRM, SugarCRM and a RESTful integration
1. SugarCRM
CRM, SugarCRM
and a RESTful integration
Enrico Simonetti - http://enricosimonetti.com
2. CRM
Customer Relationship Management
My definition:
CRM is a set of business processes, strategies
and best practices, that with the right
technologies, can help you improve customer
experience and interactions
Enrico Simonetti - http://enricosimonetti.com
4. What about with a CRM in place?
Customer
Centric Real time
results
Reporting
Visibility
Collaboration
Automation
Efficiency
5. ● Founded in 2004 in California
● 350+ employees with >1M users
● Open Source PHP code (>10M downloads)
● 4 versions - Commercial Open Source
● Community Edition on AGPL license
● Built for LAMP environments, then added
more platforms (goo.gl/MdDL8)
● Unlimited hosting choices
● SugarCRM source code can be customised
Enrico Simonetti - http://enricosimonetti.com
6. the Social CRM
The advantages of any CRM plus:
Open Source
Flexible
Mobile
Social
Engage
Customers
Deeper
Relationships
8. ...and... under the covers? It's MVC!
Enrico Simonetti - http://enricosimonetti.com
9. What about
SugarCRM REST API?
REST API entry points:
{site_url}/service/v4/rest.php
{site_url}/service/v4_1/rest.php
{site_url}/service/vX_X/rest.php
Developer guide: goo.gl/Jn8YI
REST methods guide: goo.gl/ehB70
The API can be customised
Enrico Simonetti - http://enricosimonetti.com
10. Demo Project
Fake Hosting.com
Objective
We want to start new web hosting company,
and we need to build a website that integrates
with the CRM system.
SugarCRM as a platform
Using SugarCRM as your application
development platform, you can concentrate
on making the application suit your business.
Enrico Simonetti - http://enricosimonetti.com
11. Step 1 - Website
The demo website is built on top of existing
libraries and frameworks:
● Codeigniter + Bootstrap for rapid
development github.com/sjlu/CodeIgniter-
Bootstrap
● One of the SugarCRM REST helpers: github.
com/asakusuma/SugarCRM-REST-API-
Wrapper-Class
Enrico Simonetti - http://enricosimonetti.com
12. Step 2 - SugarCRM for B2C? How?
SugarCRM is built by default for B2B and
we need to tweak it for B2C. (goo.gl/u2J6I)
We just need to add one configuration option
inside the file "config_override.php".
$sugar_config['require_accounts'] = false;
Then we execute a "Quick Repair" of the
system. Enrico Simonetti - http://enricosimonetti.com
13. Step 3 - Website Service Status page
SugarCRM Interface Changes:
We need to add a new dropdown item on the
"Type" field of Cases, called "Announcement"
via the interface
Portal Code:
We can retrieve the last 10 Cases of type
"Announcement" that are still "New" or
"Assigned" (with SugarCRM "get_entry_list")
Enrico Simonetti - http://enricosimonetti.com
14. Step 4 - Support Tickets creation
SugarCRM Interface Changes:
● We need to add a new dropdown item on
the "Type" field of Cases, called "Support".
● We also have to create a new custom field
in Contacts to track the "Customer
Number" (called cnumber_c).
We can apply both the above changes from
the SugarCRM interface in Studio.
Enrico Simonetti - http://enricosimonetti.com
15. Step 4 - Support Integration (Cont.)
Portal Code:
● Validate the Contact against his "Customer
Number" (with get_entry / get_entry_list)
● If the Contact is validated, create a Case
(with set_entry)
● Then we need to relate together the Case
and the Contact (with set_relationship)
● Then retrieve the newly created Case
number (with get_entry / get_entry_list)
Enrico Simonetti - http://enricosimonetti.com
16. Summary - What did we learn?
1. CRM basics and difference between:
○ Emails and Spreadsheets
○ CRM
○ Social CRM
2. SugarCRM basic internal structure
3. How to quickly integrate your website with
SugarCRM via REST
Enrico Simonetti - http://enricosimonetti.com
18. Where can I find more info?
● Download SugarCRM CE at sourceforge.
net/projects/sugarcrm
● Use support.sugarcrm.com for:
○ Support
○ Application Guide
○ Training material, FAQ, Forum, videos etc.
○ Developer Guide
● Use the developer blog (goo.gl/XTSzn) for
coding and best practices, tips and tricks
Enrico Simonetti - http://enricosimonetti.com
19. How can I contribute?
To contribute to SugarCRM code base you
would need:
1. A Github account
2. To read the following wiki goo.gl/Lf9Oq
3. A signed contributor agreement goo.
gl/U9Ehv
The SugarCRM CE git repo is at this address:
github.com/sugarcrm/sugarcrm_dev
Enrico Simonetti - http://enricosimonetti.com
20. My Contact Details
Enrico Simonetti
Web: enricosimonetti.com
Linkedin: linkedin.com/in/enricosimonetti
Twitter: @simonettienrico
Email: enrico.simonetti@gmail.com
Need SugarCRM?
www.insightful.com.au