batch unsubscribe
This commit is contained in:
parent
4a00348925
commit
a286c71fe1
4
leave.sh
4
leave.sh
|
@ -2,5 +2,5 @@
|
|||
# usage: leave.sh leaver@example.org
|
||||
|
||||
source credentials.sh
|
||||
sh mailchimp.sh $1
|
||||
poetry run python volunteers.py $1
|
||||
sh mailchimp.sh "$@"
|
||||
poetry run python volunteers.py "$@"
|
||||
|
|
25
mailchimp.sh
25
mailchimp.sh
|
@ -1,25 +1,26 @@
|
|||
#!/bin/bash
|
||||
# usage: mailchimp.sh leaver@example.org
|
||||
# usage: mailchimp.sh leaver@example.org second@leaver.org
|
||||
# usage: mailchimp.sh 'Voornaam Achternaam'
|
||||
|
||||
user="bij1:${MAILCHIMP_API_KEY}"
|
||||
dc='us16'
|
||||
base="https://${dc}.api.mailchimp.com/3.0/"
|
||||
query="$1"
|
||||
list_id='e6beec738b' # leden & geinteresseerden
|
||||
|
||||
# get lists
|
||||
curl -X GET "${base}lists?fields=lists.id,lists.name" --user $user | jq -r '.lists[]'
|
||||
|
||||
# delete for $query from all lists
|
||||
# delete from all lists
|
||||
ids=$(curl -X GET "${base}lists?fields=lists.id" --user $user | jq -r '.lists[].id')
|
||||
while IFS= read -r list_id; do
|
||||
for query in "$@"; do
|
||||
while IFS= read -r list_id; do
|
||||
echo "list: $list_id"
|
||||
delete_url=$(curl -X GET "${base}search-members?list_id=${list_id}&query=${query}&fields=exact_matches.members._links.href" --user $user | jq -r '.exact_matches.members[0]._links[-1].href')
|
||||
if [ $delete_url != 'null' ]; then
|
||||
echo "✅ found, removing"
|
||||
curl -X POST $delete_url --user $user
|
||||
else
|
||||
echo "no match"
|
||||
fi
|
||||
done <<< "$ids"
|
||||
delete_url=$(curl -X GET "${base}search-members?list_id=${list_id}&query=${query}&fields=exact_matches.members._links.href" --user $user | jq -r '.exact_matches.members[0]._links[-1].href')
|
||||
if [ $delete_url != 'null' ]; then
|
||||
echo "✅ removing: $query"
|
||||
curl -X POST $delete_url --user $user
|
||||
else
|
||||
echo "no match for $query"
|
||||
fi
|
||||
done <<< "$ids"
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue