> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Händelser från klient till server

**Händelser från klient till server** är meddelanden som din applikation proaktivt skickar till servern för att ge ytterligare kontext under konversationer. Med dessa händelser kan du förbättra konversationen med relevant information utan att avbryta konversationsflödet.

> **Note**
>
> Information om händelser som servern skickar till klienten finns i dokumentationen om [klient- händelser](/docs/sv/eleven-agents/customization/events/client-events).

## Översikt

Din applikation kan när som helst under konversationen skicka kontextuell information till servern för att förbättra konversationens kvalitet och relevans. Det behöver inte vara ett svar på en klienthändelse som tagits emot från servern. Detta är särskilt användbart för att dela gränssnittstillstånd, användaråtgärder eller annan miljödata som kanske inte kommuniceras direkt via röst.

> **Info**
>
> Även om våra SDK:er har hjälpfunktioner för att skicka dessa händelser är det värdefullt att förstå det underliggande
> protokollet för anpassade implementationer och avancerade användningsfall.

## Händelsetyper

### Kontextuella uppdateringar

Med kontextuella uppdateringar kan din applikation skicka bakgrundsinformation till konversationen utan att avbryta den.

**Viktiga egenskaper:**

* Uppdateringar införlivas som bakgrundsinformation i konversationen.
* Avbryter inte det aktuella konversationsflödet.
* Användbart för att skicka gränssnittstillstånd, användaråtgärder eller miljödata.

```javascript
// Contextual update event structure
{
  "type": "contextual_update",
  "text": "User appears to be looking at pricing page"
}
```

```javascript
// Example sending contextual updates
function sendContextUpdate(information) {
  websocket.send(
    JSON.stringify({
      type: "contextual_update",
      text: information,
    })
  );
}

// Usage examples
sendContextUpdate("Customer status: Premium tier");
sendContextUpdate("User navigated to Help section");
sendContextUpdate("Shopping cart contains 3 items");
```

### Användarmeddelanden

Med användarmeddelanden kan du skicka text direkt till konversationen som om användaren hade sagt den. Det är användbart för textbaserade interaktioner eller när du vill lägga in specifik text i konversationsflödet.

**Viktiga egenskaper:**

* Text bearbetas som användarindata i konversationen.
* Utlöser samma svarsflöde som talad användarindata.
* Användbart för textbaserade gränssnitt eller programmatisk användarindata.

```javascript
// User message event structure
{
  "type": "user_message",
  "text": "I would like to upgrade my account"
}
```

```javascript
// Example sending user messages
function sendUserMessage(text) {
  websocket.send(
    JSON.stringify({
      type: "user_message",
      text: text,
    })
  );
}

// Usage examples
sendUserMessage("I need help with billing");
sendUserMessage("What are your pricing options?");
sendUserMessage("Cancel my subscription");
```

### Användaraktivitet

Händelser för användaraktivitet fungerar som indikatorer för att förhindra avbrott från agenten.

**Viktiga egenskaper:**

* Återställer timern för turordningsgränsen.
* Påverkar inte konversationens innehåll eller flöde.
* Användbart för att hålla igång långvariga konversationer under perioder av tystnad.

```javascript
// User activity event structure
{
  "type": "user_activity"
}
```

```javascript
// Example sending user activity
function sendUserActivity() {
  websocket.send(
    JSON.stringify({
      type: "user_activity",
    })
  );
}

// Usage example - send activity ping every 30 seconds
setInterval(sendUserActivity, 30000);
```

## Rekommenderade metoder

1. **Kontextuella uppdateringar**

   * Skicka relevant men kortfattad kontextuell information.
   * Undvik att överbelasta LLM:en med för många uppdateringar.
   * Fokusera på information som påverkar konversationsflödet eller som är viktig kontext från aktivitet i ett gränssnitt som röstagenten inte kan komma åt.

2. **Användarmeddelanden**

   * Använd för textbaserad användarindata när ljud inte är tillgängligt eller lämpligt.
   * Se till att textinnehållet är tydligt och välformaterat.
   * Ta hänsyn till konversationskontexten när du lägger in programmatiska meddelanden.

3. **Användaraktivitet**

   * Skicka aktivitetspingar under perioder av användarinteraktion för att behålla sessionen.
   * Använd rimliga intervall (t.ex. 30–60 sekunder) för att undvika onödig nätverkstrafik.
   * Implementera aktivitetsdetektering baserat på faktisk användarinteraktion (muspekarrörelser, skrivning osv.).

4. **Överväganden kring tidpunkt**

   * Skicka uppdateringar vid lämpliga tillfällen.
   * Överväg att gruppera flera kontextuella uppdateringar i en enda uppdatering (i stället för att skicka varje liten ändring separat).
   * Balansera mellan att hålla sessionen aktiv och att undvika för många meddelanden.

> **Info**
>
> Se vår [SDK- dokumentation](/docs/sv/eleven-agents/libraries/python) för detaljerade implementationsexempel.