Hopp til innhold
skribbskribb

Utviklere

Meldinger

Nettsted

Det besøkende har skrevet til deg: innsendte kontaktskjemaer og chat-samtaler. Chat er et tillegg, så uten det er chat-lista tom uten at noe er galt. Hvert oppslag og hver sletting logges med nøkkelens id.

Krever en publikasjon satt opp som nettsted. Meldinger krever i tillegg en pakke, Skribb Litt eller Skribb Mer. Krever en pakke på nettstedet. Kontaktskjemaet følger med både Skribb Litt og Skribb Mer; chat er et tillegg publikasjonen legger til.

Alle sidene

Kodeeksemplene kaller en skribb-funksjon. Hent klienten for språket ditt →

GET/v1/messages

messages:read

Hent kontaktskjemaer og chat-samtaler

Uten kind får du begge deler. Dette er et øyeblikksbilde og blar ikke: to lister i én body kan ikke dele én cursor, så du får de nyeste limit av hver. Skal du lese hele postkassa, eller spørre igjen med jevne mellomrom, bruk /messages/kontakt og /messages/chat, som har cursor.

?kind
kontakt eller chat. Utelat for begge.
?limit
1 til 200. Standard er 50.

Svaret · 200

kontaktContactMessage[]ikke alltid med
Utelatt helt når du ba om ?kind=chat.
chatChatThread[]ikke alltid med
Utelatt helt når du ba om ?kind=kontakt.
Svar
{
  "kontakt": [
    {
      "id": "msg_2Kd8",
      "name": "Kari Nordmann",
      "email": "kari@example.no",
      "body": "Har dere åpent på lørdager?",
      "status": "new",
      "replied_at": null,
      "created_at": "2026-07-26T09:12:00.000Z"
    }
  ],
  "chat": [
    {
      "id": "cnv_7Pq1",
      "visitor_name": "Ola",
      "status": "open",
      "created_at": "2026-07-26T10:02:00.000Z",
      "last_message_at": "2026-07-26T10:06:00.000Z",
      "messages": [
        {
          "id": "cm_1",
          "sender": "visitor",
          "body": "Hei!",
          "auto_reply": false,
          "created_at": "2026-07-26T10:02:00.000Z"
        }
      ]
    }
  ]
}
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
skribb "/messages?kind=kontakt&limit=20"

GET/v1/messages/kontakt

messages:read

Hent kontaktskjemaer

Nyeste først, med cursor, så du kan lese helt til bunnen.

?status
new, replied eller archived. Utelat for alle.
?limit
1 til 200. Standard er 50.
?cursor
next_cursor fra forrige side.

Svaret · 200

kontaktContactMessage[]
Denne sida.
has_moreboolean
Om det finnes en side til.
next_cursorstring | null
Send den som ?cursor= for neste side. null på siste side.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
skribb "/messages/kontakt?status=paid&limit=20"

Hent ett kontaktskjema

Svaret · 200

kontaktContactMessage
Meldingen.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
kontakt_id="msg_2Kd8"

skribb "/messages/kontakt/$kontakt_id"

PATCH/v1/messages/kontakt/{id}

messages:write

Flytt en melding til en annen status

Slik sier du fra at du har tatt hånd om en henvendelse, så den ikke ligger som ny i innboksen til skaperen også. replied kan du sette selv: har du svart den besøkende fra ditt eget system, er det sant. replied_at settes samtidig.

Bodyen du sender

statusstringpåkrevd
new, replied eller archived.

Svaret · 200

kontaktContactMessage
Meldingen etterpå.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
kontakt_id="msg_2Kd8"

skribb "/messages/kontakt/$kontakt_id" \
  -X PATCH \
  -H "content-type: application/json" \
  -d '{
    "status": "replied"
  }'

DELETE/v1/messages/kontakt/{id}

messages:write

Slett en melding for godt

Dette er ikke arkivering. Meldingen er borte, og det finnes ingen kopi noe annet sted. Bruk archived hvis du bare vil ha den ut av lista. Sletting logges med nøkkelens id.

Svaret · 200

deletedstring
Id-en til meldingen som ble slettet.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
kontakt_id="msg_2Kd8"

skribb "/messages/kontakt/$kontakt_id" \
  -X DELETE

GET/v1/messages/chat

messages:read

Hent chat-samtaler

Sist aktive først, med cursor. Meldingene er ikke med: en tråd kan ha 300 av dem. Hent den enkelte samtalen for tråden. updated_since sammenlikner med last_message_at, som bumpes hver gang noen skriver, uansett hvem.

?status
open eller closed. Utelat for begge.
?updated_since
ISO 8601. Bare samtaler med aktivitet etter dette.
?limit
1 til 200. Standard er 50.
?cursor
next_cursor fra forrige side.

Svaret · 200

chatChatThreadSummary[]
Denne sida, uten meldingene.
has_moreboolean
Om det finnes en side til.
next_cursorstring | null
Send den som ?cursor= for neste side. null på siste side.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
skribb "/messages/chat?status=paid&updated_since=2026-08-01T06%3A00%3A00Z"

