Open items
This page is deliberately public. Where Cheggout's published material was silent, inconsistent or unverified, this hub marks it TBD rather than guessing — and every one of those marks is listed here.
If something you need is on this page, talk to Cheggout before you build around it.
P0 blocks a publisher from integrating without a conversation. P1 blocks production confidence. P2 is roadmap and polish. Owners are the Cheggout function that must close the item.
P0 — blocks self-service integration
| # | Item | Why it blocks | Owner |
|---|---|---|---|
| 1 | Onboarding and credential issuance procedure. No self-service request path, no standard form for certificates and IPs, no published turnaround. | Nothing can start without credentials. | Product + Partner Ops |
| 2 | Canonical host matrix per API. Some endpoints — notably GetAuthToken — appear under more than one host family across documents. | Wrong host means every call fails. | Engineering |
| 3 | Full error catalogue for the Rewards Center and Bank APIs. Only a few failure strings are published; the Deals Store is the exception. | Publishers cannot write correct error handling. | Engineering |
| 4 | Trigger event code registry. Which codes exist per publisher type, and who assigns them. | The core parameter of the scratch-card module. | Product |
| 5 | Token lifetimes and expireDate format. Lifetimes are per-channel and the field has no documented format. | Refresh logic is guesswork. | Engineering |
| 6 | Production web widget URL and a production build. The only artifact available is served from a UAT host. | The web surface cannot go live. | Engineering |
| 7 | Canonical hosted launch URLs. Conflicting shapes appear across documents. | Hosted launches may silently fail to authenticate. | Engineering |
| 8 | Confirmation of the FetchRewardInfo response schema, documented here as Beta. | It is the core payload of the rewards product. | Engineering |
| 9 | UAT test data and sandbox credentials. No test users, test campaigns or seeded offers. | Nothing can be verified before go-live. | Product + QA |
P1 — blocks production confidence
| # | Item | Why it matters | Owner |
|---|---|---|---|
| 10 | Rate limits, quotas and throttling behaviour. | Publishers cannot size their integration or plan for peak. | Engineering |
| 11 | Timeout, retry and backoff contract. | Retry-on-reveal in particular risks losing a reward. | Engineering |
| 12 | Coupon status webhook: availability, signature support, retry policy, and per-user identification — the payload currently names the offer, not the coupon or the user. | Refunds cannot be automated safely. | Engineering |
| 13 | Cheggout outbound IP list for publishers to whitelist. | The webhook has no other authentication. | Engineering |
| 14 | Placement registry. Valid placementId values and how placements are configured. | The advertisement module needs it. | Product |
| 15 | Reporting and settlement APIs for publishers. | Publishers cannot reconcile revenue independently. | Product |
| 16 | SDK version and requirements confirmation. Published requirements should be re-confirmed against the shipping artifacts. | Build configuration correctness. | Engineering |
| 17 | Client Status API AES key exchange process. | The deep payment flow needs the shared secret. | Engineering |
| 17a | Client Status API AES cipher parameters — mode, padding, IV handling and the encoding of the encrypted values are all unspecified, separately from the key exchange. | The publisher cannot implement a decryptor that is guaranteed to match Cheggout's encryptor. | Engineering |
| 18 | Refer & Earn specification. The endpoints its lifecycle depends on are not confirmed available. | The module is not integrable today. | Product |
| 19 | Standalone advertisement API product. Ad serving exists but is not packaged as a self-service publisher API. | Headless ad integration is not possible. | Product |
| 20 | Pagination contracts — defaults, maxima and total counts. | Rewards history cannot show a page count. | Engineering |
| 21 | orderId presence in the coupon delivery response. | The documented reconciliation key may not be returned. | Engineering |
| 22 | Deals Store idempotency semantics — replay returns the prior result, or is rejected? | Determines safe retry behaviour after a coin burn. | Engineering |
| 23 | Key and API-secret rotation procedure, including the overlap window. | Rotation cannot be done without downtime risk. | Engineering |
| 24 | Nonce or timestamp in the signed envelope. The envelope does not itself prevent replay. | Security hardening. | Engineering |
P2 — roadmap and polish
| # | Item | Owner |
|---|---|---|
| 25 | Flutter and React Native SDKs. No artifact exists today. | Engineering |
| 26 | OpenAPI specification and Postman collection. No OpenAPI spec and no Postman collection is published for any Cheggout product line. | Engineering |
| 27 | Official brand kit — logo pack, colours, typography. This hub uses a provisional palette. | Marketing |
| 28 | Product screenshots for each module and surface. | Marketing |
| 29 | FAQ built from past publisher integrations. | Partner Ops |
| 30 | Versioning and release-notes policy for APIs, SDKs and the widget. | Product |
| 31 | Formal callback or event API for the web widget. Interaction state is currently only in browser storage. | Engineering |
| 32 | Tag taxonomy for deals targeting. | Product |
Documentation defects found in source material
Discrepancies noticed while building this hub. They do not block integration — this hub already documents the corrected behaviour — but the source documents should be fixed so the two do not diverge again.
| Item | Detail |
|---|---|
| Signing described backwards | Source text says the signature is "generated using the public key of the other party". Signing uses your private key. |
amount marked both mandatory and optional | On GetReward, in the same line. |
| Date format mismatch | dateandtime is specified as DDMMYYYYHHMMSS but examples use other formats. |
rewardId type inconsistency | A number in responses, a string in the reveal request. |
| Two names for one identifier | scratchcardId and rewardId appear in the same array. |
| Inconsistent error shapes | Uppercase STATUS/ERRORSTRING in one place, lowercase status/message in another. |
| Real-looking values in examples | Published samples contain decodable identifiers, live-looking coupon codes and non-production hostnames. All examples in this hub are synthetic. |
| Widget CSS link | A separate stylesheet is referenced in one document; styles are bundled in the script. |
Reporting something
Found a gap this page doesn't list, or a page that left you guessing? That is a documentation bug. Please report it via Support with the page URL and what you expected to find.