inapp-client

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-inapp-client"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/7cbe109c-c379-475e-80db-4ca38c773f66/social-card.svg?v=3e7ae33eec8b" alt="inapp-client" width="600" height="315"></a>
GEThttps://hermeticor.com/client/in-app-messages

In-app messages for an identified or anonymous visitor at a trigger

Parameters

company_idstringquery
platformstringqueryrequired
ios | android | web
triggerstringquery
app_open | screen_view | event | page_url = app_open
namestringquery
urlstringquery
propertiesstringquery
session_idstringquery
external_idstringquery
emailstringquery
phone_numberstringquery
anonymous_idstringquery
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/client/in-app-messages?platform=ios" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "variant": "string",
      "layout": "modal",
      "content": {
        "blocks": [],
        "html": "string"
      },
      "style": {
        "background": "#ffffff",
        "textColor": "#111111",
        "accentColor": "#2563eb",
        "radius": 12,
        "dismissible": true
      },
      "priority": 0,
      "queued": true
    }
  ],
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
idstringrequired
variantstringrequired
layoutstringrequired
modal | banner_top | banner_bottom | fullscreen | bottom_sheet
contentobjectrequired
Show child parameters
blocksBlocksItem[]required
= []
htmlstring
styleobjectrequired
Show child parameters
backgroundstringrequired
= #ffffff
textColorstringrequired
= #111111
accentColorstringrequired
= #2563eb
radiusintegerrequired
= 12
dismissiblebooleanrequired
= true
priorityintegerrequired
queuedbooleanrequired
nextCursorstringrequired
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 /client/in-app-messages

POSThttps://hermeticor.com/client/in-app-events

Report impressions, clicks and dismissals

Parameters

company_idstringquery

Request body

application/json
eventsobject[]required
Show child parameters
messageIdstringrequired
variantstring
= a
typestringrequired
impression | click | dismiss
platformstringrequired
ios | android | web
sessionIdstring
buttonstring
atstring
profileobject
Show child parameters
externalIdstring
emailstring
phoneNumberstring
anonymousIdstring
{
  "events": [
    {
      "messageId": "string",
      "variant": "a",
      "type": "impression",
      "platform": "ios",
      "sessionId": "string",
      "button": "string",
      "at": "2024-01-01T00:00:00Z"
    }
  ],
  "profile": {
    "externalId": "string",
    "email": "string",
    "phoneNumber": "string",
    "anonymousId": "string"
  }
}

Code samples

cURL
curl -X POST "https://hermeticor.com/client/in-app-events" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"events":[{"messageId":"string","variant":"a","type":"impression","platform":"ios","sessionId":"string","button":"string","at":"2024-01-01T00:00:00Z"}],"profile":{"externalId":"string","email":"string","phoneNumber":"string","anonymousId":"string"}}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

202 Default Response
Example
{
  "ok": true,
  "recorded": 0
}
Schema
okbooleanrequired
true
recordedintegerrequired
4XX Default Response

Same as 4XX · GET /client/in-app-messages

5XX Default Response

Same as 4XX · GET /client/in-app-messages

GEThttps://hermeticor.com/client/geofences

Active geofences the app should monitor (Klaviyo JSON:API list)

Parameters

company_idstringquery

Code samples

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

Responses

200 Default Response
Example
{
  "data": [
    {
      "type": "geofence",
      "id": "string",
      "attributes": {
        "name": "string",
        "latitude": 0,
        "longitude": 0,
        "radius": 0
      }
    }
  ]
}
Schema
dataobject[]required
Show child parameters
typestringrequired
geofence
idstringrequired
attributesobjectrequired
Show child parameters
namestringrequired
latitudenumberrequired
longitudenumberrequired
radiusintegerrequired
4XX Default Response

Same as 4XX · GET /client/in-app-messages

5XX Default Response

Same as 4XX · GET /client/in-app-messages

GEThttps://hermeticor.com/client/inbox

The contact's inbox, newest first, with the unread count

Parameters

company_idstringquery
unreadstringquery
true | false
cursorstringquery
limitintegerquery
= 30
external_idstringquery
emailstringquery
phone_numberstringquery
anonymous_idstringquery

Code samples

cURL
curl -X GET "https://hermeticor.com/client/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"
    }
  ],
  "unread": 0,
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
idstringrequired
titlestringrequired
bodystringrequired
imageUrlstringrequired
linkstringrequired
categorystringrequired
dataobjectrequired
readbooleanrequired
createdAtstringrequired
expiresAtstringrequired
unreadintegerrequired
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /client/in-app-messages

5XX Default Response

Same as 4XX · GET /client/in-app-messages

POSThttps://hermeticor.com/client/inbox/{id}/read

Mark an inbox message read or unread

Parameters

company_idstringquery
external_idstringquery
emailstringquery
phone_numberstringquery
anonymous_idstringquery
idstringpathrequired

Request body

application/json
readboolean
= true
profileobjectrequired
Show child parameters
externalIdstring
emailstring
phoneNumberstring
anonymousIdstring
{
  "read": true,
  "profile": {
    "externalId": "string",
    "email": "string",
    "phoneNumber": "string",
    "anonymousId": "string"
  }
}

Code samples

cURL
curl -X POST "https://hermeticor.com/client/inbox/{id}/read" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"read":true,"profile":{"externalId":"string","email":"string","phoneNumber":"string","anonymousId":"string"}}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

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

Same as 4XX · GET /client/in-app-messages

5XX Default Response

Same as 4XX · GET /client/in-app-messages

POSThttps://hermeticor.com/client/inbox/{id}/delete

Delete an inbox message for the contact

Parameters

company_idstringquery
external_idstringquery
emailstringquery
phone_numberstringquery
anonymous_idstringquery
idstringpathrequired

Request body

application/json
profileobjectrequired
Show child parameters
externalIdstring
emailstring
phoneNumberstring
anonymousIdstring
{
  "profile": {
    "externalId": "string",
    "email": "string",
    "phoneNumber": "string",
    "anonymousId": "string"
  }
}

Code samples

cURL
curl -X POST "https://hermeticor.com/client/inbox/{id}/delete" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profile":{"externalId":"string","email":"string","phoneNumber":"string","anonymousId":"string"}}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response

Same as 200 · POST /client/inbox/{id}/read

4XX Default Response

Same as 4XX · GET /client/in-app-messages

5XX Default Response

Same as 4XX · GET /client/in-app-messages

GEThttps://hermeticor.com/client/in-app-trackers

Active tracker components for the contact (journey tracker steps)

Parameters

company_idstringquery
external_idstringquery
emailstringquery
phone_numberstringquery
anonymous_idstringquery
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/client/in-app-trackers" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "componentKey": "string",
      "fields": {},
      "events": [
        "string"
      ]
    }
  ],
  "nextCursor": "string"
}
Schema
itemsobject[]required
Show child parameters
idstringrequired
componentKeystringrequired
fieldsobjectrequired
eventsstring[]required
nextCursorstringrequired
4XX Default Response

Same as 4XX · GET /client/in-app-messages

5XX Default Response

Same as 4XX · GET /client/in-app-messages

Updated