Ping Uç Noktaları

Actions API için sağlık izleme ve bağlantı testi.

Genel Bakış

Ping uç noktaları, mindzieAPI ile bağlantıyı test etmek ve kimlik doğrulamayı doğrulamak için basit bir yol sağlar. Bu uç noktalar, sistem sağlığını izlemek ve bağlantı sorunlarını gidermek için gereklidir.

Yetkisiz Ping

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

Kimlik doğrulama gerektirmeyen temel bağlantı testi. API'nin erişilebilir olduğunu doğrulamak için kullanın.

İstek

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

Yol Parametreleri

Parametre Tür Gerekli Açıklama
tenantId GUID Evet Kiracı tanımlayıcınız
projectId GUID Evet Proje tanımlayıcınız

Yanıt

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

Ping Successful

Kullanım Senaryoları

  • Temel bağlantı testi
  • Yük dengeleyici sağlık kontrolleri
  • Ağ sorun giderme
  • Hizmet kullanılabilirliği izleme

Kimlik Doğrulamalı Ping

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

Kimlik bilgilerini doğrulayan ve belirtilen kiracı ile projeye erişimi kontrol eden kimlik doğrulamalı bağlantı testi.

İstek

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

Yol Parametreleri

Parametre Tür Gerekli Açıklama
tenantId GUID Evet Kiracı tanımlayıcınız
projectId GUID Evet Proje tanımlayıcınız

Yanıt

Başarılı (200 OK):

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

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

Yetkisiz (401):

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

{authorization hatasını açıklayan hata mesajı}

Kullanım Senaryoları

  • Kimlik doğrulama doğrulaması
  • İzin kontrolü
  • Token geçerliliği testi
  • Kiracı/proje erişim doğrulaması

Uygulama Örnekleri

cURL

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

# Kimlik doğrulamalı 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';

// Yetkisiz 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('Yetkisiz ping:', text);
  return response.ok;
};

// Kimlik doğrulamalı 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('Kimlik doğrulamalı ping:', text);
    return true;
  } else {
    console.error('Kimlik doğrulama başarısız:', 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():
    """Kimlik doğrulama olmadan temel bağlantı testi."""
    url = f'{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/action/unauthorized-ping'
    response = requests.get(url)
    print(f'Yetkisiz ping: {response.text}')
    return response.ok

def authenticated_ping(token):
    """Kimlik doğrulamalı bağlantı testi."""
    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'Kimlik doğrulamalı ping: {response.text}')
        return True
    else:
        print(f'Kimlik doğrulama başarısız: {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($"Yetkisiz 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($"Kimlik doğrulamalı ping: {content}");
            return true;
        }
        else
        {
            Console.WriteLine($"Kimlik doğrulama başarısız: {response.StatusCode}");
            return false;
        }
    }
}

En İyi Uygulamalar

  • Sağlık Kontrolleri: Otomatik sağlık izleme sistemleri için yetkisiz ping kullanın
  • Ön Kontrol Doğrulaması: Eylemleri yürütmeden önce kimlik bilgilerini doğrulamak için kimlik doğrulamalı ping çağırın
  • Hata Yönetimi: Ağ zaman aşımı ve kimlik doğrulama hatalarını her zaman nazikçe yönetin
  • İzleme: Hizmet kesintilerini erken tespit etmek için ping başarısızlıklarına dayalı otomatik uyarılar kurun