updates
This commit is contained in:
parent
daf896e117
commit
8501bb255f
3 changed files with 204 additions and 127 deletions
|
@ -214,130 +214,3 @@ if the event being compared is a =tag.v1= event.
|
||||||
|
|
||||||
Updated =rulesengine= in
|
Updated =rulesengine= in
|
||||||
https://gitlab.aweber.io/CC/Libraries/rulesengine/-/merge_requests/117.
|
https://gitlab.aweber.io/CC/Libraries/rulesengine/-/merge_requests/117.
|
||||||
|
|
||||||
** Looking up a campaign's ruleset
|
|
||||||
Fetch the campaign record using the UUID in the control0-panel campaign URL.
|
|
||||||
#+begin_src http :pretty :cache yes :exports both
|
|
||||||
GET http://campaign.service.staging.consul/210b4a4f-ee07-4f1e-98c8-d16541f6e686
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+RESULTS[c237f01dc854e750aa1c8f568dbd54f77ab6f56c]:
|
|
||||||
#+begin_example
|
|
||||||
{
|
|
||||||
"id": "210b4a4f-ee07-4f1e-98c8-d16541f6e686",
|
|
||||||
"name": "Normal Scott",
|
|
||||||
"owner": "26b49bc2-207e-4a33-b267-5b9e64f2702e",
|
|
||||||
"parent": "9f1db623-fbc3-4112-a2f3-ab563e37e131",
|
|
||||||
"rule_set": "01955ad5-cbca-455c-934f-d69a71a5578f",
|
|
||||||
"created_at": "2022-03-21T20:17:39.795431+00:00",
|
|
||||||
"modified_at": "2022-03-24T18:34:37.909620+00:00",
|
|
||||||
"state_changed_at": "2022-03-22T15:24:45.727430+00:00",
|
|
||||||
"url": "http://campaign.service.staging.consul/210b4a4f-ee07-4f1e-98c8-d16541f6e686?owner=26b49bc2-207e-4a33-b267-5b9e64f2702e&parent=9f1db623-fbc3-4112-a2f3-ab563e37e131",
|
|
||||||
"state": "active",
|
|
||||||
"state_serial": 3,
|
|
||||||
"is_valid": true,
|
|
||||||
"is_legacy_followup": false,
|
|
||||||
"sharing_enabled": false,
|
|
||||||
"auto_extend_enabled": true,
|
|
||||||
"extend_needed": false,
|
|
||||||
"extended_at": null,
|
|
||||||
"custom_fields": [],
|
|
||||||
"global_fields": [],
|
|
||||||
"campaign_type": "autoresponder",
|
|
||||||
"properties": null
|
|
||||||
}
|
|
||||||
#+end_example
|
|
||||||
|
|
||||||
Fetch the rule set using the =rule_set= id returned with the campaign.
|
|
||||||
|
|
||||||
#+begin_src http :pretty :cache yes :exports both
|
|
||||||
GET https://rule.aweberstage.com/01955ad5-cbca-455c-934f-d69a71a5578f
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+RESULTS:
|
|
||||||
#+begin_example
|
|
||||||
{
|
|
||||||
"id": "01955ad5-cbca-455c-934f-d69a71a5578f",
|
|
||||||
"version": 2,
|
|
||||||
"owner": "26b49bc2-207e-4a33-b267-5b9e64f2702e",
|
|
||||||
"parent": "9f1db623-fbc3-4112-a2f3-ab563e37e131",
|
|
||||||
"state": "active",
|
|
||||||
"system": false,
|
|
||||||
"iterator": null,
|
|
||||||
"events": [
|
|
||||||
{
|
|
||||||
"id": "b3b69bd4-0c7b-4253-ab65-e6fcbb726f07",
|
|
||||||
"type": "tag.v1",
|
|
||||||
"title": null,
|
|
||||||
"filter": {
|
|
||||||
"type": "all",
|
|
||||||
"criteria": [
|
|
||||||
{
|
|
||||||
"expect": true,
|
|
||||||
"kwargs": {
|
|
||||||
"key": "label",
|
|
||||||
"values": [
|
|
||||||
"normalize test",
|
|
||||||
"foo"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"function": "rulesengine.filter.event_value_in",
|
|
||||||
"operator": "=="
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"expect": true,
|
|
||||||
"kwargs": {
|
|
||||||
"list": "<event:list>",
|
|
||||||
"labels": [
|
|
||||||
"normalize test",
|
|
||||||
"foo"
|
|
||||||
],
|
|
||||||
"account": "<event:account>",
|
|
||||||
"recipient": "<event:recipient>"
|
|
||||||
},
|
|
||||||
"function": "ruleset.tag.filter.any_tags_v1",
|
|
||||||
"operator": "=="
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"expect": false,
|
|
||||||
"kwargs": {
|
|
||||||
"list": "<event:list>",
|
|
||||||
"labels": [
|
|
||||||
"normalized tag"
|
|
||||||
],
|
|
||||||
"account": "<event:account>",
|
|
||||||
"recipient": "<event:recipient>"
|
|
||||||
},
|
|
||||||
"function": "ruleset.tag.filter.any_tags_v1",
|
|
||||||
"operator": "=="
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"parents": [],
|
|
||||||
"metadata": "tag.v1",
|
|
||||||
"recurring": false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"actions": [
|
|
||||||
{
|
|
||||||
"id": "396cd5d3-d410-4ae2-a991-b93a0b816600",
|
|
||||||
"title": null,
|
|
||||||
"parents": [
|
|
||||||
"b3b69bd4-0c7b-4253-ab65-e6fcbb726f07"
|
|
||||||
],
|
|
||||||
"metadata": "send-message",
|
|
||||||
"recurring": false,
|
|
||||||
"definition": {
|
|
||||||
"kwargs": {
|
|
||||||
"list": "<event:list>",
|
|
||||||
"account": "<event:account>",
|
|
||||||
"message": "394c27bf-5853-4b45-9ff1-a0637848f4b6",
|
|
||||||
"meapi_id": "6238dd85f227ef3f2d5ec3a5",
|
|
||||||
"recipient": "<event:recipient>"
|
|
||||||
},
|
|
||||||
"function": "ruleset.email.action.compose_v1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
#+end_example
|
|
||||||
|
|
178
daily/2022-04-18.org
Normal file
178
daily/2022-04-18.org
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 6fa5f014-e5ec-4b20-9267-4610f15c833c
|
||||||
|
:END:
|
||||||
|
#+title: 2022-04-18
|
||||||
|
* Investigating restored deleted subscribers
|
||||||
|
** Created a new subscriber with a tag
|
||||||
|
#+begin_src http :pretty :cache yes :eval no-export
|
||||||
|
GET http://subscriber.service.staging.consul/v1/subscriber?list_id=3854&email=correlr%2Bdeleteme01@aweber.net&fields=tags
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS[fb6364e202db62899d507e8bfab2f727b05c996e]:
|
||||||
|
#+begin_example
|
||||||
|
{
|
||||||
|
"isp": null,
|
||||||
|
"subscriber_id": 1224565879,
|
||||||
|
"legacy_name": null,
|
||||||
|
"subscriber_source": null,
|
||||||
|
"dma_code": null,
|
||||||
|
"id": 1224565879,
|
||||||
|
"custom_fields": {
|
||||||
|
"Favorite Game": null
|
||||||
|
},
|
||||||
|
"subscriber_uuid": "0de8f642-d78e-44db-9c7e-6cc53f50acc3",
|
||||||
|
"city": null,
|
||||||
|
"verified": 0,
|
||||||
|
"self": "http://subscriber.service.staging.consul/subscriber/1224565879",
|
||||||
|
"verification_time": null,
|
||||||
|
"subscribe_method": "import",
|
||||||
|
"stop_time": null,
|
||||||
|
"list_id": 3854,
|
||||||
|
"latitude": null,
|
||||||
|
"email": "correlr+deleteme01@aweber.net",
|
||||||
|
"status": "subscribed",
|
||||||
|
"tags": [
|
||||||
|
"deleteme"
|
||||||
|
],
|
||||||
|
"last_followup": 1001,
|
||||||
|
"area_code": null,
|
||||||
|
"followuptime": null,
|
||||||
|
"org": null,
|
||||||
|
"postal": null,
|
||||||
|
"ip_address": null,
|
||||||
|
"name": "Correl Roush",
|
||||||
|
"lead_id": 4496733,
|
||||||
|
"add_url": null,
|
||||||
|
"country": null,
|
||||||
|
"region": null,
|
||||||
|
"unsubscribe_source": null,
|
||||||
|
"longitude": null,
|
||||||
|
"subscribed_at": "2022-04-18T15:21:04.070648-04:00",
|
||||||
|
"stop_method": null,
|
||||||
|
"unsubscribe_timestamp": null
|
||||||
|
}
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
#+begin_src http :pretty :cache yes :eval no-export
|
||||||
|
GET http://recipient.service.staging.consul/subscriber/0de8f642-d78e-44db-9c7e-6cc53f50acc3
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS[77791090575f541ef5b635141712e1c0cf1b4565]:
|
||||||
|
#+begin_example
|
||||||
|
{
|
||||||
|
"legacy_list_id": 3854,
|
||||||
|
"signup_ad_tracking": null,
|
||||||
|
"status": "SOI",
|
||||||
|
"legacy_subscriber_id": 1224565879,
|
||||||
|
"name": "Correl Roush",
|
||||||
|
"email_address": "correlr+deleteme01@aweber.net",
|
||||||
|
"unsubscribe_source": null,
|
||||||
|
"recipient": "c0e5f1ca-dae3-4037-b80a-9400f64ac841",
|
||||||
|
"signup_ip": null,
|
||||||
|
"notes": null,
|
||||||
|
"signup_location": null,
|
||||||
|
"custom_fields": {
|
||||||
|
"Favorite Game": null
|
||||||
|
},
|
||||||
|
"unsubscribe_timestamp": null,
|
||||||
|
"id": "0de8f642-d78e-44db-9c7e-6cc53f50acc3",
|
||||||
|
"list": "9f1db623-fbc3-4112-a2f3-ab563e37e131",
|
||||||
|
"confirmation_ip": null,
|
||||||
|
"locale": "en-US",
|
||||||
|
"legacy_lead_id": 4496733,
|
||||||
|
"display_name": "Correl Roush",
|
||||||
|
"signup_timestamp": "2022-04-18T19:21:04+00:00",
|
||||||
|
"signup_url": null,
|
||||||
|
"signup_source": "Import",
|
||||||
|
"confirmation_location": null,
|
||||||
|
"account": "26b49bc2-207e-4a33-b267-5b9e64f2702e",
|
||||||
|
"confirmation_timestamp": null,
|
||||||
|
"legacy_account_id": 778
|
||||||
|
}
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
** Deleted subscriber
|
||||||
|
#+begin_src http :pretty :cache yes :eval no-export
|
||||||
|
GET http://subscriber.service.staging.consul/v1/subscriber?list_id=3854&email=correlr%2Bdeleteme02@aweber.net&fields=tags
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS[7d7ff6fd6510a36b406b6a9bd383cee06c0361dd]:
|
||||||
|
: {
|
||||||
|
: "error": {
|
||||||
|
: "status_code": 404,
|
||||||
|
: "exception": "SubscriberNotFound",
|
||||||
|
: "message": "Could not find information for the subscriber"
|
||||||
|
: }
|
||||||
|
: }
|
||||||
|
|
||||||
|
#+begin_src http :pretty :cache yes :eval no-export
|
||||||
|
GET http://recipient.service.staging.consul/subscriber/5ff28b23-7515-4181-a1c6-0cd86772e959
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS[6a3d0fd66afbbe49e9c1433a00a87e62ee4e5e4d]:
|
||||||
|
: {
|
||||||
|
: "type": "HTTPError",
|
||||||
|
: "traceback": null,
|
||||||
|
: "message": "HTTP 410: Subscriber has been deleted"
|
||||||
|
: }
|
||||||
|
|
||||||
|
** Restored subscriber
|
||||||
|
#+begin_src http :pretty :cache yes :eval no-export
|
||||||
|
GET http://subscriber.service.staging.consul/v1/subscriber?list_id=3854&email=correlr%2Bdeleteme03@aweber.net&fields=tags
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS[ba42253a27d61ad57b92167534a88df4a97b6c79]:
|
||||||
|
#+begin_example
|
||||||
|
{
|
||||||
|
"isp": null,
|
||||||
|
"subscriber_id": 1224565877,
|
||||||
|
"legacy_name": null,
|
||||||
|
"subscriber_source": null,
|
||||||
|
"dma_code": null,
|
||||||
|
"id": 1224565877,
|
||||||
|
"custom_fields": {
|
||||||
|
"Favorite Game": null
|
||||||
|
},
|
||||||
|
"subscriber_uuid": "aeb485fe-f70d-4c45-9c8b-c0d5896fbac9",
|
||||||
|
"city": null,
|
||||||
|
"verified": 0,
|
||||||
|
"self": "http://subscriber.service.staging.consul/subscriber/1224565877",
|
||||||
|
"verification_time": null,
|
||||||
|
"subscribe_method": "import",
|
||||||
|
"stop_time": null,
|
||||||
|
"list_id": 3854,
|
||||||
|
"latitude": null,
|
||||||
|
"email": "correlr+deleteme03@aweber.net",
|
||||||
|
"status": "subscribed",
|
||||||
|
"tags": [
|
||||||
|
"deleteme"
|
||||||
|
],
|
||||||
|
"last_followup": 1001,
|
||||||
|
"area_code": null,
|
||||||
|
"followuptime": null,
|
||||||
|
"org": null,
|
||||||
|
"postal": null,
|
||||||
|
"ip_address": null,
|
||||||
|
"name": "Correl Roush",
|
||||||
|
"lead_id": 4496732,
|
||||||
|
"add_url": null,
|
||||||
|
"country": null,
|
||||||
|
"region": null,
|
||||||
|
"unsubscribe_source": null,
|
||||||
|
"longitude": null,
|
||||||
|
"subscribed_at": "2022-04-18T15:21:04.071556-04:00",
|
||||||
|
"stop_method": null,
|
||||||
|
"unsubscribe_timestamp": null
|
||||||
|
}
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
#+begin_src http :pretty :cache yes :eval no-export
|
||||||
|
GET http://recipient.service.staging.consul/subscriber/aeb485fe-f70d-4c45-9c8b-c0d5896fbac9
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS[53eff9fb0aca10b880611138bbd5b74def32ca86]:
|
||||||
|
: {
|
||||||
|
: "type": "HTTPError",
|
||||||
|
: "traceback": null,
|
||||||
|
: "message": "HTTP 410: Subscriber has been deleted"
|
||||||
|
: }
|
26
daily/2022-04-22.org
Normal file
26
daily/2022-04-22.org
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 9d000aeb-ab38-4d68-b8ac-7407b16be41b
|
||||||
|
:END:
|
||||||
|
#+title: 2022-04-22
|
||||||
|
|
||||||
|
* Fixing restored deleted subscribers
|
||||||
|
- *What was broken?* :: Restored subscribers remained marked as deleted within the recipient service, causing automations to fail
|
||||||
|
- *When was it broken?* :: This issue has likely existed since we introduced the
|
||||||
|
deleted status in Recipient ([[https://gitlab.aweber.io/CP/Services/recipient/-/commit/ead64b148475088addbf727af49d0bb318fe3a05][ead64b14]]).
|
||||||
|
- *What did you do to fix the problem?* :: Using a script
|
||||||
|
(https://gitlab.aweber.io/correlr/restore-subscribers), I iterated through all
|
||||||
|
of the subscribers on the affected accounts, correcting their subscriber
|
||||||
|
records in recipient if they were found to be in this state.
|
||||||
|
- *How many customers did it likely impact?* :: Any customer that has had
|
||||||
|
deleted subscribers restored via the Admin interface since 2017.
|
||||||
|
- *Is the issue automatically fixed for all customers now?* :: Because there is
|
||||||
|
no way to identify customers for which deleted subscribers have been restored,
|
||||||
|
only the customers noted in this ticket have been fixed. Other customers that
|
||||||
|
are identified as being affected by this issue will require the same manual
|
||||||
|
intervention.
|
||||||
|
- *Does the customer or CS need to manually do something to fix their account?* :: No,
|
||||||
|
the data for the customers noted in this ticket has been corrected.
|
||||||
|
- *Should a new monitoring check, metric, or test be created to prevent this from happening again?* :: Efforts
|
||||||
|
are underway to migrate the recipient service away from its current subscriber
|
||||||
|
data store ([[https://jira.aweber.io/browse/CCPANEL-12001][CCPANEL-12001]]). Once that is done, it will no longer be possible
|
||||||
|
for subscribers to continue to get into this state.
|
Loading…
Reference in a new issue