Skip to main content
Solved

Filtro de cards em uma determinada fase via request na api


Tenho uma fase em um pipe (que não sou eu que gerencio) na qual eu tenho que consumir todos os cards novos que entrar nessa fase. Porém a query que eu utilizo (phase), me retorna todos os cards e está ficando muito lento, pois todos os dias entrar cards novos. Atualmente eu já tenho todos os cards armazenados na minha base, gostaria de utilizar uma query que me retorne os últimos cards que entraram, por exemplo... de forma descrente pela data que entrou na fase, ou puxa os ultimos 100… não sei. ou uma outra abordagem pra necessidade acima.

Best answer by Lucas Democh

 

Olá @Hugo,

 

Segue abaixo a consulta para extração dos últimos cards:

{ allCards(pipeId: XXXX, last: 50) {
    edges {
      node {
        id
      }
    }
}}

Existe também a opção de consulta dos primeiros: 

{ allCards(pipeId: XXXX, first: 50) {
    edges {
      node {
        id
      }
    }
}}

Recentemente foi lançada a opção de filtro por data de atualização que também pode ser útil no seu caso:

https://community.pipefy.com/api-76/new-graphql-feature-query-filter-cards-by-updated-at-944

 

Boa sorte!

View original
Did this topic help you find an answer to your question?

3 replies

alicereis
Forum|alt.badge.img+5
  • Regular Participant
  • 59 replies
  • March 22, 2022

Olá, @Hugo!

 

Você pode fazer essa leitura dos novos cards através do webhook “moved cards” ou “Done Cards” (caso a fase em questão seja uma fase final) e definir um filtro, para que a sua API seja executada somente se a fase atual corresponder à desejada. Dessa forma os cards serão enviados para a sua base de forma instantânea.

Caso você execute essa query apenas de forma periódica e não seja possível fazer via webhook, eu recomendo que você utilize um integrador que poderá se conectar ao Pipe através do webhook e enviar os dados do card de forma instantânea para a base. Eu recomendo muito o Integromat, através dele é possível também definir a periodicidade e a quantidade de cards que serão lidos pela de forma automática (últimos 100 cards, uma vez ao dia, por exemplo).

 

Me avise se eu puder ajudar com mais algo!


Lucas Democh
Forum|alt.badge.img+15
  • Pipefy Legend
  • 396 replies
  • Answer
  • March 23, 2022

 

Olá @Hugo,

 

Segue abaixo a consulta para extração dos últimos cards:

{ allCards(pipeId: XXXX, last: 50) {
    edges {
      node {
        id
      }
    }
}}

Existe também a opção de consulta dos primeiros: 

{ allCards(pipeId: XXXX, first: 50) {
    edges {
      node {
        id
      }
    }
}}

Recentemente foi lançada a opção de filtro por data de atualização que também pode ser útil no seu caso:

https://community.pipefy.com/api-76/new-graphql-feature-query-filter-cards-by-updated-at-944

 

Boa sorte!


alicereis
Forum|alt.badge.img+5
  • Regular Participant
  • 59 replies
  • March 23, 2022

Muito bom, @Lucas Democh!


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings