Skip to content

Altera pontos específicos de um despacho

Request

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 PATCH concorrentes podem passar ambos os test e ambos gravar. Atomicidade real exigiria suporte no core-api.

/name e /form... são editáveis (o path é validado contra ^/(form|name)(/|$)). Para trocar o form inteiro, use o PUT.

Security
InternalAuth
Path
idstring, (uuid)required

UUID do despacho

Example:550e8400-e29b-41d4-a716-446655440000
Bodyapplication/jsonrequired
opsArray of objects, non-emptyrequired

Operações JSON Patch, aplicadas em ordem e de forma atômica

PATCH
/hub-api/blueprint-post/{id}
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"
      }
    ]
  }'

Responses

O despacho já com o patch aplicado — serve pra conferir o que entrou

Bodyapplication/json
idstring
Example:"550e8400-e29b-41d4-a716-446655440000"
cityIdnumber
Example:138
formobject
namestring
Example:"Despacho de Aprovação"
disabledboolean
Example:false
allowedUserTypesArray of strings
Example:
[ "INTERNAL" ]
statusListArray of objects
deadlineFormatstring or null
Example:"DAYS"
deadlineValuestring or null
Example:"5"
createdAtstring
Example:"2024-03-15T14:22:10.000Z"
deletedAtstring or null
Example:"2024-04-01T10:00:00.000Z"
deletedboolean
Example:false
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 }