Skip to main content
Solved

Query para vincular card


produtos7
Forum|alt.badge.img

Bom dia, gostaria de saber qual a query correta a se usar, para o seguinte cenario

Quando um card é criado no pipe A, eu tenho uma automaçao que cria um Card no Pipe B, com isso tenho os ID do card no PIPE A e no PIPE B, ai eu quero saber qual a query que se usa para vincular o card do PIPE B, no PIPE A, detalhe q eu quero q esse card fique sendo exebido ali no pipefy perto das labels, irei deixar um print do local

 

esse print é do PIPE A. ai eu quero fazer com que o card q foi criado no PIPE B, seja exibido aqui, eu queria fazer isso sem ter q criar um novo campo de conexao no pipe A, pq acredito q esse campo ja seria de conexao

Best answer by Felipe Alves

@produtos7, tudo bem? 

Gravei um vídeo explicando de forma mais detalhada sobre a criação de uma conexão entre os pipes e em seguida entre os cards. 

Querys usadas:
 

#Criar relação entre pipes


mutation{
 createPipeRelation(input:{
  childId: xxx
  parentId: xxx
  name: "Nome"
  canConnectExistingItems: false
  canConnectMultipleItems: true
  canCreateNewItems: false
	autoFillFieldEnabled: false
  allChildrenMustBeDoneToFinishParent: false
  allChildrenMustBeDoneToMoveParent: false
  childMustExistToFinishParent: false
  childMustExistToMoveParent: false
})
  {
    clientMutationId
    pipeRelation{
      id
    }
  }
}


  childId: ID do Pipe B
  parentId: ID do Pipe A
  name: Nome que gostaria de dar para a conexão que será criada

#Criar relações entre cards: 



mutation {
createCardRelation(input: {
parentId : xxx,
childId : xxx,
sourceType : "PipeRelation",
sourceId : xxxx
}) {
clientMutationId
}
}


parentId : ID do Card no Pipe A
childId : ID do card no Pipe B
sourceId : ID gerado pela criação da conexão entre os pipes A e B



→ Vídeo [Vídeo in Portuguese] ← 
 

Explicação do vídeo

Você precisa pegar o ID do Pipe A e B, incluir o nome da conexão que você gostaria de chamar e decidir se deseja ativar algumas das opções avançadas na conexão.

Uma vez criada a conexão entre os pipes, será retornado o ID da relação entre os pipes. 

Depois você irá executar a mutation createCardRelation, incluindo o ID do card no Pipe A e do card no Pipe B, e incluindo o ID gerado na criação da relação entre pipes para poder fazer referência à qual conexão os cards devem pertencer.

Caso ainda exista alguma dúvida, fique a vontade para perguntar. 😀

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

8 replies

Leandro Almeida
Pipefy Staff
Forum|alt.badge.img+7

Olá @produtos7, tudo bem? 

 

Você chegou a conferir se a automação rodou e criou o card no Pipe B, porque se as conexões estiverem ok, a automação gerando o card filho certinho, o card precisa aparecer ali na aba da Conexão onde o seu print mostra. 

por exemplo: 

Verifica, por favor, caso esteja tudo certinho e ainda sim não apareça o card ali, me retorne. Ok? 

 

Até mais 


produtos7
Forum|alt.badge.img
  • Author
  • New Member
  • 9 replies
  • May 10, 2024

@Leandro Almeida , mas qual seria a correta query GraphQl para fazer esse vinculo? pq eu normalmente, faço da seguinte forma

crio um card no PIPE B a parte, e Crio um Campo no PIPE A de vinculo, onde eu salvo o ID do Card do PIPE B, que foi gerada a parte neste campo do PIPE A de vinculo, mas eu gostaria de saber se tem uma forma de fazer, sem ter q criar esplicitamente um campo de vinculo no PIPE A


Lais Laudari

@Leandro Almeida conseguiria nos dar um help aqui?😀


Leandro Almeida
Pipefy Staff
Forum|alt.badge.img+7

