Skip to main content

Acessei, aqui na comunidade o How do I update the record status field via API? onde é exposto como concluir um card via API. 

basicamente você detecta qual o id do preenchimento do campo, o id da label que virará conteúdo desse campo, e envia isso através do parâmetro “statusId”

Até aí tudo bem. Acontece que agora estou tentando enviar isso via requisição http da automação do próprio pipefy (tudo funcionou via postman e graphiql) 

Abri um chamado que está há duas semanas mofando com um atendente mudo. Torço para que alguém na comunidade saiba como fazer isso funcionar. 

No body da requisição, dentro da automação, eu coloquei tanto o json cru quanto o json imbuído por html e nenhuma das duas poções funcionou no body da req. 

 

 

Acessei, aqui na comunidade o How do I update the record status field via API? onde é exposto como concluir um card via API. 

basicamente você detecta qual o id do preenchimento do campo, o id da label que virará conteúdo desse campo, e envia isso através do parâmetro “statusId”

Até aí tudo bem. Acontece que agora estou tentando enviar isso via requisição http da automação do próprio pipefy (tudo funcionou via postman e graphiql) 

Abri um chamado que está há duas semanas mofando com um atendente mudo. Torço para que alguém na comunidade saiba como fazer isso funcionar. 

No body da requisição, dentro da automação, eu coloquei tanto o json cru quanto o json imbuído por html e nenhuma das duas poções funcionou no body da req. 

 

 



Ola ​@LucasJGB você teria a query que utilizou no graphql para eu poder lhe ajudar nessa questão?


no Postman enviei: 
 

//no lucar de [ID_DO_CARD], o id od card para ser concluído
//statusId é o id da label de preenchimento do status do card

mutation {
updateTableRecord(input: {statusId: "324831598", id: "* [ID_DO_CARD] *"}) {
table_record {
title
status {
name
}
}
}
}

respota que recebi foi

{
"data": {
"updateTableRecord": {
"table_record": {
"title": "LUCAS BORGES",
"status": {
"name": "Concluído"
}
}
}
}
}

ao verificar o card no database, de fato, está concluído.

 

tentei tanto adicionar a query em graphiql puro no body da automação (requisição acima) quanto colocar a query embebida de html, gerada pelo próprio postman na hora que fiz a requisição acima:

{"query":"mutation {\r\n  updateTableRecord(input: {statusId: \"324831598\", id: \"ID_DO_CARD
\"}) {\r\n table_record {\r\n title\r\n status {\r\n name\r\n }\r\n }\r\n }\r\n}","variables":{}}

E a resposta que recebi foi

# Status code: `200 (OK)`

---

# Response Headers:

```
alt-svc: h3=":443"; ma=86400
cache-control: max-age=0, private, must-revalidate
cf-cache-status: DYNAMIC
cf-ray: 993089b8ef8ad63b-IAD
connection: close
content-disposition: attachment; filename=pipefy.json
content-type: application/json; charset=utf-8
date: Thu, 23 Oct 2025 10:26:45 GMT
etag: W/"0bb0f6fc0344dc97ab64fcbc04235273"
referrer-policy: strict-origin-when-cross-origin; origin
server: cloudflare
set-cookie: __cfruid=35b26a4f8840ee17eebd56f1c2da490e7596b58d-1761215205; path=/; domain=.pipefy.com; HttpOnly; Secure; SameSite=None; _cfuvid=KEynV_YRt8XWdH7Ketgs1xWvK3RaVjy1GcEwVU3A8Q4-1761215205353-0.0.1.1-604800000; path=/; domain=.pipefy.com; HttpOnly; Secure; SameSite=None
strict-transport-security: max-age=15724800; includeSubDomains; max-age=31536000; includeSubDomains
transfer-encoding: chunked
vary: Accept, Accept-Encoding, Origin
x-content-type-options: nosniff
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 993089b8ef8ad63b-IAD
x-runtime: 0.052995
x-xss-protection: 1; mode=block
```


---

# Response Body:

```
{
"data": {
"updateTableRecord": null
},
"errors": [
{
"message": "Status not found with id: 324831598",
"locations": [
{
"line": 3,
"column": 3
}
],
"path": [
"updateTableRecord"
],
"extensions": {
"code": "RESOURCE_NOT_FOUND",
"correlation_id": "993089b8ef8ad63b-IAD"
}
}
]
}
```

Fala que está ok, mas depois diz que não encontrou o id mencionado e quando abro o database, o registro segue ativo. 

Nos logs de automações, também aparece como se tivesse dado tudo certo.

Estou fazendo autenticação com token de uma conta de super administrador. 

 


Corrigindo: Notei agora que usei a palavra “card” mas estou me referindo a um registro de base de dados. 


Ola ​@LucasJGB utilizei essa query que você me passou para testar no meu pipe 



Esse “Statusid” é o id do status, ou seja o status de concluido é o com final 339355851e o meu status de ativo é com final 339355850. Ou seja dependendo de qual status eu quiser por no meu record do database, eu preciso trocar. Porem é importante saber que esse Status_id é para o meu banco chamado “Funcionarios” 

 

Se eu tentar atualizar outro Database com esse mesmo status ID como por exemplo de “Teams”, ele com certeza vai dar erro pois o status ID de ativo ou concluido é diferente, como por exemplo

 

 

Esse ja é um outro ID veja só no graphiql

 

Então se eu tentar a mesma automação porem com o Status ID igual que é do banco de dados de “Funcionarios” e o id desse card “1124209908” que é de “Teams” dará o erro que você recebeu.

 

 

Veja se o registro que você esta tentando atualizar não é um outro Database, e com isso o Status ID é diferente.


@Alan dOliveira 

Resolvi

 

O Status id estava correto

acontece que, quando tirei o “table_record” e troquei por “clientMutationId”, a automação simplesmente funcionou.

Você saberia dizer a causa? Não entendi, só sei que funcionou. 

 

 


Parece que o problema está no formato do body dentro da automação. No Pipefy, o body precisa estar em JSON puro e o cabeçalho com Content-Type: application/json. Tente enviar o mesmo payload do Postman, mas sem HTML ou variáveis mal formatadas — isso costuma resolver.


Parece que o problema está no formato do body dentro da automação. No Pipefy, o body precisa estar em JSON puro e o cabeçalho com Content-Type: application/json. Tente enviar o mesmo payload do Postman, mas sem HTML ou variáveis mal formatadas — isso costuma resolver.

Já resolvi