inapp

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-inapp"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/13f172cc-45a0-4cc5-8cb7-3f7955ce3df0/social-card.svg?v=3e7ae33eec8b" alt="inapp" width="600" height="315"></a>
GEThttps://hermeticor.com/v1/in-app-messages/{id}/stats

Impressions, clicks, dismissals per variant, and attributed revenue

Parameters

idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/in-app-messages/{id}/stats" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "impressions": 0,
  "uniqueProfiles": 0,
  "clicks": 0,
  "dismissals": 0,
  "ctrPct": 0,
  "variants": [
    {
      "variant": "string",
      "impressions": 0,
      "clicks": 0,
      "dismissals": 0,
      "ctrPct": 0,
      "orders": 0
    }
  ],
  "revenue": {
    "orders": 0,
    "byCurrency": [
      {
        "currency": "string",
        "minor": 0
      }
    ]
  }
}
Schema
impressionsintegerrequired
uniqueProfilesintegerrequired
clicksintegerrequired
dismissalsintegerrequired
ctrPctnumberrequired
variantsobject[]required
Show child parameters
variantstringrequired
impressionsintegerrequired
clicksintegerrequired
dismissalsintegerrequired
ctrPctnumberrequired
ordersintegerrequired
revenueobjectrequired
Show child parameters
ordersintegerrequired
byCurrencyobject[]required
Show child parameters
currencystringrequired
minornumberrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

GEThttps://hermeticor.com/v1/geofences

Geofences

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/geofences" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "name": "string",
      "latitude": 0,
      "longitude": 0,
      "radiusM": 0,
      "active": true,
      "id": "string",
      "createdAt": "string"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem208[]required
Show child parameters
namestringrequired
latitudenumberrequired
longitudenumberrequired
radiusMintegerrequired
activebooleanrequired
= true
idstringrequired
createdAtstringrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

POSThttps://hermeticor.com/v1/geofences

Create a geofence

Request body

application/json
namestringrequired
latitudenumberrequired
longitudenumberrequired
radiusMintegerrequired
activeboolean
= true
{
  "name": "string",
  "latitude": 0,
  "longitude": 0,
  "radiusM": 0,
  "active": true
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/geofences" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","latitude":0,"longitude":0,"radiusM":0,"active":true}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "name": "string",
  "latitude": 0,
  "longitude": 0,
  "radiusM": 0,
  "active": true,
  "id": "string",
  "createdAt": "string"
}
Schema
namestringrequired
latitudenumberrequired
longitudenumberrequired
radiusMintegerrequired
activebooleanrequired
= true
idstringrequired
createdAtstringrequired
4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

DELETEhttps://hermeticor.com/v1/geofences/{id}

Delete a geofence

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/geofences/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

PATCHhttps://hermeticor.com/v1/geofences/{id}

Edit a geofence

Parameters

idstringpathrequired

Request body

application/json
namestring
latitudenumber
longitudenumber
radiusMinteger
activeboolean
{
  "name": "string",
  "latitude": 0,
  "longitude": 0,
  "radiusM": 0,
  "active": true
}

Code samples

cURL
curl -X PATCH "https://hermeticor.com/v1/geofences/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","latitude":0,"longitude":0,"radiusM":0,"active":true}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 201 · POST /v1/geofences

4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

POSThttps://hermeticor.com/v1/in-app-messages/{id}/send

Hold a live in-app message for one contact (shown on their next visit). Needs an idempotency key

Parameters

idstringpathrequired

Request body

application/json
profileIdstringrequired
expiresInHoursinteger
= 24
idempotencyKeystring
{
  "profileId": "string",
  "expiresInHours": 24,
  "idempotencyKey": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/in-app-messages/{id}/send" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileId":"string","expiresInHours":24,"idempotencyKey":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "status": "queued",
  "reason": "string"
}
Schema
statusstringrequired
queued | duplicate | blocked
reasonstringrequired
4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

POSThttps://hermeticor.com/v1/inbox-messages

Send a transactional message into a contact's in-app inbox. Needs an idempotency key

Request body

application/json
profileIdstringrequired
titlestringrequired
bodystring
imageUrlstring
linkstring
categorystring
dataobject
= {}
expiresInDaysinteger
idempotencyKeystring
{
  "profileId": "string",
  "title": "string",
  "body": "",
  "imageUrl": "string",
  "link": "string",
  "category": "string",
  "data": {},
  "expiresInDays": 0,
  "idempotencyKey": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/inbox-messages" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profileId":"string","title":"string","body":"","imageUrl":"string","link":"string","category":"string","data":{},"expiresInDays":0,"idempotencyKey":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "status": "sent",
  "id": "string",
  "reason": "string"
}
Schema
statusstringrequired
sent | duplicate | blocked
idstringrequired
reasonstringrequired
4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

GEThttps://hermeticor.com/v1/profiles/{id}/inbox

A contact's inbox, including read and deleted messages

Parameters

limitintegerquery
Page size; omitted returns the whole list
cursorstringquery
Opaque: the nextCursor of the previous page
idstringpathrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/profiles/{id}/inbox" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "title": "string",
      "body": "string",
      "imageUrl": "string",
      "link": "string",
      "category": "string",
      "data": {},
      "read": true,
      "createdAt": "string",
      "expiresAt": "string",
      "profileId": "string",
      "source": "string",
      "deleted": true
    }
  ],
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
idstringrequired
titlestringrequired
bodystringrequired
imageUrlstringrequired
linkstringrequired
categorystringrequired
dataobjectrequired
readbooleanrequired
createdAtstringrequired
expiresAtstringrequired
profileIdstringrequired
sourcestringrequired
deletedbooleanrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

DELETEhttps://hermeticor.com/v1/inbox-messages/{id}

Withdraw an inbox message

Parameters

idstringpathrequired

Code samples

cURL
curl -X DELETE "https://hermeticor.com/v1/inbox-messages/{id}" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · DELETE /v1/geofences/{id}

4XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

5XX Default Response

Same as 4XX · GET /v1/in-app-messages/{id}/stats

Updated