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:
CODEBLOCK0
Common queries
List trainees (stagiaires)
CODEBLOCK1
Search trainee by name
CODEBLOCK2
List training sessions
CODEBLOCK3
List programs
CODEBLOCK4
List invoices
CODEBLOCK5
List trainers (formateurs)
CODEBLOCK6
Training session details
CODEBLOCK7
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
Digiforma GraphQL API
Digiforma 是一个法国培训管理平台(centre de formation)。通过 GraphQL 进行查询。
身份验证
所有请求均使用 Bearer token 认证。API 密钥存储在环境变量 DIGIFORMAAPIKEY 中。
端点
POST https://app.digiforma.com/api/v1/graphql
如何查询
使用 curl:
bash
curl -s -X POST https://app.digiforma.com/api/v1/graphql \
-H Content-Type: application/json \
-H Authorization: Bearer $DIGIFORMAAPIKEY \
-d {query: YOURGRAPHQLQUERY}
常用查询
列出学员(stagiaires)
graphql
{ trainees(perPage: 20, page: 1) { items { id firstName lastName email phone } pagination { totalItems totalPages } } }
按姓名搜索学员
graphql
{ trainees(perPage: 10, page: 1, search: NOM) { items { id firstName lastName email phone } } }
列出培训课程
graphql
{ trainingSessions(perPage: 20, page: 1) { items { id name status startDate endDate program { name } } pagination { totalItems totalPages } } }
列出培训项目
graphql
{ programs(perPage: 20, page: 1) { items { id name duration } pagination { totalItems totalPages } } }
列出发票
graphql
{ invoices(perPage: 20, page: 1) { items { id number amount status dueDate company { name } } pagination { totalItems totalPages } } }
列出培训师(formateurs)
graphql
{ trainers(perPage: 20, page: 1) { items { id firstName lastName email } pagination { totalItems totalPages } } }
培训课程详情
graphql
{ trainingSession(id: ID) { id name status startDate endDate program { name } trainees { firstName lastName email } trainer { firstName lastName } } }
分页
始终使用 perPage 和 page。检查 pagination.totalPages 以了解是否还有更多页面。
重要说明
- - 所有日期均为 ISO 格式
- 状态值:draft(草稿)、planned(已计划)、ongoing(进行中)、completed(已完成)、cancelled(已取消)
- 大量结果始终进行分页(perPage 最大约 50)
- 对于复杂筛选,将搜索与状态筛选结合使用