Sygnały biznesowe · EndPoint

EndPoint Sygnałów Biznesowych

Twoja witryna już wie, ilu ma użytkowników, kto zarejestrował się dzisiaj, ile artykułów lub profili istnieje, ile płatności przeszło i co czeka na moderację. Wyślij te dane do jednego EndPoint i obserwuj każdą witrynę, którą prowadzisz, w jednym pulpicie — z alertami o anomaliach, celami i benchmarkiem portfela. To jest EndPoint, a nie widget: serwer-do-serwera, bez danych osobowych, tylko liczby.

01

Co możesz wysłać

Każdy licznik, który nazwiesz. Grupuj go w kategorię, a my go wykresujemy, rozbijemy i będziemy go monitorować dla Ciebie.

Użytkownicy

całkowita liczba użytkowników, rejestracje dzienne, subskrybenci, usunięcia

Treść

materiały według dowolnego typu — artykuły, filmy, profile, ogłoszenia

Przychód

próby płatności, udane płatności, zwroty — plus pochodna konwersja

Moderacja

profile oczekujące na usunięcie, zgłoszone elementy, kolejki recenzji

Opinie

wiadomości z formularza kontaktowego, zgłoszenia wsparcia, NPS

Cokolwiek innego

podaj metrykę, a ona się pojawi — bez konfiguracji z naszej strony

02

EndPoint

POSThttps://astrina.io/endpoint/ingestPrześlij partię sygnałów. Autoryzacja: klucz witryny w nagłówku X-Astrina-Key.
GEThttps://astrina.io/endpoint/pingHeartbeat — zwraca oczekujące polecenia bez wysyłania danych.
GEThttps://astrina.io/endpoint/insightsPobierz obliczone zdrowie tej witryny: aktualne wartości, różnice, cele, alerty i medianę z innych witryn.
POSThttps://astrina.io/endpoint/ackPotwierdź dostarczone polecenie po jego identyfikatorze.
03

Przykłady

curl -X POST https://astrina.io/endpoint/ingest \
  -H "X-Astrina-Key: YOUR_SITE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "signals": [
      { "metric": "users",              "kind": "gauge", "value": 15230, "category": "users" },
      { "metric": "registrations",      "value": 42,     "category": "users" },
      { "metric": "materials", "kind": "gauge", "value": 842, "dim": "article", "category": "content" },
      { "metric": "materials", "kind": "gauge", "value": 301, "dim": "video",   "category": "content" },
      { "metric": "payment_requests",   "value": 18,     "category": "revenue" },
      { "metric": "payment_success",    "value": 11,     "category": "revenue", "unit": "EUR" },
      { "metric": "feedback",           "value": 3,      "category": "feedback" },
      { "metric": "profiles_to_delete", "kind": "gauge", "value": 5, "category": "moderation",
        "good_dir": "down", "attention": true }
    ]
  }'
