Changelog
Everything that changed in v1, newest first.
What counts as a breaking change
Only breaking changes force a new version. This is the line:
| Change | Breaking? |
|---|---|
| New field in a response | No — ignore what you do not use |
| New optional field accepted in a request | No |
| New endpoint | No |
| A field disappears or changes type | Yes |
| A field changes meaning | Yes, and the worst kind — nothing errors |
| A route is renamed | Yes |
A breaking change becomes v2, and v1 stays up. You should never have to migrate at the same moment your server is upgraded.
2026-09-18 — routes and fields in English
Breaking, and the only time it will happen without a v2. Until today the only consumer of this API was our own Connector, in the same repository, so the rename cost nobody anything. Once you have written code against it, a change like this becomes a v2.
| Was | Is now |
|---|---|
/api/v1/integracao/conexao | /api/v1/integration/connection |
/api/v1/integracao/pecas/arquivo | /api/v1/integration/pieces/import |
/api/v1/integracao/situacao | /api/v1/integration/production-status |
multipart field arquivo | file |
codigoBarra, desfecho, motivo | barcode, outcome, reason |
CRIADA, IGNORADA, RECUSADA | CREATED, IGNORED, REJECTED |
AGUARDANDO, ATRASADA, CONCLUIDA | WAITING, LATE, DONE |
POST /api/v1/integracao/pecas was removed. The single-piece endpoint had no consumer. If you need to push pieces one at a time rather than in a file, ask — it comes back as a documented endpoint rather than an accident.
The CSV column names did not change. CodigoBarra, Largura, Espessura stay as they are: spreadsheets already in use keep working.
2026-09-18
Numbers with a comma are read correctly. A measurement written 6,5 was being read as 65, because the comma was treated as a thousands separator. Thickness, width, height and quantity are affected, in all three file formats.
Unreadable numbers now refuse the piece with a reason, instead of becoming 0 in a measurement or 1 in a quantity. See how numbers are read.
If your system sends 1.234 meaning one thousand two hundred and thirty-four, that value is now refused as ambiguous — send 1234.
Fractional thickness works in spreadsheets. Excel files read thickness as a whole number, so 6.5 mm glass could not be imported at all, not even written with a dot.
2026-09-17
Cancelled pieces are refused instead of created active. Inativa=True was read from the file and then dropped: the piece was created active, got a production route and entered the cutting plan, while the response said CREATED.
It now returns REJECTED and stores nothing — not the piece, not the glass type or customer it would have created. See cancelled pieces.
The deadline your system sends is preserved. A piece created through the single-piece endpoint had its dataFinalizacao overwritten with the moment of the request. An order due at the end of the year was born overdue on the same day.
Both service separators are accepted. The single-piece endpoint required a semicolon while the refusal message itself showed commas. Both now work.
2026-09-16
The integration surface was published, with the guarantees described here: one API key per installation, three outcomes per piece, and per-piece transactions on file import.
Before this, a resend returned success silently, with no way to tell "created" from "already existed".