Haal projectactiviteit feeds op en monitor ze met behulp van de Blue API.


Haal Project Activiteit Op

De activityList query biedt toegang tot een uitgebreide activiteit feed voor projecten en bedrijven. Activiteiten worden automatisch gegenereerd wanneer gebruikers acties uitvoeren zoals het aanmaken van taken, opmerkingen of het aanbrengen van wijzigingen in projecten.

Basis Voorbeeld

query ProjectActivity {
  activityList(
    projectId: "your-project-id"
    first: 20
    orderBy: createdAt_DESC
  ) {
    activities {
      id
      category
      html
      createdAt
      createdBy {
        id
        name
        email
      }
      project {
        id
        name
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
    totalCount
  }
}

Geavanceerd Voorbeeld met Filtering

query FilteredActivity {
  activityList(
    companyId: "your-company-id"
    categories: [CREATE_TODO, MARK_TODO_AS_COMPLETE, CREATE_COMMENT]
    userIds: ["user1-id", "user2-id"]
    startDate: "2024-01-01T00:00:00Z"
    endDate: "2024-12-31T23:59:59Z"
    first: 50
    orderBy: createdAt_DESC
  ) {
    activities {
      id
      uid
      category
      html
      createdAt
      updatedAt
      createdBy {
        id
        name
        email
      }
      affectedBy {
        id
        name
      }
      todo {
        id
        title
      }
      comment {
        id
        text
      }
      project {
        id
        name
        slug
      }
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount
  }
}

Invoervelden

activityList Query

Parameter Type Vereist Beschrijving
companyId String Nee Filter activiteiten op bedrijfs-ID of slug
projectId String Nee Filter activiteiten op project-ID of slug
userId String Nee Filter activiteiten op een specifieke gebruiker
userIds [String!] Nee Filter activiteiten op meerdere gebruikers
tagIds [String!] Nee Filter activiteiten op todo-tags
categories [ActivityCategory!] Nee Filter op specifieke activiteitstypen
startDate DateTime Nee Filter activiteiten vanaf deze datum
endDate DateTime Nee Filter activiteiten tot deze datum
skip Int Nee Sla dit aantal records over (offset paginering)
first Int Nee Geef de eerste N records terug (cursor paginering)
last Int Nee Geef de laatste N records terug (cursor paginering)
after String Nee Geef records terug na deze cursor
before String Nee Geef records terug voor deze cursor
orderBy ActivityOrderByInput Nee Sorteervolgorde voor resultaten

ActivityCategory Waarden

Het systeem volgt automatisch verschillende soorten activiteiten:

Categorie Beschrijving
CREATE_TODO Een nieuwe todo/takenlijst is aangemaakt
MARK_TODO_AS_COMPLETE Een todo is gemarkeerd als voltooid
CREATE_COMMENT Een opmerking is toegevoegd
CREATE_DISCUSSION Een discussie is gestart
CREATE_STATUS_UPDATE Een statusupdate is gepost
CREATE_TODO_LIST Een nieuwe takenlijst is aangemaakt
MOVE_TODO Een todo is tussen lijsten verplaatst
COPY_TODO Een todo is gekopieerd
ADD_USER_TO_PROJECT Een gebruiker is aan het project toegevoegd
REMOVE_USER_FROM_PROJECT Een gebruiker is uit het project verwijderd
ARCHIVE_PROJECT Het project is gearchiveerd
UNARCHIVE_PROJECT Het project is gedearchiveerd
CREATE_INVITATION Een gebruiker is uitgenodigd
ACCEPT_INVITATION Een uitnodiging is geaccepteerd
CREATE_CUSTOM_FIELD Een aangepast veld is aangemaakt
RECEIVE_FORM Een formulierinzending is ontvangen

ActivityOrderByInput Waarden

Waarde Beschrijving
createdAt_DESC Meest recent eerst (standaard)
createdAt_ASC Oudste eerst
updatedAt_DESC Meest recent bijgewerkt eerst
updatedAt_ASC Het minst recent bijgewerkt eerst
category_ASC Alfabetisch op categorie
category_DESC Omgekeerd alfabetisch op categorie

Antwoordvelden

Activiteitstype

Veld Type Beschrijving
id ID! Unieke identificatie voor de activiteit
uid String! Alternatieve unieke identificatie
category ActivityCategory! Type activiteit die heeft plaatsgevonden
html String! Rijke HTML-beschrijving van de activiteit
createdAt DateTime! Wanneer de activiteit heeft plaatsgevonden
updatedAt DateTime! Wanneer de activiteit voor het laatst is bijgewerkt
createdBy User! Gebruiker die de actie heeft uitgevoerd
affectedBy User Gebruiker die door de actie is beïnvloed
company Company Geassocieerd bedrijf
project Project Geassocieerd project
todo Todo Geassocieerde todo (indien van toepassing)
todoList TodoList Geassocieerde takenlijst (indien van toepassing)
comment Comment Geassocieerde opmerking (indien van toepassing)
discussion Discussion Geassocieerde discussie (indien van toepassing)
statusUpdate StatusUpdate Geassocieerde statusupdate (indien van toepassing)
metadata String Extra activiteit metadata

ActivityList Antwoord

Veld Type Beschrijving
activities [Activity!]! Array van activiteit records
pageInfo PageInfo! Paginainformatie
totalCount Int! Totaal aantal activiteiten dat overeenkomt met filters

Real-Time Activiteit Updates

Abonneer je op activiteit wijzigingen met behulp van de subscribeToActivity abonnement:

subscription ActivityUpdates($companyId: String!, $projectId: String) {
  subscribeToActivity(companyId: $companyId, projectId: $projectId) {
    mutation
    node {
      id
      category
      html
      createdAt
      createdBy {
        id
        name
        email
      }
      project {
        id
        name
      }
    }
  }
}

Abonnementsparameters

Parameter Type Vereist Beschrijving
companyId String Nee Abonneer op bedrijfsbrede activiteiten
projectId String Nee Abonneer op specifieke projectactiviteiten

Het abonnement zal je op de hoogte stellen van:

  • ACTIVITY_CREATED - Nieuwe activiteiten
  • ACTIVITY_UPDATED - Gewijzigde activiteiten
  • ACTIVITY_DELETED - Verwijderde activiteiten

Filtering en Privacy

Automatische Filtering

De activiteit feed filtert automatisch resultaten op basis van:

  • Projectinstellingen: Toont alleen activiteiten van projecten met geactiveerde activiteit tracking
  • Gebruikersrechten: Verschillende gebruikersrollen zien verschillende activiteitstypen
  • Projectlidmaatschap: Gebruikers zien alleen activiteiten van projecten waartoe ze toegang hebben
  • Bedrijfsleden: Activiteiten zijn beperkt tot de bedrijven van de gebruiker

Privacy Overwegingen

  • CLIENT rol gebruikers hebben beperkte zichtbaarheid in bepaalde administratieve activiteiten
  • Activiteiten respecteren de privacy-instellingen op projectniveau
  • Gevoelige operaties genereren mogelijk geen openbare activiteiten

Fout Antwoorden

Ongeldig Project/Bedrijf

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

Toegang Geweigerd

{
  "errors": [{
    "message": "You do not have permission to view activities for this project",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Ongeldig Datumbereik

{
  "errors": [{
    "message": "Start date must be before end date",
    "extensions": {
      "code": "BAD_USER_INPUT"
    }
  }]
}

Beste Praktijken

  1. Gebruik Paginering: Activiteit feeds kunnen groot zijn, gebruik altijd de first parameter
  2. Filter op Project: Bedrijfsbrede activiteit feeds kunnen overweldigend zijn
  3. Real-time Updates: Gebruik abonnementen voor live activiteit feeds
  4. Datum Filtering: Gebruik datumbereiken voor historische activiteit analyse
  5. Categorie Filtering: Filter op specifieke activiteitstypen voor gerichte feeds
  6. Gebruiker Filtering: Volg specifieke teamleden activiteiten met behulp van userIds

Belangrijke Notities

  • Activiteiten worden automatisch gegenereerd en kunnen niet handmatig worden aangemaakt via de API
  • Activiteitstekst gebruikt HTML-opmaak voor rijke weergave
  • Het text veld is verouderd ten gunste van html
  • Activiteiten worden permanent opgeslagen en bieden een complete audit trail
  • Real-time abonnementen vereisen authenticatie van de WebSocket-verbinding

AI Assistent

Antwoorden worden gegenereerd met behulp van AI en kunnen fouten bevatten.

Hoe kan ik u helpen?

Vraag me alles over Blue of deze documentatie.

Voer in om te verzenden • Shift+Enter voor nieuwe regel • ⌘I om te openen