Skip to main content
POST
Interogare personalizată în Analytics

Prezentare generală

Analytics API personalizat oferă capabilități flexibile de interogare pentru datele Autocomplete, Chat și Command, cu selections, filtre, agregations și ordonări personalizabile.

Cerere

string
obligatoriu
Cheia dvs. de serviciu cu permisiuni „Analytics Read”
string
Restrânge rezultatele la utilizatorii dintr-un anumit grup (opțional)
array
obligatoriu
Tablou de obiecte de cerere de interogare care definesc datele de preluat

Structura cererii de interogare

Fiecare obiect de cerere de interogare conține:
  • data_source (obligatoriu): Sursa de date pentru interogare
  • selections (obligatoriu): Array de selecții de câmp de returnat
  • filters (opțional): Array de filtre de aplicat
  • aggregations (opțional): Array de agregări pentru grupare

Selections

Selections definesc ce câmpuri să fie preluate și cum să fie agregate.
  • field (obligatoriu): Numele câmpului care va fi selectat
  • name (opțional): Alias pentru câmp
  • aggregation_function (opțional): Funcția de agregare care va fi aplicată

Exemplu de selecție

Filtre

Filtrele restrâng datele la elementele care îndeplinesc anumite criterii.
  • name (obligatoriu): Numele câmpului după care se filtrează
  • filter (obligatoriu): Operațiunea de filtrare
  • value (obligatoriu): Valoarea cu care se compară

Exemplu de filtrare

Aggregations

Aggregations grupează datele după criteriile specificate.
  • field (obligatoriu): Numele câmpului după care se face gruparea
  • name (obligatoriu): Alias pentru câmpul de agregare

Exemplu de agregare

Câmpuri disponibile

Date despre utilizator

Toate datele despre utilizator sunt agregate per utilizator, pe oră.

Date Chat

Datele Chat sunt separate de datele Cascade și reflectă utilizarea pluginurilor noastre vechi, non‑agentice
Toate datele Chat reprezintă răspunsuri ale modelului AI din chat, nu întrebările utilizatorilor.

Tipuri de intent Chat

  • CHAT_INTENT_GENERIC - Chat obișnuit
  • CHAT_INTENT_FUNCTION_EXPLAIN - Code Lens pentru explicarea funcției
  • CHAT_INTENT_FUNCTION_DOCSTRING - Code Lens pentru docstringul funcției
  • CHAT_INTENT_FUNCTION_REFACTOR - Code Lens pentru refactorizarea funcției
  • CHAT_INTENT_CODE_BLOCK_EXPLAIN - Code Lens pentru explicarea blocului de cod
  • CHAT_INTENT_CODE_BLOCK_REFACTOR - Code Lens pentru refactorizarea blocului de cod
  • CHAT_INTENT_PROBLEM_EXPLAIN - Code Lens pentru explicarea problemei
  • CHAT_INTENT_FUNCTION_UNIT_TESTS - Code Lens pentru testele unitare ale funcției

Date despre Command

Datele despre Command includ toate comenzile, inclusiv pe cele respinse. Folosiți câmpul accepted pentru a filtra doar comenzile acceptate.

Surse Command

  • COMMAND_REQUEST_SOURCE_LINE_HINT_CODE_LENS
  • COMMAND_REQUEST_SOURCE_DEFAULT - Utilizare tipică a Command
  • COMMAND_REQUEST_SOURCE_RIGHT_CLICK_REFACTOR
  • COMMAND_REQUEST_SOURCE_FUNCTION_CODE_LENS
  • COMMAND_REQUEST_SOURCE_FOLLOWUP
  • COMMAND_REQUEST_SOURCE_CLASS_CODE_LENS
  • COMMAND_REQUEST_SOURCE_PLAN
  • COMMAND_REQUEST_SOURCE_SELECTION_HINT_CODE_LENS

Surse ale furnizorului

  • PROVIDER_SOURCE_COMMAND_GENERATE - Modul de generare
  • PROVIDER_SOURCE_COMMAND_EDIT - Modul de editare

Date PCW

Date despre Percent Code Written, cu urmărire separată pentru contribuțiile din Autocomplete și Command.

Filtre PCW

Pentru filtrarea după timp în interogările PCW, folosiți start_timestamp și end_timestamp în corpul principal al solicitării.

Exemple de solicitări

Exemplu de date de utilizator

Exemplu de date Chat

Exemplu de date pentru Command

Exemplu de date PCW

Răspuns

array
Tablou de rezultate de interogare, câte unul pentru fiecare cerere de interogare
array
Tablou de elemente de rezultat
object
Obiect care conține câmpurile selectate și valorile acestora

Exemple de răspuns

Răspuns privind datele utilizatorului

Răspuns de date pentru Chat

Răspuns de date pentru Command

Răspuns de date pentru PCW

Note importante

  • PCW (Percent Code Written) are o variabilitate mare în cadrul aceleiași zile sau pentru același utilizator – agregați pe perioade săptămânale pentru informații mai relevante
  • Toate câmpurile selection trebuie să aibă fie funcții de agregare, fie niciunul (nu se pot combina)
  • Câmpurile cu modelul „distinct_*” nu pot fi utilizate în aggregations
  • Aliasurile câmpurilor trebuie să fie unice în toate selections și aggregations
  • Dacă nu este specificată nicio funcție de agregare, valoarea implicită este UNSPECIFIED