analytics
GET
https://hermetica.15.204.158.166.sslip.io /v1/analytics/messages Parameters
fromstringqueryrequiredtostringqueryrequiredgroupBystringquerysourceKindstringquerysourceIdstringquerychannelstringqueryincludeMachineOpensstringqueryCode samples
cURL
curl -X GET "https://hermetica.15.204.158.166.sslip.io/v1/analytics/messages?from=<from>&to=<to>" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"groupBy": "string",
"series": [
{
"key": "string",
"counts": {}
}
],
"totals": {},
"availability": {}
}Schema
groupBystringrequiredseriesobject[]requiredShow child parameters
keystringrequiredcountsobjectrequiredtotalsobjectrequiredavailabilityobjectrequired4XX Default Response
Example
{
"error": {
"code": "string",
"message": "string",
"details": {}
}
}Schema
errorobjectrequiredShow child parameters
codestringrequiredmessagestringrequireddetailsobjectGET
https://hermetica.15.204.158.166.sslip.io /v1/analytics/sources/{kind}/{id}/summary Parameters
includeMachineOpensstringquerykindstringpathrequiredidstringpathrequiredCode samples
cURL
curl -X GET "https://hermetica.15.204.158.166.sslip.io/v1/analytics/sources/{kind}/{id}/summary" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"totals": {},
"availability": {}
}Schema
totalsobjectrequiredavailabilityobjectrequiredGET
https://hermetica.15.204.158.166.sslip.io /v1/analytics/predictions/status Whether the workspace has enough order history for predictive analytics, and how many profiles are scored
Code samples
cURL
curl -X GET "https://hermetica.15.204.158.166.sslip.io/v1/analytics/predictions/status" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"model": "string",
"orderEvent": "string",
"eligible": true,
"reason": "string",
"repeatCustomers": 0,
"spanDays": 0,
"minRepeatCustomers": 0,
"minSpanDays": 0,
"predictedProfiles": 0,
"lastComputedAt": "2024-01-01T00:00:00Z",
"sufficiency": "none",
"fit": {
"version": "string",
"fittedAt": "2024-01-01T00:00:00Z",
"customers": 0,
"repeatBuyers": 0,
"priorUsed": "string",
"priorWeight": 0,
"networkCohort": "string",
"params": {
"r": 0,
"alpha": 0,
"a": 0,
"b": 0
},
"spendParams": {
"p": 0,
"q": 0,
"v": 0
},
"holdout": {
"holdoutWeeks": 0,
"customers": 0,
"mae": 0,
"baselineMae": 0,
"customerMae": 0,
"baselineCustomerMae": 0,
"priorMae": 0,
"totalPredicted": 0,
"totalActual": 0,
"beatsBaseline": true,
"calibration": [
{
"bucket": "string",
"customers": 0,
"predicted": 0,
"actual": 0,
"baseline": 0
}
]
}
},
"lastAttempt": {
"fittedAt": "2024-01-01T00:00:00Z",
"promoted": true,
"note": "string"
}
}Schema
modelstringrequiredorderEventstringrequiredeligiblebooleanrequiredreasonstringrequiredrepeatCustomersintegerrequiredspanDaysnumberrequiredminRepeatCustomersintegerrequiredminSpanDaysintegerrequiredpredictedProfilesintegerrequiredlastComputedAtstringrequiredsufficiencystringrequiredfitobjectrequiredShow child parameters
versionstringrequiredfittedAtstringrequiredcustomersintegerrequiredrepeatBuyersintegerrequiredpriorUsedstringrequiredpriorWeightnumberrequirednetworkCohortstringrequiredparamsobjectrequiredShow child parameters
rnumberrequiredalphanumberrequiredanumberrequiredbnumberrequiredspendParamsobjectrequiredShow child parameters
pnumberrequiredqnumberrequiredvnumberrequiredholdoutobjectrequiredShow child parameters
holdoutWeeksnumberrequiredcustomersintegerrequiredmaenumberrequiredbaselineMaenumberrequiredcustomerMaenumberrequiredbaselineCustomerMaenumberrequiredpriorMaenumberrequiredtotalPredictednumberrequiredtotalActualnumberrequiredbeatsBaselinebooleanrequiredcalibrationobject[]requiredlastAttemptobjectrequiredShow child parameters
fittedAtstringrequiredpromotedbooleanrequirednotestringrequiredPOST
https://hermetica.15.204.158.166.sslip.io /v1/analytics/predictions/run Refit the BG/NBD + Gamma-Gamma model (kept only if it beats the naive baseline on a holdout) and rescore every customer now; scores also refresh nightly
Code samples
cURL
curl -X POST "https://hermetica.15.204.158.166.sslip.io/v1/analytics/predictions/run" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"ran": true,
"profiles": 0,
"reason": "string"
}Schema
ranbooleanrequiredprofilesintegerrequiredreasonstringrequiredGET
https://hermetica.15.204.158.166.sslip.io /v1/profiles/{id}/prediction Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://hermetica.15.204.158.166.sslip.io/v1/profiles/{id}/prediction" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"profileId": "string",
"model": "string",
"orderCount": 0,
"avgOrderMinor": 0,
"avgIntervalDays": 0,
"historicClvMinor": 0,
"predictedClvMinor": 0,
"expectedNextOrderAt": "2024-01-01T00:00:00Z",
"churnRisk": 0,
"why": "string",
"computedAt": "2024-01-01T00:00:00Z",
"pAlive": 0,
"expectedOrders": 0
}Schema
profileIdstringrequiredmodelstringrequiredorderCountintegerrequiredavgOrderMinornumberrequiredavgIntervalDaysnumberrequiredhistoricClvMinornumberrequiredpredictedClvMinornumberrequiredexpectedNextOrderAtstringrequiredchurnRisknumberrequiredwhystringrequiredcomputedAtstringrequiredpAlivenumberexpectedOrdersnumberGET
https://hermetica.15.204.158.166.sslip.io /v1/profiles/{id}/predicted-gender Gender inferred from the first name (likely_female, likely_male or uncertain); an inference, not a stored fact
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://hermetica.15.204.158.166.sslip.io/v1/profiles/{id}/predicted-gender" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"gender": "likely_female",
"confidence": 0,
"computedAt": "2024-01-01T00:00:00Z"
}Schema
genderstringrequiredconfidencenumberrequiredcomputedAtstringrequiredGET
https://hermetica.15.204.158.166.sslip.io /v1/profiles/{id}/recommendations Recommended products for this profile (item-to-item co-purchase, recency-weighted; popular items when there is no history)
Parameters
idstringpathrequiredCode samples
cURL
curl -X GET "https://hermetica.15.204.158.166.sslip.io/v1/profiles/{id}/recommendations" \
-H "Authorization: Bearer $SSLIP_API_KEY"TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"profileId": "string",
"computedAt": "2024-01-01T00:00:00Z",
"items": [
{
"productId": "string",
"title": "string",
"score": 0,
"rank": 0,
"basis": "co_purchase"
}
]
}Schema
profileIdstringrequiredcomputedAtstringrequireditemsobject[]requiredShow child parameters
productIdstringrequiredtitlestringrequiredscorenumberrequiredrankintegerrequiredbasisstringrequiredPOST
https://hermetica.15.204.158.166.sslip.io /v1/analytics/funnels Ordered event funnel: profiles reaching each step within a window of step 1
Request body
application/json
stepsstring[]requiredfromstringrequiredtostringrequiredwindowDaysinteger{
"steps": [
"string"
],
"from": "string",
"to": "string",
"windowDays": 30
}Code samples
cURL
curl -X POST "https://hermetica.15.204.158.166.sslip.io/v1/analytics/funnels" \
-H "Authorization: Bearer $SSLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"steps":["string"],"from":"string","to":"string","windowDays":30}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
200 Default Response
Example
{
"steps": [
{
"name": "string",
"profiles": 0,
"conversionFromPrevious": 0,
"conversionFromFirst": 0
}
]
}Schema
stepsobject[]requiredShow child parameters
namestringrequiredprofilesintegerrequiredconversionFromPreviousnumberrequiredconversionFromFirstnumberrequiredUpdated