-
Notifications
You must be signed in to change notification settings - Fork 0
GraphQL — Queries e Mutations
André Bandeira edited this page Mar 30, 2026
·
5 revisions
Observação: operações autenticadas exigem o header:
Authorization: Bearer <token>
- Login
mutation Login($email: String!, $password: String!) {
login(email: $email, password: $password) {
accessToken
}
}Resposta:
{
"data": {
"login": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
}Ver dados do produtor com seus clientes:
query {
me {
id
nome
email
clientes {
id
nome
email
}
}
}
- Criar Cliente
mutation CreateCliente($input: CreateClienteInput!) {
createCliente(input: $input) {
id
nome
email
telefone
ativo
createdAt
}
}query ListClientes {
listClientes {
id
nome
email
telefone
ativo
createdAt
}
}query ListClientesFiltrados {
listClientes(nome: "João", ativo: true) {
id
nome
email
}
}- Criar Talhão
mutation CreateTalhao($input: CreateTalhaoInput!) {
createTalhao(input: $input) {
id
clienteId
nome
area
localizacao
ativo
createdAt
}
}Variables:
{
"input": {
"clienteId": "ID_DO_CLIENTE",
"nome": "Talhão A1",
"area": 2.5,
"localizacao": "Sítio Bela Vista"
}
}HTTP Header (Playground / Apollo):
{
"Authorization": "Bearer <seu-token-aqui>"
}- Listar Talhões por cliente
query ListTalhoes($clienteId: String!, $ativo: Boolean) {
listTalhoes(clienteId: $clienteId, ativo: $ativo) {
id
clienteId
nome
area
localizacao
ativo
createdAt
plantios {
id
cultura
dataPlantio
fase
}
}
}Variables:
{
"clienteId": "ID_DO_CLIENTE",
"ativo": true
}- Criar Plantio
mutation CreatePlantio($input: CreatePlantioInput!) {
createPlantio(input: $input) {
id
cultura
dataPlantio
fase
}
}Variables:
{
"input": {
"talhaoId": "ID_DO_TALHAO",
"clienteId": "ID_DO_CLIENTE",
"variedade": "Maracujá Roxo",
"dataPlantio": "2025-01-15",
"quantidadeMudas": 200
}
}- Avançar fase do plantio
mutation AdvanceFasePlantio($input: AdvanceFasePlantioInput!) {
advanceFasePlantio(input: $input) {
id
fase
}
}Variables:
{
"input": {
"talhaoId": "ID_DO_CLIENTE",
"clienteId": "ID_DO_CLIENTE",
"plantioId": "ID_DO_PLANTIO",
"novaFase": "DESENVOLVIMENTO"
}
}- Registrar colheita
mutation RegisterColheita($input: RegisterColheitaInput!) {
registerColheita(input: $input) {
id
data
quantidade
}
}- Listar colheitas por plantio
query ListColheitas($plantioId: String!) {
listColheitas(plantioId: $plantioId) {
id
data
quantidade
}
}Variables:
{
{ "plantioId": "ID_DO_PLANTIO" }
}
Observação: use variáveis e o playground para testar com `Authorization` quando necessário.