GET/v1/messages/chat/{id}

messages:read

Hent én chat-samtale med tråden

Med meldingene, eldste først.

Svaret · 200

chatChatThread
Samtalen med hele tråden.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
chat_id="cnv_7Pq1"

skribb "/messages/chat/$chat_id"

POST/v1/messages/chat/{id}/svar

messages:write

Svar den besøkende

Svaret legger seg i tråden, og den besøkende ser det neste gang widgeten spør. Et kontaktskjema har ingen slik rute: svaret der går ut som e-post, og hvilken adresse den besøkende svarer tilbake til, er ikke et valg en nøkkel skal ta. Har du svart på et skjema fra ditt eget system, sier du fra med PATCH og status replied. Sender du Idempotency-Key, sier vi ikke det samme to ganger om svaret ditt går tapt på veien.

Bodyen du sender

bodystringpåkrevd
Teksten. Opptil 2000 tegn, samme grense som widgeten og innboksen har.

Svaret · 201

messageChatMessage
Meldingen slik den ble lagret.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
chat_id="cnv_7Pq1"

skribb "/messages/chat/$chat_id/svar" \
  -X POST \
  -H "content-type: application/json" \
  -d '{
    "body": "Takk for at du tok kontakt."
  }'

GET/v1/messages/svarmaler

messages:read

Hent svarmalene

Svarene skaperen har lagret for å sette inn når de svarer, sortert etter navn. Svarmaler følger med Skribb Mer: uten den svarer ruta 409 mer-plan-required i stedet for en tom liste, så du kan si hvorfor. Malene skrives og endres i oversikten, ikke her.

Svaret · 200

svarmalerReplyTemplate[]
Alle svarmalene, opptil 50.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
skribb "/messages/svarmaler"

PATCH/v1/messages/chat/{id}

messages:write

Åpne eller lukke en samtale

closed betyr håndtert for nå, ikke ferdig for godt: skriver den besøkende igjen, åpner tråden seg selv. Det er widgetens egen regel, og den kan ikke overstyres herfra, så en integrasjon som spør etter status=open, vil se tråden komme tilbake hvis den besøkende ikke var ferdig. Svaret er samtalen uten meldingene.

Bodyen du sender

statusstringpåkrevd
open eller closed.

Svaret · 200

chatChatThreadSummary
Samtalen etterpå, uten tråden.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
chat_id="cnv_7Pq1"

skribb "/messages/chat/$chat_id" \
  -X PATCH \
  -H "content-type: application/json" \
  -d '{
    "status": "closed"
  }'

DELETE/v1/messages/chat/{id}

messages:write

Slett en samtale for godt

Hele tråden går med. Den besøkendes kopi også, for widgeten leser tråden herfra og har ingen egen. Dette kan ikke angres. Sletting logges med nøkkelens id.

Svaret · 200

deletedstring
Id-en til samtalen som ble slettet.
# Kaller skribb-klienten: https://skribb.no/utviklere/autentisering#klient
chat_id="cnv_7Pq1"

skribb "/messages/chat/$chat_id" \
  -X DELETE

Objekter

ContactMessage

Et innsendt kontaktskjema.

Felter

idstring
Meldingens id.
namestring | null
Navnet avsenderen oppga.
emailstring | null
E-posten avsenderen oppga. Den et svar går tilbake til.
bodystring
Det de skrev.
statusstring
new eller replied.
replied_atstring | null
ISO 8601 i UTC.
created_atstring
ISO 8601 i UTC.

ChatThreadSummary

En chat-samtale uten meldingene.

Felter

idstring
Samtalens id.
visitor_namestring | null
Navnet den besøkende oppga.
statusstring
open eller closed.
created_atstring
ISO 8601 i UTC.
last_message_atstring | null
Da det sist skjedde noe i tråden, uansett hvem som skrev. ISO 8601 i UTC. Dette er feltet updated_since sammenlikner med.

ChatThread

En chat-samtale med hele tråden.

Felter

idstring
Samtalens id.
visitor_namestring | null
Navnet den besøkende oppga.
statusstring
open eller closed.
created_atstring
ISO 8601 i UTC.
last_message_atstring | null
ISO 8601 i UTC.
messagesChatMessage[]
Hele tråden, eldste først. Den besøkendes tilgangspolett er ikke med: den er ikke en identifikator, men en nøkkel som ville latt den som holder den, lese og skrive som den besøkende.

ChatMessage

En enkelt melding i en chat-samtale.

Felter

idstring
Meldingens id.
senderstring
visitor eller creator.
bodystring
Teksten.
auto_replyboolean
true på et autosvar: meldingen skribb sendte for deg fordi den besøkende skrev utenfor åpningstid. sender er creator, men ingen har svart ennå.
created_atstring
ISO 8601 i UTC.

ReplyTemplate

En svarmal skaperen har lagret.

Felter

idstring
Svarmalens id.
titlestring
Navnet den står under i lista.
bodystring
Teksten som settes inn i svaret. Opptil 2000 tegn, så den passer i en chat.
updated_atstring
Sist endret. ISO 8601 i UTC.

← Alle rutene