पल्सर GraphQL API

अपने API कुंजी के साथ /pulsar/graphql पर एक क्वेरी POST करें। एक अनुरोध साइटों → सत्यापन → मॉनिटर्स के माध्यम से चलता है, इसलिए आप एक ही कॉल में ठीक वही फ़ील्ड प्राप्त करते हैं जिनकी आपको आवश्यकता है।

01स्कीमा

GraphQL SDL
type Query {
  me: Member
  network: NetworkStats
  sites: [Site!]!
  site(domain: String!): Site
  shopfront(hash: String!): Shopfront   # verify a hash embedded in an honest-shopfront SVG
}
type Member { id: Int!  email: String!  plan: String }
type NetworkStats {
  devicesLive: Int!   devicesEnrolled: Int!   countries: Int!
  verdicts24h: Int!   ok24h: Int!   okPct: Float   snapshots: Int!
}
type Site {
  id: Int!   domain: String!   title: String   seoScore: Int
  verified: PulsarVerification         # null until the network has checked it
  monitors: [Monitor!]!
  traffic(days: Int = 30): Traffic     # same aggregates the dashboard shows
  leads(days: Int = 30): Leads
  topPages(days: Int = 7, limit: Int = 10): [PageStat!]!
}
type PulsarVerification { verified: Boolean!  checks: Int!  uptimePct: Int  latencyMs: Int  lastCheckedAt: String }
type Monitor {
  id: Int!  name: String!  kind: String!
  up: Boolean   ttfbMs: Int   loadMs: Int   tlsDaysLeft: Int   vantagePoints: Int
  tlsVersion: String   tlsCipher: String   tlsFailure: String   tlsChainIncomplete: Boolean
}
type Traffic {
  days: Int!   visitors: Int!   pageviews: Int!
  avgVisitorsPerDay: Float      # null when there are no days with data
  series: [TrafficDay!]!
}
type TrafficDay { day: String!  visitors: Int!  visits: Int!  pageviews: Int! }
type Leads { total: Int!  unhandled: Int! }
type PageStat { url: String!  views: Int! }
type Shopfront {                      # idea 24: the statement behind a plaque, checked against our ledger
  hash: String!   status: String!     # active | superseded | broken | unknown
  site: String    builtAt: String     currentAt: String   shown: Boolean   # shown = the plaque is served right now
  sigValid: Boolean   digestValid: Boolean   pubkey: String   statement: String   sig: String   verdictRoot: String
  facts: String                       # canonical JSON of the signed figures
}

02उदाहरण क्वेरी

query
{
  network { devicesLive countries verdicts24h okPct }
  sites {
    domain
    traffic(days: 30) { visitors pageviews avgVisitorsPerDay }
    leads(days: 30) { total unhandled }
    topPages(days: 7, limit: 5) { url views }
    verified { uptimePct latencyMs checks }
    monitors { name kind up loadMs tlsDaysLeft }
  }
}

03इसे कॉल करें

curl
curl -s https://astrina.io/pulsar/graphql \
  -H 'X-Api-Key: YOUR_KEY' -H 'Content-Type: application/json' \
  -d '{"query":"{ network { devicesLive } sites { domain verified { uptimePct } } }"}'

केवल पढ़ने के लिए: म्यूटेशन, सब्सक्रिप्शन और फ़्रैगमेंट का समर्थन नहीं किया जाता है। हर संख्या एक वास्तविक डिवाइस-सहमति निर्णय है — एक फ़ील्ड तब शून्य होती है जब नेटवर्क ने अभी तक निर्णय नहीं लिया है। कॉल आपके दैनिक API कोटा के खिलाफ गिनती होती है।

यह पृष्ठ किसका उत्तर देता है

  • साइटों के लिए एक GraphQL क्वेरी
  • क्वोरम निर्णयों की निगरानी करें
  • सभी साइट डेटा के लिए एक क्वेरी
  • Pulsar GraphQL API क्या है
  • कैसे Pulsar GraphQL API काम करता है
  • Pulsar GraphQL API समझाया गया
  • Pulsar GraphQL API गाइड
  • कैसे Pulsar GraphQL API के साथ शुरू करें
  • Pulsar GraphQL API समीक्षाएँ
  • क्या Pulsar GraphQL API इसके लायक है
  • Pulsar GraphQL API की कीमत
  • Pulsar GraphQL API विकल्प
  • शुरुआत करने वालों के लिए Pulsar GraphQL API
  • क्यों Pulsar GraphQL API
  • Pulsar GraphQL API — आपको क्या मिलता है