connectors

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-connectors"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/b2c0834c-9a8e-4b46-af78-fde29588720f/social-card.svg?v=3e7ae33eec8b" alt="connectors" width="600" height="315"></a>
GEThttps://hermeticor.com/v1/integrations/shopify/install

Start the Shopify app install: returns the authorize URL

Parameters

shopstringqueryrequired

Code samples

cURL
curl -X GET "https://hermeticor.com/v1/integrations/shopify/install?shop=<shop>" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "url": "string"
}
Schema
urlstringrequired
4XX Default Response
Example
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
Schema
errorobjectrequired
Show child parameters
codestringrequired
messagestringrequired
detailsobject
POSThttps://hermeticor.com/v1/integrations/hubspot/install

Start the HubSpot OAuth install: creates the (disabled) connection and returns the authorize URL

Request body

application/json
namestringrequired
clientIdstringrequired
clientSecretstringrequired
appIdstring
developerApiKeystring
{
  "name": "string",
  "clientId": "string",
  "clientSecret": "string",
  "appId": "string",
  "developerApiKey": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/integrations/hubspot/install" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","clientId":"string","clientSecret":"string","appId":"string","developerApiKey":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "connectionId": "string",
  "url": "string"
}
Schema
connectionIdstringrequired
urlstringrequired
POSThttps://hermeticor.com/v1/integrations/connections/{id}/hubspot/webhooks

Register the HubSpot webhook subscriptions (property change, creation, deletion, merge)

Parameters

idstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/webhooks" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "registered": true
}
Schema
registeredbooleanrequired
GEThttps://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists

Segments mirrored into HubSpot lists

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/integrations/connections/{id}/hubspot/lists" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "items": [
    {
      "id": "string",
      "connectionId": "string",
      "segmentId": "string",
      "name": "string",
      "externalListId": "string",
      "backfilled": true,
      "lastSyncedAt": "2024-01-01T00:00:00Z",
      "lastError": "string",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ],
  "nextCursor": "string"
}
Schema
itemsItemsItem103[]required
Show child parameters
idstringrequired
connectionIdstringrequired
segmentIdstringrequired
namestringrequired
externalListIdstringrequired
backfilledbooleanrequired
lastSyncedAtstringrequired
lastErrorstringrequired
createdAtstringrequired
nextCursorstringrequired
POSThttps://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists

Mirror a segment into a HubSpot static list: initial fill in the background, then kept current on segment entry and exit

Parameters

idstringpathrequired

Request body

application/json
segmentIdstringrequired
namestringrequired
{
  "segmentId": "string",
  "name": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"segmentId":"string","name":"string"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "id": "string",
  "connectionId": "string",
  "segmentId": "string",
  "name": "string",
  "externalListId": "string",
  "backfilled": true,
  "lastSyncedAt": "2024-01-01T00:00:00Z",
  "lastError": "string",
  "createdAt": "2024-01-01T00:00:00Z"
}
Schema
idstringrequired
connectionIdstringrequired
segmentIdstringrequired
namestringrequired
externalListIdstringrequired
backfilledbooleanrequired
lastSyncedAtstringrequired
lastErrorstringrequired
createdAtstringrequired
DELETEhttps://hermeticor.com/v1/integrations/connections/{id}/hubspot/lists/{syncId}

Stop mirroring (the HubSpot list is left in place)

Parameters

idstringpathrequired
syncIdstringpathrequired

Code samples

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

Responses

200 Default Response
Example
{
  "ok": true
}
Schema
okbooleanrequired
true
POSThttps://hermeticor.com/v1/integrations/connections/{id}/hubspot/marketing-events/sync

Push marketing events and their registrations to HubSpot, keyed on each event's external id (its own ref, else its id); unchanged events are skipped

Parameters

idstringpathrequired

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/hubspot/marketing-events/sync" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "pushed": 0,
  "unchanged": 0,
  "registrations": 0
}
Schema
pushedintegerrequired
unchangedintegerrequired
registrationsintegerrequired
POSThttps://hermeticor.com/v1/integrations/connections/{id}/shopify/discount-codes

Create unique single-use Shopify discount codes and add them to a coupon pool

Parameters

idstringpathrequired

Request body

application/json
poolIdstringrequired
countintegerrequired
percentOffnumberrequired
prefixstring
endsAtstring
{
  "poolId": "string",
  "count": 0,
  "percentOff": 0,
  "prefix": "string",
  "endsAt": "2024-01-01T00:00:00Z"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/integrations/connections/{id}/shopify/discount-codes" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"poolId":"string","count":0,"percentOff":0,"prefix":"string","endsAt":"2024-01-01T00:00:00Z"}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

201 Default Response
Example
{
  "created": 0,
  "addedToPool": 0
}
Schema
createdintegerrequired
addedToPoolintegerrequired
POSThttps://hermeticor.com/v1/integrations/warehouse/rows

Reverse-ETL: upsert profiles and events from warehouse rows

Request body

application/json
rowsobject[]required
{
  "rows": [
    {
      "type": "profile",
      "email": "string",
      "phone": "string",
      "externalId": "string",
      "firstName": "string",
      "lastName": "string",
      "attributes": {}
    }
  ]
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/integrations/warehouse/rows" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"rows":[{"type":"profile","email":"string","phone":"string","externalId":"string","firstName":"string","lastName":"string","attributes":{}}]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
Example
{
  "applied": 0,
  "failed": [
    {
      "index": 0,
      "reason": "string"
    }
  ]
}
Schema
appliedintegerrequired
failedRejectedItem[]required
Show child parameters
indexintegerrequired
reasonstringrequired
GEThttps://hermeticor.com/integrations/shopify/callback

Parameters

typequery
additionalPropertiesstringquery

Code samples

cURL
curl -X GET "https://hermeticor.com/integrations/shopify/callback"
TypeScript
Python
Go
PHP
Ruby
Java

Responses

200 Default Response
"string"

Updated