Solved

API para extrair campos específicos dos cards de um pipe

  • 19 January 2023
  • 3 replies
  • 498 views

Badge

Pessoal, boa tarde!

 

Estou com um desafio aqui na empresa e gostaria de pedir a ajuda de vocês.

 

Em resumo, preciso fazer um código em Python que extrai alguns campos específicos dos cards na última fase de um pipe. Seria necessário extrair nome do cliente, e-mail, telefone, entre outros campos que foram preenchidos ao longo da existência do card.

 

Utilizo o Python sempre que é necessário realizar alguma automação na área, mas nunca trabalhei com API, então confesso que estou beeem perdido na documentação hahaha

 

Alguém já fez um programa semelhante e poderia, por gentileza, mandar o racional por aqui?

 

Desde já agradeço demais!

icon

Best answer by rachel-antonini 19 January 2023, 19:46

View original

3 replies

Userlevel 2

Olá, Daniel, tudo bem?

Para usar a nossa API, você precisa ser adm da org, e entrando nesse link você pode usar a query como exemplo 👇 (mostra os campos de um card)

{
 card(id: xxxxx) {
 title
 assignees {
 id
 }
 comments {
 text
 }
 comments_count
 current_phase {
 name
 }
 done
 due_date
 fields {
 name
 value
 }
 labels {
 name
 }
 phases_history {
 phase {
 name
 }
 firstTimeIn
 lastTimeOut
 }
 url
 }
}
 

Espero ter ajudado. :)

 

Badge

Deu certo, muito obrigado!

 

Uma outra dúvida: na query, vieram os links de alguns documentos anexados. Contudo, notei que esses links possuem uma data de validade, não funcionando para cards antigos, por exemplo. Sabe dizer como contornar essa situação? 

 

O link tem esse formato:

https://app-storage-service.pipefy.com/v1/signed/uploads/[valor].pdf?expires_on=[valor]&signature=[valor]"

Olá, Daniel, tudo bem?

Para usar a nossa API, você precisa ser adm da org, e entrando nesse link você pode usar a query como exemplo 👇 (mostra os campos de um card)

{
 card(id: xxxxx) {
 title
 assignees {
 id
 }
 comments {
 text
 }
 comments_count
 current_phase {
 name
 }
 done
 due_date
 fields {
 name
 value
 }
 labels {
 name
 }
 phases_history {
 phase {
 name
 }
 firstTimeIn
 lastTimeOut
 }
 url
 }
}
 

Espero ter ajudado. :)

 

 

Userlevel 7

Olá @daniel_a, tudo bem?
Os links do campo anexo, quando obtidos por API expiram em 15 minutos. quando obtido por email template e relatórios,  os links duram 30 dias. Depois desse período, para ambos casos, é necessário gerar um novo link. Essa é uma questão de segurança!
Para gerar o novo link, no caso dos relatórios basta extrair o relatório novamente. Se for por API é preciso rodar a query novamente para puxar os links do campo anexo.

Espero conseguir ajudar!😀

Reply