How would I get the current status of an email address? When I use the v1 contact API, I get email_status = NonMarketable, email_opted_in =0 for all contacts.
When I use the v2 contact API with &optional_properties=email_addresses’ I get a row for each email address with what looks like the first status the email_address ever had and not the latest.
For example, I have one contact that opted out but the only thing the API returns me is the first time the contact opted in.
I’d recommend using the v2 Contacts API for this, as it makes what’s going on under the hood a bit clearer. Internally we record every opt-in and opt-out action for every email address we send to in a history table. The latest value in that table determines the current state of each, which we return on that API via an enum to show if the given address can be sent to or not, and with a quick look at the query we’re definitely looking for the MAX date there.
If you do have a Contact where you can show a proof-of-concept of an defect, could I ask that you file a support ticket with screenshots and the tenant instance name so that our advanced support team can take a look and direct it to the proper team?
Thank you very much for the quick reply. I do have an example of a Contact and will open a support ticket.
Alternatively, you can query the “EmailAddStatus” XML-RPC API table instead.
The Type field will give the current Status of the Email Address, plus dates on when it was last used.