@crvouga/mockingbird-service-firstpromoter 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/README.md +16 -8
- package/dist/{chunk-G6BNGSL2.js → chunk-6J7UYXHQ.js} +3 -3
- package/dist/{chunk-G6BNGSL2.js.map → chunk-6J7UYXHQ.js.map} +1 -1
- package/dist/{chunk-HXG7KBUR.js → chunk-XH2O4LG2.js} +15 -6
- package/dist/chunk-XH2O4LG2.js.map +7 -0
- package/dist/cli.js +2 -2
- package/dist/index.js +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-HXG7KBUR.js.map +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# Changelog — @crvouga/mockingbird-service-firstpromoter
|
|
2
2
|
|
|
3
|
-
## 3.
|
|
3
|
+
## 3.9.0 (2026-10-21)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add manual response controls ([4599960](https://github.com/crvouga/mockingbird/commit/45999603e8b860c633181367afc7baa906ba486b))
|
|
8
|
+
|
|
9
|
+
## 3.8.0 (2026-10-20)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- raise the serve and fleet body limit to the S3 maximum ([86b9e2b](https://github.com/crvouga/mockingbird/commit/86b9e2b80bcaaaef57f52edbac50b27da0b42f33))
|
|
14
|
+
- validate block limits, filter nutrients, list block children ([2acb823](https://github.com/crvouga/mockingbird/commit/2acb823ba66b30f3d03221996e015c127b0f72c6))
|
|
15
|
+
|
|
16
|
+
## 3.7.0 (2026-10-18)
|
|
4
17
|
|
|
5
18
|
### Features
|
|
6
19
|
|
package/README.md
CHANGED
|
@@ -110,7 +110,7 @@ is `user:pass`. Non-2xx answers are retried; `GET /__admin/webhooks`, `…/event
|
|
|
110
110
|
| `POST /__admin/referrals/:id/convert` | `{saleAmount?}`: the lead paid; credits the promoter (percent reward × amount) and posts the webhook. |
|
|
111
111
|
| `POST /__admin/commissions` | Seed a commission against an existing `{promoter_campaign_id, amount, unit?, status?, fulfilled?, is_paid?, referral_id?, sale_amount?, event_id?}`. Defaults: approved, points, unfulfilled/unpaid. A referral must belong to that promoter and campaign. |
|
|
112
112
|
| `POST /__admin/promo-codes` | Seed `{promo_code, promoter_campaign_id}` against an existing promoter campaign for sale attribution tests. |
|
|
113
|
-
| `GET\|PUT /__admin/settings` | `{website?, defaultCampaignId?, autoConvert?, campaigns?}` (campaigns carry `referralRewards` / `promoterRewards` with `coupon`, `amount`, `unit`, `per_of_sale`). The default campaign's referral coupon is `ACME50`. |
|
|
113
|
+
| `GET\|PUT /__admin/settings` | `{website?, defaultCampaignId?, autoConvert?, promoCodeCreatesReferral?, campaigns?}` (campaigns carry `referralRewards` / `promoterRewards` with `coupon`, `amount`, `unit`, `per_of_sale`). The default campaign's referral coupon is `ACME50`. |
|
|
114
114
|
|
|
115
115
|
Fault presets (`POST /__admin/faults {"preset": "<name>", "count"?: n}`; `GET /__admin/faults/presets`):
|
|
116
116
|
`created_but_500` (stored, then 500: the retry must adopt by `cust_id`), `lookup_unavailable`
|
|
@@ -151,11 +151,19 @@ When no lead matches `email` / `uid`, the vendor's [tracking contract](https://g
|
|
|
151
151
|
lets `tid` or `ref_id` "bypass the signup tracking": the lead is created and the sale assigned in
|
|
152
152
|
one request. The emulator does the same when the `tid` (a click from `POST /__admin/clicks`) or
|
|
153
153
|
`ref_id` resolves to a live promoter and the request names the lead by `email`; the new lead counts
|
|
154
|
-
toward the promoter's referrals, becomes a customer and posts `lead_becomes_referral`.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
toward the promoter's referrals, becomes a customer and posts `lead_becomes_referral`. This is
|
|
155
|
+
docs-verified (the tracking OpenAPI above), not oracle-verified. `uid` alone cannot name a new lead,
|
|
156
|
+
and an `email` that is already a lead under another `uid` is 422 (as in signup tracking).
|
|
157
|
+
|
|
158
|
+
**`promo_code` alone: best guess, not oracle-verified.** The vendor documents nothing further for
|
|
159
|
+
`promo_code` ("For promo code tracking"), so whether a sale carrying only a promo code creates the
|
|
160
|
+
lead is unobserved. Default (`promoCodeCreatesReferral: false`): a sale for an unknown buyer with
|
|
161
|
+
only `promo_code` is the same 404 as any unattributed sale, and nothing is stored. Opt in with
|
|
162
|
+
`PUT /__admin/settings {"promoCodeCreatesReferral": true}` to have a code seeded through
|
|
163
|
+
`POST /__admin/promo-codes` create the lead (needs `email`), assign the sale to the promoter owning
|
|
164
|
+
that campaign enrolment, and post `lead_becomes_referral`, exactly like `tid` / `ref_id`. An
|
|
165
|
+
unseeded code is 404 in both modes. Treat a test that depends on this setting as depending on an
|
|
166
|
+
emulator assumption until a live response is captured.
|
|
159
167
|
|
|
160
168
|
### Namespaces
|
|
161
169
|
|
|
@@ -172,8 +180,8 @@ already a lead under another `uid` is 422 (as in signup tracking).
|
|
|
172
180
|
- Refunds, standalone commission creation/editing/approval, cash payouts and commission filters
|
|
173
181
|
beyond those listed above; fraud checks;
|
|
174
182
|
public promo-code provisioning; the hosted affiliate portal behind the iframe token.
|
|
175
|
-
- Creating a lead from `promo_code` alone is off by default (`promoCodeCreatesReferral`): the vendor documents the one-step bypass only for `tid` and `ref_id
|
|
176
|
-
|
|
183
|
+
- Creating a lead from `promo_code` alone is off by default (`promoCodeCreatesReferral`): the vendor documents the one-step bypass only for `tid` and `ref_id`, so the opt-in behavior is a best guess, not oracle-verified.
|
|
184
|
+
- Currency is recorded without foreign-exchange conversion; plan-specific rewards, quantity/MRR
|
|
177
185
|
calculations, multiple reward tiers, split commissions and notification emails are unmodelled.
|
|
178
186
|
Commission rounding and immediate approval are deterministic emulator policies, not live-verified
|
|
179
187
|
campaign policy. The default campaign reward remains 10 percent, as before.
|