RegisterEvent & ExitEvent
These two endpoints appear in Cheggout's SDK documentation, but verification against the platform did not find server implementations for them.
The specification below is retained for reference only, so that publishers who encountered it in older material understand what it described. Confirm availability with Cheggout before writing any code against it. Tracked on Open items.
This matters most for Refer & Earn, whose documented lifecycle
depends on RegisterEvent. With these endpoints unconfirmed, that module is not integrable.
RegisterEvent — reference only
Documented as logging an event for a specific user, together with the time the event was recorded.
POST /api/RegisterEvent
| Environment | URL |
|---|---|
| Production | https://bankapi.cheggout.com/api/RegisterEvent |
| UAT | https://bankapi-uat.cheggout.com/api/RegisterEvent |
Authentication — signed envelope
BDATA payload
| Field | Type | Required | Description |
|---|---|---|---|
virtualId | string | Not specified | The customer |
channelName | string | Not specified | Your channel — the publisher's CHANNELID |
eventType | string | Not specified | For example register or referral |
subEventType | string | Not specified | In the referral case this carries the referral code |
additionalParams | string | Not specified | JSON string, for example {"isNewUser":true} |
TBD The source material lists these fields but does not mark any of them mandatory or optional. Treat the Required column as unconfirmed.
{
"virtualId": "pub_8f14e45fceea167a",
"channelName": "YOURCHANNEL",
"eventType": "referral",
"subEventType": "REPLACE_REFERRAL_CODE",
"additionalParams": "{\"isNewUser\":true}"
}
SDK methods
Both platforms documented a corresponding SDK call.
Android
CHEGNetworkCallHelper.registerEvent(
virtualId,
eventType,
subEventType,
additionalParams,
object : CHEGregisterCampaignEventCallBack {
override fun onResponse(responseString: String?) { }
}
)
iOS
CheggoutApp.registerEvent(
VirtualId: virtualId,
EventType: "",
SubEventType: "",
additionalParams: ""
) { registerCampaignEventResponse in
print("registerCampaignEventResponse: \(String(describing: registerCampaignEventResponse))")
}
ExitEvent — reference only
Documented as logging an event when the customer logs out of the application, and clearing their data.
POST /api/ExitEvent
| Environment | URL |
|---|---|
| Production | https://bankapi.cheggout.com/api/ExitEvent |
| UAT | https://bankapi-uat.cheggout.com/api/ExitEvent |
Authentication — signed envelope
BDATA payload
| Field | Type | Description |
|---|---|---|
virtualId | string | The customer |
channelName | string | Your channel — the publisher's CHANNELID |
sessionId | string | The session being ended |
token | string | The token being invalidated |
{
"virtualId": "pub_8f14e45fceea167a",
"channelName": "YOURCHANNEL",
"sessionId": "REPLACE_SESSION_ID",
"token": "REPLACE_TOKEN"
}
What to do instead
For logout. You do not need ExitEvent to end a session cleanly. Sessions are bounded, and the
return handshake already terminates the SDK session
when the customer leaves. If you have a specific requirement to invalidate a Cheggout session at
logout, raise it with Cheggout.
For referral. Run the referral mechanics yourself and use Cheggout as the reward layer: when a referral converts, fire a scratch card trigger with a dedicated trigger code. You own attribution and eligibility; Cheggout supplies the reward. See Refer & Earn.
For general event logging. There is no published general-purpose event API. Instrument your own analytics.