HILFEZENTRUM

Funktionen für künstliche Intelligenz

Ermöglicht es der KI von WAzion, während der Gespräche auf deine externen APIs zuzugreifen, um Informationen abzurufen oder Aktionen in Echtzeit auszuführen.

1. Einführung

Benutzerdefinierte Funktionen ermöglichen es der WAzion-KI, während eines Gesprächs mit einem Kunden auf deine externen APIs zuzugreifen. Dadurch können Informationen in Echtzeit abgefragt oder Aktionen automatisch ausgeführt werden.

Wie funktioniert das?

  1. 1 Der Kunde fragt etwas (z.B. “Haben Sie das Produkt X vorrätig?“)
  2. 2 Die KI erkennt, dass sie externe Informationen benötigt
  3. 3 WAzion ruft deine API mit den notwendigen Parametern auf
  4. 4 Deine API antwortet mit den angeforderten Informationen
  5. 5 Die KI verwendet diese Informationen, um auf den Kunden zu antworten.

Typische Anwendungsfälle

  • Verfügbarkeit von Produkten/Dienstleistungen anfragen
  • Automatische Reservierungen vornehmen
  • Bestellstatus abfragen
  • Dynamische Preise abfragen
  • Kundeninformationen suchen
  • Verfügbare Zeiten überprüfen

2. JSON-Struktur

Die Funktionen werden als JSON-Array definiert. Jede Funktion hat einen Namen, eine Beschreibung und Parameter, die den aufzurufenden Endpunkt enthalten.

[
  {
    "name": "nombreDeLaFuncion",
    "description": "Descripción clara de qué hace esta función",
    "parameters": {
      "type": "object",
      "properties": {
        "parametro1": {
          "type": "string",
          "description": "Descripción del parámetro"
        },
        "parametro2": {
          "type": "number",
          "description": "Otro parámetro"
        },
        "endpoint": {
          "url": "https://tu-api.com/endpoint",
          "method": "GET",
          "format": "json",
          "auth": {
            "type": "header",
            "fields": {
              "Authorization": "Bearer tu-token-aqui"
            }
          }
        }
      },
      "required": ["parametro1"]
    }
  }
]

Hauptfelder

  • name: Eindeutige Funktionskennzeichnung
  • description: Beschreibe, wann diese Funktion verwendet wird
  • parameters: Definieren Sie die Parameter und den Endpunkt

Endpunktobjekt

  • url: Vollständige URL des Endpunkts (HTTPS)
  • method: GET, POST, PUT, DELETE, PATCH
  • format: json El texto proporcionado no está en español. Por favor proporcione un texto en español para que pueda traducirlo al alemán. form
  • auth: Authentifizierungseinstellungen

Wichtig: Die Beschreibung jeder Funktion und jedes Parameters ist entscheidend. Die KI verwendet diese Beschreibungen, um zu entscheiden, wann welche Funktion aufgerufen werden soll.

3. Arten der Authentifizierung

WAzion unterstützt 4 Arten der Authentifizierung, um deine Endpunkte zu schützen:

Header-Auth (Empfohlen)

Sicherer

Sende Anmeldeinformationen als HTTP-Header. Ideal für Bearer-Token oder API-Schlüssel.

"auth": {
  "type": "header",
  "fields": {
    "Authorization": "Bearer tu-token-secreto",
    "X-API-Key": "otra-clave-si-necesitas"
  }
}

Basic Auth

HTTP-Basis-Authentifizierung mit Benutzername und Passwort (in Base64 codiert).

"auth": {
  "type": "basic",
  "fields": {
    "username": "tu-usuario",
    "password": "tu-contraseña"
  }
}

Query Auth

Sendet Anmeldedaten als Parameter in der URL. Weniger sicher, aber einfach.

"auth": {
  "type": "query",
  "fields": {
    "api_key": "tu-api-key",
    "secret": "tu-secret"
  }
}
// Resultado: ?api_key=tu-api-key&secret=tu-secret

Body Auth

Fügen Sie Anmeldeinformationen im Body der Anfrage ein (nur POST/PUT/PATCH).

"auth": {
  "type": "body",
  "fields": {
    "api_key": "tu-api-key",
    "token": "tu-token"
  }
}
// Se añade al JSON del body junto con los parámetros

Ohne Authentifizierung

Wenn dein Endpoint keine Authentifizierung erfordert, lasse einfach das Feld “auth“ im Endpoint-Objekt weg.

4. Technische Spezifikationen

Zeitüberschreitungen

Gesamtzeitüberschreitung 60s
Verbindungszeitüberschreitung 10s

Wiederholungen

Maximale Anzahl von Versuchen 4
Strategie Exponentielles Backoff

Wiederholungsplan

Versuch 1 Sofortig
Versuch 2 2s
Versuch 3 4s
Versuch 4 8s

Gesendete HTTP-Header

Header Wert
Content-Type application/json
Accept application/json
User-Agent WAzion-Functions/1.0
+ Authentifizierungsheader Gemäß Einstellung

HTTP-Codes, die einen erneuten Versuch auslösen

429 500 502 503 504

Codes ohne Wiederholungsversuch

400 401 403 404

Anforderungen an den Endpunkt

  • Obrigatorisches HTTPS (gültiges SSL-Zertifikat)
  • { “Respuesta“: “im gültigen JSON-Format“ }
  • Content-Type: application/json in der Antwort
  • Antwort in weniger als 60 Sekunden

Spezialparameter: _Telefon

WAzion fügt automatisch den Parameter “_phone“ mit der Telefonnummer des Kunden im E.164-Format hinzu (z.B.: +34612345678). Du kannst ihn verwenden, um die Antwort zu personalisieren oder um zu erfassen, wer die Anfrage gestellt hat.