<?php
// Run this daily (cron) on your own site. Sends only counts — never personal data.
$key = 'YOUR_SITE_KEY';
$payload = ['signals' => [
    ['metric' => 'users',         'kind' => 'gauge', 'value' => usersTotal(),          'category' => 'users'],
    ['metric' => 'registrations', 'value' => registrationsToday(),                     'category' => 'users'],
    ['metric' => 'payment_requests', 'value' => paymentAttemptsToday(),               'category' => 'revenue'],
    ['metric' => 'payment_success',  'value' => paymentsPaidToday(), 'unit' => 'EUR',  'category' => 'revenue'],
    ['metric' => 'feedback',      'value' => feedbackToday(),                          'category' => 'feedback'],
    ['metric' => 'profiles_to_delete', 'kind' => 'gauge', 'value' => deletionQueue(),
        'category' => 'moderation', 'good_dir' => 'down', 'attention' => true],
]];
$ch = curl_init('https://astrina.io/endpoint/ingest');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['X-Astrina-Key: YOUR_SITE_KEY', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_RETURNTRANSFER => true,
]);
$resp = json_decode(curl_exec($ch), true);
// Two-way: act on anything Astrina asks for (e.g. a fresh full snapshot).
foreach ($resp['requests'] ?? [] as $cmd) {
    if ($cmd['cmd'] === 'full_snapshot') { /* push your whole history, then: */ }
    // acknowledge so it is not re-sent:
    // curl https://astrina.io/endpoint/ack  -d '{"id": ' . $cmd['id'] . '}'
}
<?php
// One-off: backfill a year of daily registrations so the charts start full.
$signals = [];
foreach (registrationsByDay('-365 days') as $day => $n) {   // 'YYYY-MM-DD' => int
    $signals[] = ['metric' => 'registrations', 'value' => $n, 'day' => $day, 'category' => 'users'];
}
// up to 2000 points per request
foreach (array_chunk($signals, 2000) as $chunk) {
    postJson('https://astrina.io/endpoint/ingest', ['signals' => $chunk], 'YOUR_SITE_KEY');
}
# Pull this site's computed health BACK (current values, 30-day deltas, target
# progress, open alerts, and the median across YOUR OTHER sites) to show it in-app:
curl "https://astrina.io/endpoint/insights" -H "X-Astrina-Key: YOUR_SITE_KEY"

Zamień YOUR_SITE_KEY na klucz z twojego panelu. Każda strona ma swój własny klucz; autoryzuje tylko przesyłanie danych tej jednej strony.

04

Pola sygnałowe

PoleZnaczenie
metricwymaganeAny key you choose — users, registrations, materials, payment_success… Stored under this key forever.
valuewymaganeThe number. For a gauge it is the current total; for a count it is that period's amount.
kindopcjonalne"gauge" (a snapshot total, e.g. total users now) or "count" (per-day amount, the default).
dayopcjonalneYYYY-MM-DD. Defaults to today. Send past days to backfill; re-sending a day overwrites it.
dimopcjonalneA breakdown value, e.g. the material type "article"/"video". One series per dimension.
categoryopcjonalneusers · content · revenue · moderation · feedback · engagement · custom — groups the metric.
unitopcjonalneA short unit shown next to the number, e.g. "EUR", "GB".
good_diropcjonalne"up" (default), "down" (lower is better, e.g. a deletion queue) or "none".
attentionopcjonalnetrue pins the metric to the cross-site cockpit as a "needs clearing" number.
eventopcjonalnetrue + a count with no day increments today instead of overwriting it.
05

Dwukierunkowy z założenia

Polecenia z powrotem

Każde przesłanie zwraca wszelkie polecenia, które umieściłeś w panelu — np. „prześlij pełny zrzut”. Twoja strona je wykonuje i potwierdza.

Wgląd z powrotem

Wywołaj /endpoint/insights, aby pokazać swoje własne dane na żywo, cele i powiadomienia w panelu administracyjnym.

Wskaźnik portfela

Zwracamy medianę każdego wskaźnika wśród twoich innych stron, aby strona mogła pokazać, jak wypada w porównaniu do reszty.

Monitorowanie anomalii

Obserwujemy ostre spadki, skoki, cichą integrację i lejek płatności, który przestaje konwertować — i oznaczamy je.

EndPoint Sygnałów Biznesowych

Na co odpowiada ta strona

  • endPoint Sygnałów Biznesowych
  • endPoint Sygnałów Biznesowych przewodnik
  • endPoint Sygnałów Biznesowych wyjaśnione
  • endPoint Sygnałów Biznesowych samouczek
  • rozpoczęcie pracy z EndPoint Sygnałów Biznesowych
  • najlepsze praktyki EndPoint Sygnałów Biznesowych
  • endPoint Sygnałów Biznesowych krok po kroku
  • co to jest EndPoint Sygnałów Biznesowych
  • endPoint Sygnałów Biznesowych dla początkujących
  • lista kontrolna EndPoint Sygnałów Biznesowych
  • przykłady EndPoint Sygnałów Biznesowych
  • dlaczego EndPoint Sygnałów Biznesowych ma znaczenie