Skapa kontakt
POST/api/v1/contacts
En ny kontakt i arbetsytan. Finns adressen redan blir svaret 409 contact_exists.
consent_source är beviset för samtycket och krävs. Kontaktfält som är obligatoriska i arbetsytan måste finnas med i fields.
Vill du skapa eller uppdatera i samma anrop: använd POST /contacts/upsert.
Behörighet
contacts:writeÄndra kontakter – personen bakom nyckeln måste vara redaktör eller högre.
Kropp
JSON, Content-Type: application/json. Okända fält ger 422.
emailstringkrävs- E-postadressen.högst 254 tecken
first_namestring | null- Förnamn.högst 100 tecken
last_namestring | null- Efternamn.högst 100 tecken
companystring | null- Företag.högst 200 tecken
phonestring | null- Telefonnummer. Utan landsnummer tolkas det enligt arbetsytans land.högst 50 tecken
fieldsobject<string | number | boolean>- Egna fält efter nyckel (GET /fields). Värdena kontrolleras mot fältets typ. null eller "" tar bort ett värde. Nycklar som inte är fält i arbetsytan sparas som fria fält. Känsliga fält (personnummer) kan inte sättas via API:t.
tagsarray<string>- Taggar.högst 50 st
consent_sourcestringkrävs- Hur personen samtyckte till utskick, med egna ord. Sparas som bevis.minst 3 tecken · högst 255 tecken
list_idsarray<string>- Listor att lägga kontakten på direkt (som när en person lägger till en kontakt i appen).högst 100 st
Göra om anropet
Skicka gärna headern Idempotency-Key (t.ex. ett uuid). Skickas samma anrop igen med samma nyckel inom 24 timmar kommer det första svaret tillbaka, utan att något görs två gånger. Batch och idempotens
Svar
201 Den nya kontakten.
idstringkrävs- Kontaktens id.
emailstringkrävs- E-postadressen (gemener). Ändras aldrig: samtycken och spärrar gäller adressen.
first_namestring | nullkrävslast_namestring | nullkrävscompanystring | nullkrävsphonestring | nullkrävs- I internationellt format (E.164), t.ex. +46701234567.
statusstringkrävs- active: kan få utskick · unsubscribed: har avregistrerat sig från allt · bounced: adressen studsar · complained: har anmält skräppost · deleted: raderad (GDPR), personuppgifterna är borta.
activeunsubscribedbouncedcomplaineddeleted fieldsobject<string | number | boolean>krävs- Egna fält efter nyckel (se GET /fields). Känsliga fält, som personnummer, skickas aldrig ut.
tagsarray<string>krävssourcestringkrävs- Hur kontakten kom in: manual, import, form, api …
consentobjectkrävsconsent.atstring (tid, ISO 8601) | nullkrävs- När samtycket gavs.
consent.sourcestring | nullkrävs- Hur personen samtyckte, med egna ord.
suppressionobject | nullkrävs- Arbetsytans spärr på adressen. En spärrad adress får aldrig utskick, oavsett status.
suppression.reasonstringkrävs- unsubscribed, bounced, complained, manual eller imported.
suppression.created_atstring (tid, ISO 8601)krävs- När adressen spärrades.
sharedbooleankrävs- Delad från en nivå ovanför i organisationen: kan läsas och få utskick härifrån, men bara ändras där den hör hemma.
created_atstring (tid, ISO 8601)krävs- När kontakten skapades.
updated_atstring (tid, ISO 8601)krävs- När kontakten senast ändrades.
unsubscribed_atstring (tid, ISO 8601) | nullkrävs- När personen avregistrerade sig.
listsarray<object>krävs- Arbetsytans listor som kontakten finns på. Tom för en delad kontakt.
lists[].list_idstringkrävslists[].namestringkrävslists[].statusstringkrävs- subscribed: med på listan · pending: väntar på att bekräfta via e-post · unsubscribed: har lämnat listan.
subscribedpendingunsubscribed lists[].subscribed_atstring (tid, ISO 8601) | nullkrävs- När personen kom med på listan.
Fel
- 400
- bad_request
- 429
- rate_limited