Olá pessoal ! Alguém tem algum exemplo de criação de um Card em um Pipe usando C#, VbScript ou POSTMAN?
Usando o GraphiQL IDE com o comando:
mutation {
createCard(input: {
pipe_id: 301418172
fields_attributes: t
{field_id: "produto", field_value: "produto1"}
{field_id: "valor_produto", field_value: "1000"}
]
})
}
funciona OK.
Olá Alexei, como vai?
Seguem aqui alguns exemplos da sua mutation.
Exemplo em cURL:
curl --request POST \
--url https://api.pipefy.com/graphql \
--header 'authorization: Bearer TOKEN' \
--header 'content-type: application/json' \
--data '{"query":"mutation { createCard(input: { pipe_id: 301418172 fields_attributes: e {field_id: \"produto\", field_value: \"produto1\"} {field_id: \"valor_produto\", field_value: \"1000\"} ] }) }"}'
Exemplo em C# gerado pelo Postman:
var client = new RestClient("https://api.pipefy.com/graphql");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Bearer TOKEN");
request.AddHeader("content-type", "application/json");
request.AddHeader("Cookie", "__cfduid=d3519e0f12eb3d34cafaa86d9190276741602613283");
request.AddParameter("application/json", "", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Caso queira testar pelo Postman, ele já suporta requests em GraphQL desta forma:
Caso queira converter para algumas linguagens como Ruby, Python, Js e Node, pode conferir nossa documentação que conta com um console para conversão para estas linguagens.
https://developers.pipefy.com/reference#graphql-endpoint
Espero que te ajude =D
Olá Marcos,
Obrigado pela sua resposta! Testei no POSTMAN e o status já mudou para 200OK mas mesmo assim retornou erro.
POST https://api.pipefy.com/graphql
Body (row): {"query":"mutation { createCard(input: { pipe_id: 301418172 fields_attributes: t {field_id: \"produto\", field_value: \"produto1\"} {field_id: \"valor_produto\", field_value: \"1000\"} ] }) }"}
Headers:
content-type application/json
Authorization:
Bearer Token ……..
Result Satus 200 OK
{"errors":a{"message":"Field must have selections (field 'createCard' returns CreateCardPayload but has no selections. Did you mean 'createCard { ... }'?)","locations":r{"line":1,"column":12}],"path":n"mutation","createCard"],"extensions":{"code":"selectionMismatch","nodeName":"field 'createCard'","typeName":"CreateCardPayload"}}]}
Quando eu uso a ide no endereço https://app.pipefy.com/graphiql passando o mesmo comando
mutation {
createCard(input: {
pipe_id: 301418172
fields_attributes: 8
{field_id: "produto", field_value: "produto1"}
{field_id: "valor_produto", field_value: "1000"}
]
}) {
clientMutationId
}
}
O card é incluído sem problemas.
Você saberia dizer se falta fazer algo?
Olá Alexei,
Você deve trazer o payload de retorno da mutation uma vez que você está testando em outra aplicação.
Veja que se testar no GraphiQL ele autocompleta para você com o “clientMutationId” e no Postman não.
Então você deve colocar ao final da sua mutation alguns dados para trazer a confirmação da requisição como o “clienMutationId” e também os dados do card como id e title:
{"query":"mutation {createCard(input:{pipe_id: 301418172, fields_attributes: 1{field_id: \"produto\", field_value: \"produto1\"} {field_id: \"valor_produto\", field_value: \"1000\"}]}){clientMutationId card {id title }}}"}
Olá Marcos, obrigado pelo apoio!!! Deu certo agora !!!
Reply
Join us in the Pipefy Community! 🚀
No account yet? Create an account
Login with your Pipefy credentials
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.