Aplica operações JSON Patch (RFC 6902) no despacho, sem exigir o reenvio do form completo. O servidor lê o estado atual, aplica as operações e persiste — se qualquer operação falhar, nada é escrito.
Use operações test como precondição: elas comparam o valor atual com o que você leu no GET e devolvem 409 se o despacho já mudou.
⚠️ Isso estreita a janela de sobrescrita, não a elimina. A aplicação é read-modify-write no servidor, então dois
PATCHconcorrentes podem passar ambos osteste ambos gravar. Atomicidade real exigiria suporte no core-api.
Só /name e /form... são editáveis (o path é validado contra ^/(form|name)(/|$)). Para trocar o form inteiro, use o PUT.
Security
InternalAuth
PATCH
curl -i -X PATCH \
https://api.producao.aprova.com.br/hub-api/blueprint-post/550e8400-e29b-41d4-a716-446655440000 \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY_HERE' \
-d '{
"ops": [
{
"op": "test",
"path": "/form/formData/0/fieldGroup/0/fieldGroup/3/templateOptions/label",
"value": "Justificativa"
},
{
"op": "replace",
"path": "/form/formData/0/fieldGroup/0/fieldGroup/3/templateOptions/label",
"value": "Justificativa do parecer"
}
]
}'O despacho já com o patch aplicado — serve pra conferir o que entrou
Response
{ "id": "550e8400-e29b-41d4-a716-446655440000", "cityId": 138, "form": {}, "name": "Despacho de Aprovação", "disabled": false, "allowedUserTypes": [ "INTERNAL" ], "statusList": [ {} ], "deadlineFormat": "DAYS", "deadlineValue": "5", "createdAt": "2024-03-15T14:22:10.000Z", "deletedAt": "2024-04-01T10:00:00.000Z", "deleted": false }