5. Praktische Beispiele

Beispiel 1: Verfügbarkeit prüfen

Ermöglicht es der KI, zu überprüfen, ob ein Produkt auf Lager verfügbar ist.

[
  {
    "name": "consultarDisponibilidad",
    "description": "Consulta si un producto específico está disponible en stock",
    "parameters": {
      "type": "object",
      "properties": {
        "producto": {
          "type": "string",
          "description": "Nombre o referencia del producto a consultar"
        },
        "cantidad": {
          "type": "number",
          "description": "Cantidad deseada (opcional, por defecto 1)"
        },
        "endpoint": {
          "url": "https://tu-tienda.com/api/stock",
          "method": "GET",
          "format": "json",
          "auth": {
            "type": "header",
            "fields": {
              "Authorization": "Bearer token-secreto-123"
            }
          }
        }
      },
      "required": ["producto"]
    }
  }
]

Beispiel 2: Eine Reservierung erstellen

Ermöglicht der KI, automatisch Reservierungen in deinem System zu erstellen.

[
  {
    "name": "crearReserva",
    "description": "Crea una reserva para el cliente en la fecha y hora indicada",
    "parameters": {
      "type": "object",
      "properties": {
        "nombre_cliente": {
          "type": "string",
          "description": "Nombre completo del cliente"
        },
        "fecha": {
          "type": "string",
          "description": "Fecha de la reserva en formato YYYY-MM-DD"
        },
        "hora": {
          "type": "string",
          "description": "Hora de la reserva en formato HH:MM"
        },
        "servicio": {
          "type": "string",
          "description": "Tipo de servicio a reservar"
        },
        "endpoint": {
          "url": "https://tu-negocio.com/api/reservas",
          "method": "POST",
          "format": "json",
          "auth": {
            "type": "header",
            "fields": {
              "X-API-Key": "mi-api-key-secreta"
            }
          }
        }
      },
      "required": ["nombre_cliente", "fecha", "hora", "servicio"]
    }
  }
]

Beispiel 3: Bestellstatus abfragen

Ermöglicht der KI, den Status einer Bestellung anhand ihrer Referenznummer abzufragen.

[
  {
    "name": "consultarPedido",
    "description": "Consulta el estado de envío de un pedido por su número",
    "parameters": {
      "type": "object",
      "properties": {
        "numero_pedido": {
          "type": "string",
          "description": "Número de pedido o referencia"
        },
        "endpoint": {
          "url": "https://tu-tienda.com/api/pedidos/estado",
          "method": "GET",
          "format": "json",
          "auth": {
            "type": "query",
            "fields": {
              "token": "mi-token-secreto"
            }
          }
        }
      },
      "required": ["numero_pedido"]
    }
  }
]

6. Beispielcode

Beispiele, wie man Endpunkte auf deinem Server implementiert:

PHP
<?php
// Endpoint: /api/stock

header('Content-Type: application/json');

// Verificar autenticación
$authHeader = $_SERVER['HTTP_AUTHORIZATION'] ?? '';
if ($authHeader !== 'Bearer token-secreto-123') {
    http_response_code(401);
    echo json_encode(['error' => 'No autorizado']);
    exit;
}

// Obtener parámetros
$producto = $_GET['producto'] ?? '';
$cantidad = intval($_GET['cantidad'] ?? 1);

// Consultar tu base de datos
$stock = consultarStockEnBD($producto);

// Responder
echo json_encode([
    'producto' => $producto,
    'disponible' => $stock >= $cantidad,
    'stock_actual' => $stock,
    'mensaje' => $stock >= $cantidad
        ? "Sí, tenemos $stock unidades disponibles"
        : "Lo sentimos, solo quedan $stock unidades"
]);
Node.js / Express
// Endpoint: /api/stock

app.get('/api/stock', (req, res) => {
  // Verificar autenticación
  const authHeader = req.headers.authorization;
  if (authHeader !== 'Bearer token-secreto-123') {
    return res.status(401).json({ error: 'No autorizado' });
  }

  // Obtener parámetros
  const { producto, cantidad = 1 } = req.query;

  // Consultar tu base de datos
  const stock = consultarStockEnBD(producto);

  // Responder
  res.json({
    producto,
    disponible: stock >= cantidad,
    stock_actual: stock,
    mensaje: stock >= cantidad
      ? `Sí, tenemos ${stock} unidades disponibles`
      : `Lo sentimos, solo quedan ${stock} unidades`
  });
});
Python / Flask
# Endpoint: /api/stock

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/api/stock', methods=['GET'])
def consultar_stock():
    # Verificar autenticación
    auth_header = request.headers.get('Authorization', '')
    if auth_header != 'Bearer token-secreto-123':
        return jsonify({'error': 'No autorizado'}), 401

    # Obtener parámetros
    producto = request.args.get('producto', '')
    cantidad = int(request.args.get('cantidad', 1))

    # Consultar tu base de datos
    stock = consultar_stock_en_bd(producto)

    # Responder
    return jsonify({
        'producto': producto,
        'disponible': stock >= cantidad,
        'stock_actual': stock,
        'mensaje': f'Sí, tenemos {stock} unidades disponibles'
            if stock >= cantidad
            else f'Lo sentimos, solo quedan {stock} unidades'
    })

Änderungsverlauf

Keine kürzlichen Änderungen in dieser Dokumentation.

Verwandte Artikel

WAzion Assistent

Geschäftsinformationen und technischer Support

Hallo! Ich bin der Assistent von WAzion. Ich kann Ihnen mit Informationen zu Preisen und Tarifen, technischen Fragen, der Konfiguration oder jeder anderen Frage zu unserem Produkt helfen. Wie kann ich Ihnen behilflich sein?
Entwickelt mit WAzion AI