Ping-Endpunkte

Gesundheitsüberwachung und Verbindungstests für die Actions API.

Überblick

Ping-Endpunkte bieten eine einfache Möglichkeit, die Konnektivität zu testen und die Authentifizierung mit der mindzieAPI zu validieren. Diese Endpunkte sind entscheidend für die Überwachung der Systemgesundheit und die Fehlerbehebung bei Verbindungsproblemen.

Unautorisierter Ping

GET /api/{tenantId}/{projectId}/action/unauthorized-ping

Grundlegender Verbindungstest, der keine Authentifizierung erfordert. Verwenden Sie diesen Test, um zu überprüfen, ob die API erreichbar ist.

Anfrage

GET https://your-mindzie-instance.com/api/{tenantId}/{projectId}/action/unauthorized-ping

Pfadparameter

Parameter Typ Erforderlich Beschreibung
tenantId GUID Ja Ihr Mandantenkennzeichen
projectId GUID Ja Ihre Projektkennung

Antwort

HTTP/1.1 200 OK
Content-Type: text/plain

Ping Erfolgreich

Anwendungsfälle

  • Grundlegende Verbindungstests
  • Health Checks von Load Balancern
  • Netzwerkanalyse
  • Überwachung der Dienstverfügbarkeit

Authentifizierter Ping

GET /api/{tenantId}/{projectId}/action/ping

Authentifizierter Verbindungstest, der die Zugangsdaten validiert und den Zugriff auf den angegebenen Mandanten und das Projekt überprüft.

Anfrage

GET https://your-mindzie-instance.com/api/{tenantId}/{projectId}/action/ping
Authorization: Bearer {your-access-token}

Pfadparameter

Parameter Typ Erforderlich Beschreibung
tenantId GUID Ja Ihr Mandantenkennzeichen
projectId GUID Ja Ihre Projektkennung

Antwort

Erfolg (200 OK):

HTTP/1.1 200 OK
Content-Type: text/plain

Ping Erfolgreich (tenant id: 12345678-1234-1234-1234-123456789012)

Nicht autorisiert (401):

HTTP/1.1 401 Unauthorized
Content-Type: text/plain

{Fehlermeldung, die den Autorisierungsfehler beschreibt}

Anwendungsfälle

  • Validierung der Authentifizierung
  • Überprüfung der Berechtigungen
  • Prüfung der Token-Gültigkeit
  • Validierung des Mandanten-/Projektzugriffs

Implementierungsbeispiele

cURL

# Unautorisierter Ping
curl -X GET "https://your-mindzie-instance.com/api/12345678-1234-1234-1234-123456789012/87654321-4321-4321-4321-210987654321/action/unauthorized-ping"

# Authentifizierter Ping
curl -X GET "https://your-mindzie-instance.com/api/12345678-1234-1234-1234-123456789012/87654321-4321-4321-4321-210987654321/action/ping" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

JavaScript/Node.js

const TENANT_ID = '12345678-1234-1234-1234-123456789012';
const PROJECT_ID = '87654321-4321-4321-4321-210987654321';
const BASE_URL = 'https://your-mindzie-instance.com';

// Unautorisierter Ping
const unauthorizedPing = async () => {
  const response = await fetch(
    `${BASE_URL}/api/${TENANT_ID}/${PROJECT_ID}/action/unauthorized-ping`
  );
  const text = await response.text();
  console.log('Unautorisierter Ping:', text);
  return response.ok;
};

// Authentifizierter Ping
const authenticatedPing = async (token) => {
  const response = await fetch(
    `${BASE_URL}/api/${TENANT_ID}/${PROJECT_ID}/action/ping`,
    {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    }
  );

  if (response.ok) {
    const text = await response.text();
    console.log('Authentifizierter Ping:', text);
    return true;
  } else {
    console.error('Authentifizierung fehlgeschlagen:', response.status);
    return false;
  }
};

Python

import requests

TENANT_ID = '12345678-1234-1234-1234-123456789012'
PROJECT_ID = '87654321-4321-4321-4321-210987654321'
BASE_URL = 'https://your-mindzie-instance.com'

def unauthorized_ping():
    """Grundlegender Verbindungstest ohne Authentifizierung."""
    url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/action/unauthorized-ping'
    response = requests.get(url)
    print(f'Unautorisierter Ping: {response.text}')
    return response.ok

def authenticated_ping(token):
    """Authentifizierter Verbindungstest."""
    url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/action/ping'
    headers = {
        'Authorization': f'Bearer {token}'
    }

    response = requests.get(url, headers=headers)

    if response.ok:
        print(f'Authentifizierter Ping: {response.text}')
        return True
    else:
        print(f'Authentifizierung fehlgeschlagen: {response.status_code}')
        return False

C#

using System.Net.Http;
using System.Threading.Tasks;

public class ActionApiClient
{
    private readonly HttpClient _httpClient;
    private readonly string _baseUrl;
    private readonly Guid _tenantId;
    private readonly Guid _projectId;

    public ActionApiClient(string baseUrl, Guid tenantId, Guid projectId, string accessToken)
    {
        _baseUrl = baseUrl;
        _tenantId = tenantId;
        _projectId = projectId;
        _httpClient = new HttpClient();
        _httpClient.DefaultRequestHeaders.Authorization =
            new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
    }

    public async Task<bool> UnauthorizedPingAsync()
    {
        var url = $"{_baseUrl}/api/{_tenantId}/{_projectId}/action/unauthorized-ping";
        var response = await _httpClient.GetAsync(url);
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine($"Unautorisierter Ping: {content}");
        return response.IsSuccessStatusCode;
    }

    public async Task<bool> AuthenticatedPingAsync()
    {
        var url = $"{_baseUrl}/api/{_tenantId}/{_projectId}/action/ping";
        var response = await _httpClient.GetAsync(url);
        var content = await response.Content.ReadAsStringAsync();

        if (response.IsSuccessStatusCode)
        {
            Console.WriteLine($"Authentifizierter Ping: {content}");
            return true;
        }
        else
        {
            Console.WriteLine($"Authentifizierung fehlgeschlagen: {response.StatusCode}");
            return false;
        }
    }
}

Beste Praktiken

  • Health Checks: Verwenden Sie den unautorisierten Ping für automatisierte Gesundheitsüberwachungssysteme
  • Pre-flight-Validierung: Rufen Sie den authentifizierten Ping auf, bevor Aktionen ausgeführt werden, um die Zugangsdaten zu validieren
  • Fehlerbehandlung: Behandeln Sie Netzwerk-Timeouts und Authentifizierungsfehler stets sorgfältig
  • Monitoring: Richten Sie automatisierte Warnungen basierend auf Ping-Fehlern ein, um Dienstunterbrechungen frühzeitig zu erkennen