digiforma

TotalClaw 作者 totalclaw

通过GraphQL API查询Digiforma培训管理平台。当询问学员、课程、发票、计划、培训师或任何培训数据时使用。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~mibbou-digiforma
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~mibbou-digiforma/file -o mibbou-digiforma.md
## 概述(中文)

通过GraphQL API查询Digiforma培训管理平台。当询问学员、课程、发票、计划、培训师或任何培训数据时使用。

## 原文

# Digiforma GraphQL API

Digiforma is a French training management platform (centre de formation). Query it via GraphQL.

## Authentication

All requests use Bearer token auth. The API key is stored in environment variable `DIGIFORMA_API_KEY`.

## Endpoint

POST https://app.digiforma.com/api/v1/graphql

## How to query

Use curl:
```bash
curl -s -X POST https://app.digiforma.com/api/v1/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGIFORMA_API_KEY" \
  -d '{"query": "YOUR_GRAPHQL_QUERY"}'
```

## Common queries

### List trainees (stagiaires)
```graphql
{ trainees(perPage: 20, page: 1) { items { id firstName lastName email phone } pagination { totalItems totalPages } } }
```

### Search trainee by name
```graphql
{ trainees(perPage: 10, page: 1, search: "NOM") { items { id firstName lastName email phone } } }
```

### List training sessions
```graphql
{ trainingSessions(perPage: 20, page: 1) { items { id name status startDate endDate program { name } } pagination { totalItems totalPages } } }
```

### List programs
```graphql
{ programs(perPage: 20, page: 1) { items { id name duration } pagination { totalItems totalPages } } }
```

### List invoices
```graphql
{ invoices(perPage: 20, page: 1) { items { id number amount status dueDate company { name } } pagination { totalItems totalPages } } }
```

### List trainers (formateurs)
```graphql
{ trainers(perPage: 20, page: 1) { items { id firstName lastName email } pagination { totalItems totalPages } } }
```

### Training session details
```graphql
{ trainingSession(id: ID) { id name status startDate endDate program { name } trainees { firstName lastName email } trainer { firstName lastName } } }
```

## Pagination
Always use perPage and page. Check pagination.totalPages to know if more pages exist.

## Important notes
- All dates are ISO format
- Status values: draft, planned, ongoing, completed, cancelled
- Always paginate large results (perPage max ~50)
- For complex filters, combine search with status filters