46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
# Helloasso to Discourse
|
|
|
|
This works in two distinct steps: first fetch HelloAsso data, then sync with Discourse.
|
|
|
|
|
|
## Installing
|
|
|
|
pip install .
|
|
|
|
|
|
## Using
|
|
|
|
### 1 — Fetch HelloAsso data
|
|
|
|
Use the `fetch` subcommand, I use it as is:
|
|
|
|
$ helloasso-to-discourse fetch "$(pass helloasso-clientid)" "$(pass helloasso-clientsecret)" afpy
|
|
|
|
this fetches the data of the given organization, here named `afpy`, it creates an `./afpy` file.
|
|
|
|
|
|
### 2 — Choose what to sync
|
|
|
|
The goal is to sync an HelloAsso event (they call it `forms`) to a Discourse Badge.
|
|
|
|
First let's discover which HelloAsso 'forms' we can use:
|
|
|
|
$ helloasso-to-discourse list-forms afpy
|
|
|
|
Then let's discover which Discourse badges we can use:
|
|
|
|
$ helloasso-to-discourse list-badges https://discuss.afpy.org "$(pass afpy/discuss.afpy.org-api-key)"
|
|
|
|
|
|
### 3 — Sync
|
|
|
|
This step actually assigns badges to Discourse users:
|
|
|
|
As an example to assign badge "membre" to HelloAsso users having paid for the form named `adhesion-2023-a-l-afpy`:
|
|
|
|
$ helloasso-to-discourse sync https://discuss.afpy.org "$(pass afpy/discuss.afpy.org-api-key)" afpy adhesion-2024-a-l-afpy adherant-afpy
|
|
|
|
And an exemple to assign Discourse badge `pyconfr-2023` to members having registered for the `pyconfr-2023` event on HelloAsso:
|
|
|
|
$ helloasso-to-discourse sync https://discuss.afpy.org "$(pass afpy/discuss.afpy.org-api-key)" afpy pyconfr-2023 pyconfr-2023
|