Oi @produtos7 tudo bem? 

 

Se o Pipe A estiver conectado com o Pipe B e o Pipe B, estiver conectado com o Pipe A, esse vinculo é natural, não seria preciso uma mutation, para que isso ocorra: 

Card pai: 

Card filho: 

 

Não sei se era exatamente assim que deseja que aconteça? 


Felipe Alves
Pipefy Staff
  • Enterprise Support Analytics
  • 27 replies
  • Answer
  • May 15, 2024

@produtos7, tudo bem? 

Gravei um vídeo explicando de forma mais detalhada sobre a criação de uma conexão entre os pipes e em seguida entre os cards. 

Querys usadas:
 

#Criar relação entre pipes


mutation{
 createPipeRelation(input:{
  childId: xxx
  parentId: xxx
  name: "Nome"
  canConnectExistingItems: false
  canConnectMultipleItems: true
  canCreateNewItems: false
	autoFillFieldEnabled: false
  allChildrenMustBeDoneToFinishParent: false
  allChildrenMustBeDoneToMoveParent: false
  childMustExistToFinishParent: false
  childMustExistToMoveParent: false
})
  {
    clientMutationId
    pipeRelation{
      id
    }
  }
}


  childId: ID do Pipe B
  parentId: ID do Pipe A
  name: Nome que gostaria de dar para a conexão que será criada

#Criar relações entre cards: 



mutation {
createCardRelation(input: {
parentId : xxx,
childId : xxx,
sourceType : "PipeRelation",
sourceId : xxxx
}) {
clientMutationId
}
}


parentId : ID do Card no Pipe A
childId : ID do card no Pipe B
sourceId : ID gerado pela criação da conexão entre os pipes A e B



→ Vídeo [Vídeo in Portuguese] ← 
 

Explicação do vídeo

Você precisa pegar o ID do Pipe A e B, incluir o nome da conexão que você gostaria de chamar e decidir se deseja ativar algumas das opções avançadas na conexão.

Uma vez criada a conexão entre os pipes, será retornado o ID da relação entre os pipes. 

Depois você irá executar a mutation createCardRelation, incluindo o ID do card no Pipe A e do card no Pipe B, e incluindo o ID gerado na criação da relação entre pipes para poder fazer referência à qual conexão os cards devem pertencer.

Caso ainda exista alguma dúvida, fique a vontade para perguntar. 😀


produtos7
Forum|alt.badge.img
  • Author
  • New Member
  • 9 replies
  • May 21, 2024

@Felipe Alves , muitoooo obrigado, exclareceu bastante o q eu precisava fazer, muito obrigado mesmo, um ultimo ponto, digamos que o campo da conexao de pipes ja existe, como eu consigo pegar aquele sourceId da conexao entre pipes ? pq da forma q vc fez, vc ja pegou no momento q vc criou a conexao e salvou para usar posteriormente, mas digamos q seja um campo q ja tem um tempo q foi criado, ai deve ter uma outra forma d pegar esse sourceId ne ?


Felipe Alves
Pipefy Staff
  • Enterprise Support Analytics
  • 27 replies
  • May 21, 2024

@produtos7. De nada! 

Sobre sua pergunta e bem simples também.
 

{
  pipe(id: "xxxx") {
    childrenRelations {
      id
      name
      child {
        __typename
        ... on Pipe {
          id
          name
        }
        ... on Table {
          id
          name
        }
      }
    }
  }
}


xxx → ID do Pipe Pai (parentId)


Resultado: 


Caso ainda exista alguma dúvida, fique a vontade para perguntar. 😀


jonatas-cavalcante

Existe uma forma q eu consiga puxar todas informações que existem no pipe B? 
Por exemplo, eu tenho um card que foi criado pelo pipe A, já no pipe B ele possui informações que não tem no pipe A, eu quero puxar tudo que foi adicionado no card do pipe B. Só que não tenho o número de relacionamento do pipe, eu só os Id dos card. Se existir um forma de achar esse id de relacionamento, poderia me dizer?


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