How can I update an existing subscriber via the API?
Increasingly, AWeber customers are moving to a one-list model, where all their subscribers are kept in a single email list and segmented using tags, rather than multiple email lists. This is easier for our customers to manage and use our powerful campaigns to automate their marketing. To support this usage pattern, integrations should support tagging not only for new subscribers but for existing subscribers as well.
When an integration attempts to add an email address to an AWeber list where the email address is already present, the API returns an error stating "Subscriber already subscribed." Commonly these errors are ignored, but it’s more helpful if the integration updates the existing subscriber record with new information.
Why do tags matter?
As an example, let’s say Joe is already on the email list of a pet supplies shop where they segment subscribers based on the kind of animal they have using tags. Joe has a dog so the shop has given him the tag of “dog” so they can alert him to sales on dog supplies. Later Joe gets a cat and signs up for the cat related sale news as well. If the integration simply ignores the existing subscriber error, the shop won’t know Joe also wants cat related sales notifications. In this situation, the integration should add the tag “cat” to his subscriber record so the shop knows Joe gets both cat and dog related emails.
How do I update a subscriber that already exists?
To accomplish these updates to existing subscribers your integration simply needs to handle the existing subscriber error and make a find call to find the subscriber’s self_link. Then use that link to make a PATCH request to update the subscriber. While you are in the code, we also recommend updating custom fields, the subscriber’s name, and most other fields as well.
Our code samples repository has an example for looking up a subscriber then updating them in PHP, Python, and C#.