From 4014037e505876ed8c4df229ace3a65092e64ca8 Mon Sep 17 00:00:00 2001 From: Murilo Ijanc Date: Mon, 27 Jul 2026 20:39:38 -0300 Subject: Expose the faixa a missing CEP would have belonged to A CEP that fails is rarely a random number: it is someone who knows the city and guessed the digits, and the classic guess is the -000 that 957 municipalities never received. The API now attaches that municipality to the 404, and a caller left with nothing but "does not exist" cannot tell a typo in a real city from a CEP that was never plausible. It goes in CEPIS-STATUS, not CEPIS-ADDRESS. The call has still failed and the address is still empty; putting a localidade where the address lives would let a caller that forgets to test the status read Areal as the answer to a CEP that does not exist. Parsing is best effort throughout. faixa is omitted rather than sent as null for a band no municipality owns, so its absence is the normal case and there is a flag instead of a marker value; a block that is missing, is not an object, or is short of localidade, uf, cep_ini, cep_fim and ceps is dropped and the not-found comes back clean. Failing a 404 the caller already understands over a decoration on it would be a poor trade. cep_ini and cep_fim are the CEPs that exist, not the bounds the Correios publish, and the span between them is mostly empty -- hence ceps beside them, so the pair is not read as a list. --- src/cepis-request.cob | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/cepis-request.cob') diff --git a/src/cepis-request.cob b/src/cepis-request.cob index b45f5da..30c9477 100644 --- a/src/cepis-request.cob +++ b/src/cepis-request.cob @@ -143,6 +143,8 @@ RESET-STATE. MOVE 0 TO CEPIS-STATUS-HTTP MOVE -1 TO CEPIS-STATUS-RETRY-AFTER-MS MOVE 0 TO CEPIS-STATUS-ATTEMPTS + INITIALIZE CEPIS-FAIXA + SET CEPIS-FAIXA-ABSENT TO TRUE MOVE 0 TO HTTP-STATUS MOVE 0 TO HTTP-BODY-LEN MOVE "N" TO WS-DONE -- cgit v1.3