https://github.com/solidusio-contrib/solidus_kustomer
Kustomer integration for the Solidus eCommerce platform.
https://github.com/solidusio-contrib/solidus_kustomer
customer-success customer-support ecommerce kustomer solidus tracking
Last synced: 1 day ago
JSON representation
Kustomer integration for the Solidus eCommerce platform.
- Host: GitHub
- URL: https://github.com/solidusio-contrib/solidus_kustomer
- Owner: solidusio-contrib
- License: bsd-3-clause
- Created: 2020-09-30T13:12:53.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-07T11:16:56.000Z (about 5 years ago)
- Last Synced: 2025-06-01T18:59:02.933Z (4 months ago)
- Topics: customer-success, customer-support, ecommerce, kustomer, solidus, tracking
- Language: Ruby
- Homepage:
- Size: 33.2 KB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# solidus_kustomer
[](https://circleci.com/gh/nebulab/solidus_kustomer)
[](https://codecov.io/gh/nebulab/solidus_kustomer)This extension allows you to integrate your [Solidus](https://solidus.io) store with the customer
support application [Kustomer](https://kustomer.com) via [solidus_tracking](https://github.com/solidusio-contrib/solidus_tracking).## Installation
Add solidus_kustomer to your Gemfile:
```ruby
gem 'solidus_tracking', github: 'solidusio-contrib/solidus_tracking'
gem 'solidus_kustomer', github: 'nebulab/solidus_kustomer'
```Bundle your dependencies and run the installation generator:
```shell
bin/rails generate solidus_kustomer:install
```## Usage
Once installed the extension will provide access to a `SolidusKustomer::Client` with the ability to
interact with Kustomer `KObjects`.This client is used interally via [solidus_tracking](https://github.com/solidusio-contrib/solidus_tracking)
to track relevant Solidus events to make them appear on customers' timelines.### Preparation
This extension assumes that your Kustomer organization have already present the following Klasses:
- `order`
### Events tracked
The events tracked by default are:
- `order_finalized`
### Creating customers on Kustomer
If you want to automatically create a customer on the Kustomer app upon account creation, you can
set the `identify_customer_on_creation` configuration flag to `true`:```ruby
# config/initializers/solidus_kustomer.rbSolidusKustomer.configure do |config|
# ...
config.identify_customer_on_creation = true
end
```Newly created users will be automatically identified (registered as customers) on Kustomer.
## Development
### Testing the extension
First bundle your dependencies, then run `bin/rake`. `bin/rake` will default to building the dummy
app if it does not exist, then it will run specs. The dummy app can be regenerated by using
`bin/rake extension:test_app`.```shell
bin/rake
```To run [Rubocop](https://github.com/bbatsov/rubocop) static code analysis run
```shell
bundle exec rubocop
```### Running the sandbox
To run this extension in a sandboxed Solidus application, you can run `bin/sandbox`. The path for
the sandbox app is `./sandbox` and `bin/rails` will forward any Rails commands to
`sandbox/bin/rails`.Here's an example:
```
$ bin/rails server
=> Booting Puma
=> Rails 6.0.2.1 application starting in development
* Listening on tcp://127.0.0.1:3000
Use Ctrl-C to stop
```### Updating the changelog
Before and after releases the changelog should be updated to reflect the up-to-date status of
the project:```shell
bin/rake changelog
git add CHANGELOG.md
git commit -m "Update the changelog"
```### Releasing new versions
Your new extension version can be released using `gem-release` like this:
```shell
bundle exec gem bump -v 1.6.0
bin/rake changelog
git commit -a --amend
git push
bundle exec gem release
```## License
Copyright (c) 2020 Nebulab SRLs, released under the New BSD License.