AI læser virksomheden
Hver agent
AI gennemgår websitet og skriver tilbuddet, målgruppen, stemmen og brandet. Webchat, kortflows og LinkedIn starter derfra.
Guide til SMOC Public Contacts API — et skrivebeskyttet REST-endpoint til at liste kontakter og samlede tællinger for din virksomhed. Brug det fra egne integrationer, synkroniseringsjobs eller sammen med Zapier-appen.
SMOC Public API giver tredjepartssystemer mulighed for at læse kontakter for én virksomhed. Det hostes på Cloudflare Workers og afgrænses automatisk til den virksomhed, der er knyttet til din API-nøgle.
Hvad det kan i dag:
Hvad det ikke kan:
limit loft)Denne Zapier/compat-kontrakt forbliver uændret. Det eneste contacts-endpoint for denne kontrakt er:
GET /api/company/mongocontact
Mere avanceret kontakt-søgning er tillægsfunktionalitet: POST /api/v2/contacts_search. Flyt ikke Zapier væk fra mongocontact.
For opsætning i Console, autentificering og funktionsoversigt, start med REST API-forbindelsesguiden.
Alle SMOC data-integrationer bruger samme Console-tokenmønster som Zapier og MCP:
At generere en ny nøgle deaktiverer ikke eksisterende nøgler. Udstedte nøgler vises på samme side — tilbagekald ubrugte nøgler der, når du skal rotere legitimationsoplysninger.
Hver nøgle er bundet til én virksomhed. Nøglen bærer et operatorId-claim svarende til virksomhedens ID. API'et bruger dette til at afgrænse alle kontaktdata — du kan ikke angive et andet virksomheds-ID i forespørgslen.
| Miljø | Base-URL |
|---|---|
| Produktion | https://api.smoc.ai |
Fuld endpoint-eksempel:
GET https://api.smoc.ai/api/company/mongocontact
Send din API-nøgle i et brugerdefineret HTTP-header med navnet token:
GET /api/company/mongocontact HTTP/1.1
Host: api.smoc.ai
token: <your-api-key>
Content-Type: application/json
API'et verificerer nøglen og læser operatorId-claim for at afgøre, hvilke kontakter for virksomheden der skal returneres. Du skal ikke sende virksomheds-ID i URL eller query string.
Brug ikke:
Authorization: Bearer … — denne header accepteres ikke af dette endpoint (selvom Console-siden "API-adgang" måske viser det). Brug token-header i integrationer, indtil der er produktsupport for Bearer.sk_…) eller publishable keys (pk_…) — disse afvises med 401 Invalid token type.Metode: Kun GET. Andre metoder (fx POST) returnerer 404 Not Found.
| Parameter | Type | Påkrævet | Standard | Beskrivelse |
|---|---|---|---|---|
limit |
integer | Nej | 100 |
Maks antal kontakter der returneres. Skal være 1–500. |
sortByField |
string | Nej | (ingen) | Sortér kontakter faldende efter dette felt. |
status |
string | Nej | (ingen) | Filtrér efter kontaktstatus. status=1 er standard lead poll, inkl. positive beskedflow smart leads. |
Tilladte sortByField-værdier:
| Værdi | Sorterer efter |
|---|---|
createdAt |
Kontaktens oprettelsesdato. Når denne sortering vælges (og status udelades eller 1), flettes nylige sene smart leads fra de sidste 14 dage ind, og siden sorteres igen efter max(createdAt, leadCapturedAt), så de vises uden at fortrænge nyere webkontakter. |
updatedAt |
Sidste opdateringsdato |
lastConversationDate |
Sidste samtaledato |
leadCapturedAt |
Hvornår kontakten blev smart lead (falder tilbage til updatedAt for historiske rækker) |
companyUsers.lastConversationDate |
Legacy-alias for lastConversationDate (Zapier-kompatibilitet) |
Sortering er altid faldende (nyeste/højeste først). Hvis udeladt, bruges MongoDB's naturlige rækkefølge.
200 OK){
"data": [ /* array of contact objects */ ],
"leadsCount": 42,
"customerCount": 18
}
| Felt | Type | Beskrivelse |
|---|---|---|
data |
array | Kontaktposter for din virksomhed |
leadsCount |
number | Kontakter med status "1" eller null |
customerCount |
number | Kontakter med status "2" |
leadsCount og customerCount afspejler alle kontakter for virksomheden, ikke kun den aktuelle side.
Hvert element i data indeholder kun nedenstående felter (følsomme/interne felter er udeladt):
| Felt | Beskrivelse |
|---|---|
id |
Zapier poll-identitet. Normalt Mongo _id. Sene konverterede smart leads (leadCapturedAt mindst 1 time efter createdAt, og på eller efter 2026-09-11) bruger {mongoId}__sl, så New Contact kan udløses. Brug contactId for stabil Mongo-id. |
contactId |
Stabil Mongo _id. Ændres ikke, når id omskrives for et sent smart lead. |
linkedinUrl |
LinkedIn-profil-URL hvis tilgængelig (øverste linkedinUrl eller første linkedinProfiles[].url). |
userId |
Bruger-ID |
email |
E-mailadresse |
firstName |
Fornavn |
lastName |
Efternavn |
msisdn |
Telefonnummer |
company |
Virksomhedsnavn (kontaktens arbejdsgiver, hvis opfanget) |
city, state, street, zip |
Adressefelter |
status |
Kontaktens livscyklusstatus (se nedenfor). Positive beskedflow smart leads bruger "1" ligesom webformular-leads. |
leadSentiment |
"positive" eller "negative" når et beskedflow-svar blev klassificeret; udeladt ellers |
leadCapturedAt |
ISO-8601 tidspunkt hvor kontakten blev positivt smart lead (falder tilbage til updatedAt hvis mangler) |
tags |
Opløste kontakt-tags { id, name, systemKind? }[] (inkl. Auto: Positive Lead / Auto: Negative Lead) |
brandId |
Brand-ID |
operatorId |
Virksomheds-/operatør-ID |
createdAt |
ISO-8601 oprettelsestidspunkt |
updatedAt |
ISO-8601 sidste opdateringstidspunkt |
lastConversationDate |
ISO-8601 dato for sidste samtale |
acceptedCommunication |
Om kontakten har accepteret kommunikation |
acceptedPrivacy |
Om kontakten har accepteret privatlivsvilkår |
inviterUser |
Hvem der har henvist denne kontakt (objekt) |
rewardFlows |
Flows hvor belønninger blev optjent |
promosPresented |
Kampagner vist til kontakten |
promosRedeemed |
Kampagner indløst |
answeredSurveyQuestions |
Surveybesvarelser |
usersReferred |
Brugere denne kontakt har henvist |
referralLinks |
Detaljer om henvisningslink |
visitList |
Besøgs-/sessionshistorik (enhed, UTM, geo osv.) |
textFields |
Tilpassede tekstfelter opfanget i flows |
Felter kan være null eller mangle, hvis de ikke er indsamlet for kontakten.
| Status | Betydning |
|---|---|
"1" |
Lead (inkl. positive beskedflow smart leads) |
"2" |
Kunde |
"3" |
Tabt |
"4" |
Konverteret |
null |
Tælles som Lead |
inviterUser
{
"id": 123,
"firstName": "Jane",
"lastName": "Doe",
"email": "[email protected]"
}
rewardFlows / promos
{ "id": "...", "title": "Summer promo" }
referralLinks
{
"key": "...",
"campaignId": 1,
"campaignName": "...",
"flowVariantId": 1,
"url": "https://...",
"share": true
}
visitList — inkluderer browser, os, deviceType, country, region, city, UTM-felter (utmSource, utmMedium, utmCampaign osv.), referrer, landingPage, userAgent, ip.
answeredSurveyQuestions — inkluderer spørgsmål/svar-tekst, oversættelser, belønningsinfo og tidsstempler.
textFields — tilpassede flowfelter: flowId, flowName, variantId, variantName, key, value.
Alle fejl returnerer JSON med et error-felt. Nogle inkluderer et hint.
| HTTP-status | Betingelse | Eksempel-body |
|---|---|---|
401 |
Manglende token-header |
{ "error": "Missing token header" } |
401 |
Ugyldig/tilbagekaldt nøgle, eller sk_/pk_-nøgle brugt |
{ "error": "Invalid or revoked token", "hint": "You can create a valid token from the Integration Dashboard." } |
403 |
Gyldig nøgle men intet operatorId-claim |
{ "error": "Unauthorized" } |
422 |
limit > 500 |
{ "error": "limit must not exceed 500" } |
422 |
Ugyldig sortByField |
{ "error": "Invalid sortByField value" } |
422 |
Ugyldig status |
{ "error": "Invalid status value" } |
404 |
Forkert sti eller metode | Not Found (plain text) |
Basis — hent op til 100 kontakter:
curl -s \
-H "token: YOUR_API_KEY" \
"https://api.smoc.ai/api/company/mongocontact"
Hent 25 kontakter, sorteret efter sidste samtale:
curl -s \
-H "token: YOUR_API_KEY" \
"https://api.smoc.ai/api/company/mongocontact?limit=25&sortByField=lastConversationDate"
Hent standard leads (webformular og positive beskedflow smart leads):
curl -s \
-H "token: YOUR_API_KEY" \
"https://api.smoc.ai/api/company/mongocontact?status=1&sortByField=leadCapturedAt"
Eksempel på trunkeret svar:
{
"data": [
{
"id": "665a1b2c3d4e5f6789012345",
"email": "[email protected]",
"firstName": "Alex",
"lastName": "Smith",
"msisdn": "+4712345678",
"status": "2",
"operatorId": "10",
"createdAt": "2025-03-15T10:22:00.000Z",
"lastConversationDate": "2025-06-01T14:30:00.000Z",
"visitList": [
{
"deviceType": "mobile",
"browser": "Chrome",
"country": "NO",
"utmSource": "google"
}
]
}
],
"leadsCount": 120,
"customerCount": 45
}
SMOC tilbyder en Zapier-app, der bruger dette samme endpoint. Typisk flow:
Zapier-triggeren poller dette endpoint og behandler returnerede kontakter som nye, når de vises. New Contact bruger id. Sene konverterede smart leads (importerede prospects der senere får leadCapturedAt) får nu et stabilt {contactId}__sl-id, så det eksisterende New Contact Zap kun udløses én gang. contactId forbliver Mongo-id til CRM-mapping. Dette gælder for alle virksomheder; kun oprettelser på eller efter 2026-09-11 omskrives (midlertidigt indtil dedikeret New Smart Lead-trigger findes). Foretræk HubSpot Create or Update Contact på e-mail for at undgå dubletter, hvis prospect allerede var synkroniseret. Se Zapier eGuide for trin-for-trin opsætning.
limit (maks 500). For at synkronisere alle kontakter, sorter konsekvent og track sete ID'er på klientsiden, eller brug Zapiers polling-model.companyUsers.lastConversationDate-sorteringsalias eksisterer for bagudkompatibilitet med det oprindelige API og Zapier-app.Samme API-worker udstiller også MCP på https://api.smoc.ai/mcp og REST v2 på POST /api/v2/{toolName} med mere avancerede kontaktværktøjer (contacts_search, contacts_get, contacts_get_stats osv.). Se MCP eGuide og REST v2 reference.
For et produkt-overblik over alle integrationsveje, se smoc.ai/integrations.
| Punkt | Værdi |
|---|---|
| Endpoint | GET /api/company/mongocontact |
| Auth-header | token: <api-key> |
| Content-type | application/json |
| Maks side-størrelse | 500 |
| Standard side-størrelse | 100 |
| Virksomhedsafgrænsning | Fra API-nøgle (operatorId-claim) |
| Nøgleoprettelse | Console → Indstillinger → Integrationer → API |
POST /api/v2/{toolName}-kaldHvor AI kører
Websitechat, kortflows og LinkedIn deler ét system. AI gør hvert job nedenfor. Linjen under titlen siger, hvor det job kører.
Hver agent
AI gennemgår websitet og skriver tilbuddet, målgruppen, stemmen og brandet. Webchat, kortflows og LinkedIn starter derfra.
Dashboard · Leadstrategi
Sæt dit leadmål. AI simulerer tusindvis af kanalmixer, rangerer dem efter effektivitet og viser den mest omkostningseffektive plan. Dine data og rammer styrer regnestykket.
Hver agent · tema på web · liste på LinkedIn
AI skriver flowet. Temaet kører på webchat og kort. Oversættelse kører på hver agent. AI finder prospektlisten på LinkedIn.
Sti på hvert flow · web og LinkedIn hver for sig
Forstærkningslæring på flowstien kører på hver agent. Anbefalinger kører på web. Rigtigt tidspunkt og læsning af svar kører på LinkedIn.
Hver agent
AI foreslår en variant, bruger din vurdering i næste udkast og starter fra et eksempel, der allerede virker. Du tager ændringen i brug.
Få produktopdateringer og perspektiv på proaktive AI-agenter, flerkanalsorkestrering og konvertering — uden støjen.
Enter your email below to get started with SMOC.AI