Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate Twingle Shop #69

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

MarcMichalsky
Copy link
Contributor

@MarcMichalsky MarcMichalsky commented Jun 12, 2023

This PR aims to integrate Twingle Shop orders with CiviCRM.

Objective

The objective of this Twingle Shop integration is not to blow up CiviCRM into a full-grown merchandise management system. For this reason I decided to not create a separate entity for shop orders.

On the other hand, orders should not only be attached to contributions as custom fields or notes, as this is not useful for optimizing order processes in my opinion. A workflow that also maps invoicing, status and shipping in CiviCRM after an order would be extremely inconvenient this way.

Therefore, I came to the conclusion that a viable solution is to map orders as contributions with line items and shops as price sets. This way, orders that do not arrive via the Twingle Shop, but e.g. by phone or mail, can be processed with the same workflow.

In order to match the created Twingle Shops with the existing price sets in CiviCRM, I want to use the Twingle API. Unlike in this extension, the communication is not from Twingle to CiviCRM but the other way round: CiviCRM retrieves the existing shops and products from Twingle and creates the corresponding price sets in its database.

Furthermore, the Twingle Shop integration will be completely optional, so that the behavior of this extension will not change in any way for users who do not use the Twingle Shop.

Tasks

  • process Twingle Shop orders
  • make the display of Twingle Shop settings optional
  • create API3 call to retrieve shop data from Twingle
  • create price sets and price fields from retrieved data
  • create a hook on incoming order
  • write some tests
  • create translations

This PR is work in progress!

@MarcMichalsky
Copy link
Contributor Author

Rebased on PR #71

@jensschuppe jensschuppe mentioned this pull request Aug 15, 2023
@MarcMichalsky MarcMichalsky force-pushed the integrate_twingle_shop branch 2 times, most recently from c57cd39 to a1b17cf Compare October 5, 2023 12:50
@MarcMichalsky MarcMichalsky force-pushed the integrate_twingle_shop branch 8 times, most recently from 0a0df6a to 1e60b37 Compare October 25, 2023 11:44
@MarcMichalsky MarcMichalsky force-pushed the integrate_twingle_shop branch 5 times, most recently from 6b09af8 to afea6f1 Compare November 6, 2023 14:31
@MarcMichalsky MarcMichalsky force-pushed the integrate_twingle_shop branch 2 times, most recently from c7e2616 to c29b658 Compare January 27, 2024 16:21
@MarcMichalsky MarcMichalsky force-pushed the integrate_twingle_shop branch 4 times, most recently from 7d2d98f to 771479d Compare March 18, 2024 16:53
@MarcMichalsky MarcMichalsky force-pushed the integrate_twingle_shop branch 2 times, most recently from 40008d0 to 5c24793 Compare March 21, 2024 10:54
@jensschuppe
Copy link
Collaborator

Now that all the dependencies have been merged into master, let's rebase this branch onto that, @MarcMichalsky!

@MarcMichalsky
Copy link
Contributor Author

Now that all the dependencies have been merged into master, let's rebase this branch onto that, @MarcMichalsky!

Done! 💪

But before you create an alpha release, please give me some time to test it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants