Sari la conținut

GraphQL API

Utilizați consola de platformăGraphQLAPIla /api/console/v1/graphqlpentru a interoga și muta înregistrările, cu autentificare, scopul organizației și exemplele de copiere și inserare.

Clienții consolei de platformă și de automatizare utilizeazăGraphQLAPIla /api/console/v1/graphql. Schema sa acoperă organizații, cadre, controale, măsuri, riscuri, audituri, confidențialitate, recenzii de acces, Portalul de conformitate, consimțământul pentru cookie-uri, dispozitive și alte resurse de produs.

Pentru aspectul punctului final, identificatorii și clasele de erori partajate între interfețe, consultați API fundamentals.

Creați un token de acces scalabil din meniul contului dvs. OAuth tokensTrimiteți-l ca credențial purtător la fiecare cerere:

POST /api/console/v1/graphql HTTP/1.1
Host: eu.probo.com
Authorization: Bearer <oauth-token>
Content-Type: application/json

Utilizați originea care se potrivește cu implementarea tokenului (https://eu.probo.com, https://us.probo.com, sau originea dvs. auto-gazdă).

Clienții interactivi pot utiliza în schimb fluxuri de autorizare OAuth acceptate. sesiunile SSO și tokenurile SCIM nu sunt înlocuitori ai unui token de acces OAuth.

Trimiteți documenteGraphQLca autentificate POST solicitări cu un corp JSON care conține query și, atunci când este necesar, variables. Utilizați variabile pentru ID-uri și intrări de utilizator în loc să interpolați valori într-un șir de interogări.

{
"query": "query Viewer { viewer { id } }",
"variables": {}
}

Schema este contractul pentru nulitate câmp, tipuri de intrare, enume și paginare. Introspectați implementarea acceptată, mai degrabă decât să copiați câmpuri dintr-o versiune care nu are legătură.

Cele mai multe înregistrări de conformitate aparțin unei organizații. Listați organizațiile la care tokenul poate accesa, apoi transmiteți un ID de organizație în câmpurile și mutațiile acoperite de organizație. Nu presupuneți că un utilizator autentificat poate accesa fiecare organizație pe implementare.

query ListOrganizations {
organizations {
nodes {
id
name
}
}
}
query Organization($id: ID!) {
organization(id: $id) {
id
name
}
}
{
"query": "query Organization($id: ID!) { organization(id: $id) { id name } }",
"variables": { "id": "org_01EXAMPLE" }
}

platforma utilizează ID-uri unice la nivel global care codifică un tip de entitate; tratați-le ca șiruri opace.

Câmpurile de listă utilizează conexiuniGraphQL. Solicitați numai câmpurile de integrare necesare, treceți o valoare limitată first și urmați pageInfo.endCursor în timp ce pageInfo.hasNextPage este adevărat.

Verificați numele câmpurilor de conexiune și argumentele împotriva schemei pentru implementarea dvs. Listele încorporate sub organization(id:) sunt organizate; câmpurile de listă de nivel superior, cum ar fi organizations returnează numai înregistrările la care tokenul poate accesa.

Mutațiile validă autorizarea și starea înregistrării curente. Un răspuns HTTP reușit poate conține încă eroriGraphQL, deci inspectați atât data, cât și errors. Nu repetați erorile nevalide, interzise sau conflictuale fără a schimba cererea.

With curl:

Terminal window
curl https://eu.probo.com/api/console/v1/graphql \
--header "Authorization: Bearer $PROBO_OAUTH_TOKEN" \
--header "Content-Type: application/json" \
--data '{"query":"query Viewer { viewer { id } }"}'

Cu privire la CLI:

Terminal window
prb api 'query { organizations { nodes { id name } } }'
prb api 'query($id: ID!) { organization(id: $id) { name } }' -f id=org_01EXAMPLE

See prb api and CLI configuration pentru utilizarea steagurilor şi stdin.

GraphQLeste un endpoint de versiune, dar schema sa evoluează odată cu lansarea platformei. Generarea tipurilor de clienți din implementarea pe care o vizați și revizuirea modificărilor schemei în timpul upgrade-urilor. operațiunileMCP, CLI șin8nsunt menținute alături deGraphQL, dar capacitățile specifice transportului și timpii de lansare pot diferi.

Atunci când o interfață de nivel superior acoperă deja fluxul de lucru, preferați CLI, MCP, or n8n referințe pentru automatizarea de zi cu zi, și utilizațiGraphQLatunci când aveți nevoie de un client particularizat sau formă de interogare.

Ultima actualizare: