Bom dia. Estou trabalhando com ‘cards’ que possuem muitos campos (+30) e na API não retorna todos os campos do ‘card’. Gostaria de saber como faço para recuperar todos os campos ou selecionar apenas os necessários?
Consulta utilizada:
query MyQuery {
allCards(pipeId: ####) {
edges {
node {
fields {
field {
id
}
name
value
}
id
title
}
}
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
}
}
Page 1 / 1
Olá Joel, tudo bem?
Esse é o comportamento esperado da funcionalidade. Não são retornados todos os cards pois temos uma paginação. São 50 cards por pipe ou 30 por fase. Para pegar todos os cards, você deve primeiro fazer essa query:
query MyQuery {
allCards(pipeId: 302720896, first: 50) {
pageInfo {
endCursor
hasNextPage
hasPreviousPage
startCursor
}
edges {
node {
title
id
fields {
name
value
field {
id
internal_id
}
}
}
}
}
}
Em seguida, pode usar o ID retornado pelo endCursor para pegar a próxima página:
E o hasNextPage vai te mostrar se existem mais páginas.
@diogo.pessoa sobre a paginação estou ciente. O problema são os campos do card que não retornam todos.
Obrigado pela disponibilidade.
Olá, Joel. Tudo bem?
O lado bom de utilizar o graphiql, que você puxa somente as informações que você precisa. Para o seu caso, você sempre precisara informar quais informações você quer que o query, mostre para você.
query MyQuery {
allCards(pipeId: ####) {
edges {
node {
fields {
field {
id
}
Exemplo ali depôs do node você utilizou o Fields {field {id. Se você estiver utilizado pela próxima URL que a pipefy disponibiliza para rodar as querys: https://app.pipefy.com/graphiql
Existe um atalho que basta você clicar no Tecla CTRL + Tecla Espaço, que mostra as opões que você pode utilizar. Com isso, todos os campos que irá aparecer são os que estão disponível para aquela parte da query.
Nesse print mostro o exemplo de utilizando o Tecla CTRL + Tecla Espaço ele mostra todas as opções que posso utilizar naquele fields.
Caso ainda tenha dúvida sobre esse caso, só mandar aqui.