query-dispatcher cria a tarefa na fila cenprot-service com a URL URL_CENPROT_SERVICE (= <URL do Motor>/tasks/cenprot), um target por tarefa, e o Cloud Tasks chama esta rota. Só a conta de serviço do Cloud Tasks chama: token OIDC configurado na fila, audience conferido.tax_id) e marca o serviço cenprot como EM_PROGRESSO. Query inexistente → 404, sem DLQ.cenprot → fecha de novo com HandleFinishQueryService, 200. Refund em REEMBOLSO → volta o serviço para FALHOU, 200. Nos dois casos, sem consultar o fornecedor.cenprot por { clientId, queryId } e só depois chama HandleFinishQueryService (FINALIZADO). 200.errorCode no item cenprot de Queries e lança. A lib responde 500. Na última tentativa (X-CloudTasks-TaskRetryCount ≥ max_attempts − 1), publica antes em dlq-save-data, e o update-failed estorna e marca FALHOU.cenprot-service tem exatamente max_attempts tentativas e despacho abaixo de 15/s.Authorization: ********************FINALIZADO gravado agora, ou reentrega de consulta já fechadacurl --location '/tasks/cenprot?service=&query-id=0c3e1b7a-1f2d-4c8e-9a51-7d6b2e4f8a01' \
--header 'X-CloudTasks-TaskRetryCount: 0' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"query_id": "0c3e1b7a-1f2d-4c8e-9a51-7d6b2e4f8a01",
"client_id": "76032905-a28a-4000-9f32-8497ff6477f9",
"company_id": "qJlKXl2vMehd2p4mm3Kx",
"targets": [
{
"product_code": "avulso-cenprot",
"service_code": "cenprot",
"payload": {
"tax_id": "12345678901",
"is_digital_register": false
},
"max_attempts": 5
}
]
}'