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