<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>idworks API · Changelog</title>
        <link>https://help.idworks.com.br/changelog</link>
        <description>Mudanças e novidades na API pública idworks</description>
        <lastBuildDate>Thu, 06 Aug 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>pt-BR</language>
        <copyright>Copyright © 2026 idworks.</copyright>
        <item>
            <title><![CDATA[v1.4 — Envio de arquivo em duas etapas, campos novos e erros literais]]></title>
            <link>https://help.idworks.com.br/changelog/v1-4</link>
            <guid>https://help.idworks.com.br/changelog/v1-4</guid>
            <pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Atualização do contrato a partir das mudanças de comportamento dos handlers]]></description>
            <content:encoded><![CDATA[<p>Atualização do contrato a partir das mudanças de comportamento dos handlers
(baseline 20/07 → 06/08), com <strong>auditoria completa</strong> das 22 famílias de endpoints
tocadas no período. Destaques: o <strong>envio de planilha em duas etapas</strong> passou a ser
documentado, vários campos de resposta que já eram devolvidos entraram nos schemas,
e cerca de 80 operações tiveram a <strong>lista literal de mensagens de erro</strong> corrigida ou
criada.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-added">✨ Added<a href="https://help.idworks.com.br/changelog/v1-4#-added" class="hash-link" aria-label="Link direto para ✨ Added" title="Link direto para ✨ Added" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong><code>POST /sku/template</code> e <code>POST /orders/template</code> e <code>POST /job</code></strong> — documentado o
<strong>fluxo de envio de arquivo em duas etapas</strong>, que já é o usado pelo produto e não
existia no contrato: <code>Action=RequestUploadUrl</code> devolve <code>UploadUrl</code>, <code>Key</code>, <code>Method</code>,
<code>Headers</code> (obrigatórios no envio), <code>SizeBytes</code> e <code>ExpiresIn</code>; em seguida
<code>Action=ConfirmUpload</code> com o <code>Key</code> cria o processamento. O envio direto por
<code>multipart/form-data</code> continua válido. Reenviar o mesmo arquivo é idempotente:
devolve o <code>IDJob</code> já existente.</p>
</li>
<li class="">
<p><strong>Campos novos de resposta</strong> — todos <code>nullable</code>. Já eram retornados pela API; só não
estavam no contrato:</p>
<table><thead><tr><th>Operação</th><th>Campos</th><th>Observação</th></tr></thead><tbody><tr><td><code>POST /user/signin/local</code></td><td><code>ToursSeen</code> · <code>Origin</code></td><td></td></tr><tr><td><code>GET /user/privilege</code> · <code>GET /user/{iduser}</code></td><td><code>ToursSeen</code></td><td></td></tr><tr><td><code>GET /hub/order/claim/{idhuborderclaim}</code></td><td><code>ClaimAffectsReputation</code></td><td><strong>Não é booleano</strong>: <code>1</code> não afeta, <code>2</code> afeta, <code>3</code> não se aplica, <code>0</code> o canal não informou, <code>null</code> a consulta falhou</td></tr><tr><td><code>GET /orders/hub/{idorder}</code> · <code>GET /hub/order/{idintegration}</code></td><td><code>SalesChannelLogoUrl</code> · <code>IDConsumer</code> · <code>Index</code></td><td></td></tr><tr><td><code>GET /orders/hub</code> · <code>GET /company/dashboard/order/status</code></td><td><code>StatusColorCode</code></td><td></td></tr><tr><td><code>GET /sku/distribution-center</code></td><td><code>DistributionCenterIDConsumerList</code> · <code>DistributionCenterConsumerList</code> · <code>IDStockKeepingUnitWarehouseBestBeforeDays</code> · <code>WarehouseBestBeforeDaysName</code></td><td></td></tr><tr><td><code>GET /type/order/payment/{idtypepayment}/rate</code></td><td><code>AdditionalBusinessDays</code> · <code>AdditionalBusinessDaysPosition</code> · <code>NfTPag</code> · <code>NfTBand</code> · <code>RefundMethod</code></td><td>Em <code>AdditionalBusinessDaysPosition</code>: <code>1</code> início, <code>2</code> final</td></tr><tr><td><code>GET /sku/inventory-summary/{idstockkeepingunitinventorysummary}</code></td><td><code>ItemsCount</code> · <code>HasNextPageItems</code> · <code>InventoryLogs</code></td><td></td></tr><tr><td><code>GET /sku</code></td><td><code>QtyReserved</code> · <code>QtyHandling</code> · <code>QtyOnStock</code> · <code>QtyReservedHandling</code></td><td></td></tr><tr><td><code>GET /sku/movement</code></td><td><code>IDCategory</code> · <code>AbcCurve</code> · <code>MainImageThumbnailURL</code> · <code>Category</code> · <code>CategoryTree</code></td><td></td></tr><tr><td><code>GET /fulfillment/packing/picking-list/{idpickinglist}</code></td><td><code>KitBarCodeList</code></td><td>Dentro de cada item</td></tr><tr><td><code>GET /fulfillment/picking/basket</code></td><td><code>IDPickingList</code></td><td>No histórico do cesto</td></tr><tr><td><code>GET /orders/{idorder}</code></td><td><code>ExchangeReceiptBase64Encode</code></td><td></td></tr></tbody></table>
</li>
<li class="">
<p><strong>Query params documentados</strong> — existiam e eram lidos pelo handler, mas não estavam
no contrato:</p>
<table><thead><tr><th>Operação</th><th>Parâmetro</th><th>Para que serve</th></tr></thead><tbody><tr><td><code>GET /orders</code></td><td><code>LastID</code></td><td>Paginação por cursor</td></tr><tr><td><code>GET /orders/hub</code></td><td><code>CreationTimestampFrom</code> · <code>CreationTimestampTo</code></td><td>Recorte por data de criação</td></tr><tr><td><code>PUT /orders/{idorder}</code></td><td><code>Resend</code> · <code>TypeMessage</code></td><td>Reenvio de mensagem ao cliente</td></tr><tr><td><code>GET /accounts/payable</code></td><td><code>IDTypeCostCenter</code></td><td>Filtro por centro de custo</td></tr><tr><td><code>GET /sku/batch</code></td><td><code>IDCompanySalesPolicy</code></td><td>Preço da política informada</td></tr><tr><td><code>GET /type/order/type</code></td><td><code>IsTransfer</code></td><td>Só tipos de transferência</td></tr><tr><td><code>POST /purchase/{idpurchase}/check</code></td><td><code>CreateNewPurchaseSentMore</code></td><td>Recebimento a mais gera novo recebimento</td></tr><tr><td><code>POST /sku/pricing/{idsku}</code></td><td><code>UpdateIfPossible</code></td><td>Atualiza só o que for possível</td></tr></tbody></table>
<p>Além desses, <code>Page</code> foi documentado em cinco listagens que já paginavam sem dizer.</p>
</li>
<li class="">
<p><strong>Request bodies modelados</strong> onde o contrato trazia corpo vazio ou parcial:</p>
<table><thead><tr><th>Operação</th><th>O que entrou</th></tr></thead><tbody><tr><td><code>POST /orders</code></td><td>Corpo completo, com <code>Items[]</code> e <code>Payments[]</code> detalhados</td></tr><tr><td><code>POST /consumer</code> · <code>PUT /consumer/{idconsumer}</code></td><td>Cadastro de cliente</td></tr><tr><td><code>PUT /sku/{idsku}</code></td><td>Cadastro de SKU</td></tr><tr><td><code>POST /supplier</code> · <code>PUT /supplier/{idsupplier}</code></td><td>Cadastro de fornecedor</td></tr><tr><td><code>PUT /purchase/{idpurchase}</code> · <code>POST /purchase/{idpurchase}/check</code></td><td>Recebimento e conferência</td></tr><tr><td><code>POST /sku/pricing/{idsku}</code></td><td>Preços</td></tr><tr><td><code>POST /user/report</code></td><td>Relatório customizado</td></tr><tr><td><code>POST /company/sales-policy</code></td><td>Política comercial</td></tr><tr><td><code>POST /fulfillment/picking</code></td><td>Picking</td></tr><tr><td><code>POST /hub/warehouse</code></td><td>DE-PARA de armazém</td></tr><tr><td><code>POST /user/signin/local</code></td><td>Login</td></tr><tr><td><code>PUT /sku/resupply/{idstockkeepingunitresupplylist}</code></td><td>Ressuprimento</td></tr><tr><td><code>POST /purchase/feed/invoice-xml</code></td><td>Feed de NF-e</td></tr></tbody></table>
</li>
<li class="">
<p><strong><code>400</code> documentado no envio de anexo do Hub</strong> — <code>POST /hub/order/{idintegration}/action/file</code>
e <code>POST /hub/order/claim/{idhuborderclaim}/action/file</code> só declaravam <code>200</code>. Agora
trazem as sete mensagens de recusa: arquivo não enviado, arquivo inválido, falha ao
salvar, recusa do canal por extensão/tamanho, canal sem recurso de anexo, pedido de
integração não localizado e integração não autenticada.</p>
</li>
<li class="">
<p><strong>Enums cruzados com os CSVs canônicos</strong>: tipos de devolução (31 valores) e categorias
e bandeiras de pagamento; CST e modalidade de ICMS na resposta de
<code>POST /tax/{idtaxdepartment}/cfop/{idtax}/interstate</code> e do <code>PUT</code> correspondente;
status de pedido em
<code>GET /company/dashboard/order/status</code>; tipos de SKU em <code>GET /sku</code> e nas demais
listagens; e status de pedido de compra e de reserva no detalhamento de saldo.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-changed">🔄 Changed<a href="https://help.idworks.com.br/changelog/v1-4#-changed" class="hash-link" aria-label="Link direto para 🔄 Changed" title="Link direto para 🔄 Changed" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>GET /sku/balance</code> e <code>GET /sku/{idsku}/warehouse</code></strong> — mudou o significado de
<code>QtyReserved</code> e <code>QtyHandling</code>: pedidos do fluxo de orçamento (<code>50</code>–<code>56</code>) e
<code>23</code> Em espera etiqueta passaram a contar como <strong>reserva</strong>, e <code>97</code> Reversa
finalizada saiu de manuseio. O total (<code>QtyOnStock</code>) não muda — muda a distribuição.</li>
<li class=""><strong><code>GET /accounts/receivable/marketplace-conciliation</code></strong> — os campos <code>*Pct</code> são
<strong>frações de 0 a 1</strong> (<code>0,15</code> = 15%), não percentuais; e o corte de página é aplicado
antes do agrupamento, então uma conciliação pode ficar partida entre duas páginas.</li>
<li class=""><strong><code>PUT /hub/product/{idhubproduct}</code></strong> — com <code>SyncVariations=1</code> a resposta é um
<strong>objeto</strong> (<code>IDHubProduct</code>, <code>TotalUpdates</code>, <code>Results[]</code>), não o anúncio. Falhas
individuais não abortam a sincronização.</li>
<li class=""><strong><code>GET /type/order/payment</code></strong> — com <code>OrderReturn=1</code> a lista começa com um <strong>item
sintético</strong> cujo <code>IDTypePayment</code> é o literal <code>ORIGINAL</code> (deixa de ser numérico).</li>
<li class=""><strong><code>GET /sku/inventory-summary/{idstockkeepingunitinventorysummary}</code> e correlatos</strong> — a lista de <code>Items</code> passou a ser
<strong>paginada em 5000 registros</strong>; use <code>Page</code> e confira <code>HasNextPageItems</code>.</li>
<li class=""><strong><code>GET /sku/production/{idstockkeepingunitproduction}</code></strong> — no detalhe da ordem de
produção, a lista <code>Items</code> é dos <strong>insumos consumidos</strong>, não do que foi produzido; as
descrições dos campos diziam o contrário. Corrigido um a um. O que a ordem produz está
no cabeçalho (<code>IDSku</code>, <code>SkuName</code>, <code>Quantity</code>); <code>Items</code> traz o que saiu do estoque para
fabricá-lo, com custo por linha. Vale para as outras sete operações de produção, que
devolvem o mesmo detalhe.</li>
<li class=""><strong>Cerca de 60 operações</strong> tiveram a lista de mensagens <code>[BadRequest]</code> <strong>criada ou
corrigida</strong> com o texto literal do handler — inclui ~25 correções de acentuação
(<code>esta</code> → <code>está</code>, <code>excluido</code> → <code>excluído</code>, <code>codigo</code> → <code>código</code>) que quebravam
tratamento de erro por comparação de texto.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-fixed">🐛 Fixed<a href="https://help.idworks.com.br/changelog/v1-4#-fixed" class="hash-link" aria-label="Link direto para 🐛 Fixed" title="Link direto para 🐛 Fixed" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>DELETE /accounts/receivable/{idaccountreceivable}/payment/{idaccountpayment}</code></strong> —
a documentação prometia devolver a conta atualizada; o corpo real vem <strong>sempre
vazio</strong> (<code>[]</code>). A exclusão acontece normalmente — refaça o <code>GET</code> para atualizar a
tela. <em>(Defeito de implementação: a recarga usa a chave do lado "a pagar".
Reportado ao time.)</em></li>
<li class=""><strong><code>POST /sku/{idsku}/cost/recalculate</code></strong> — o schema do <code>200</code> documentava
<code>{status, message}</code>, campos que o handler nunca produziu. O corpo real é
<code>{Message}</code> com texto fixo.</li>
<li class=""><strong><code>POST /sku/template</code></strong> — o schema do <code>200</code> documentava o envelope interno da
integração em vez do corpo entregue ao cliente (<code>IDJob</code> + <code>Message</code>).</li>
<li class=""><strong><code>GET /hub/order/claim/{idhuborderclaim}</code></strong> — os valores de <code>ShippingMethod</code> documentados
(<code>carrier</code>, <code>delivered_by_seller</code>) não existem; os reais são <code>mail</code>, <code>entrusted</code>,
<code>personal_delivery</code> e <code>email</code>.</li>
<li class=""><strong><code>PUT /company</code></strong> — <code>SefazAmbienteNF</code>, <code>SefazAmbienteNFC</code> e
<code>SefazAmbienteServiceInvoice</code> estavam marcados como <code>nullable</code> sendo colunas
obrigatórias: enviar <code>null</code> faz a gravação falhar.</li>
<li class=""><strong>4 descrições de operação</strong> que continham texto de instrução em vez do conteúdo
(<code>POST /sku/promotion</code>, <code>PUT /sku/promotion/{idstockkeepingunitpromotion}</code>, abertura e fechamento de caixa)
foram restauradas.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-limpeza-de-contrato">🧹 Limpeza de contrato<a href="https://help.idworks.com.br/changelog/v1-4#-limpeza-de-contrato" class="hash-link" aria-label="Link direto para 🧹 Limpeza de contrato" title="Link direto para 🧹 Limpeza de contrato" translate="no">​</a></h2>
<p>Itens que a auditoria encontrou documentados sem existir no comportamento real.</p>
<ul>
<li class="">
<p><strong><code>500</code> removido</strong> de <code>POST /sku/image/{idsku}</code>, <code>PUT /sku/image/{idsku}/{idimage}</code>,
<code>DELETE /sku/image/{idsku}/{idimage}</code>, <code>PUT /accounts/receivable/{idaccountreceivable}</code>,
<code>GET /fulfillment/picking/basket</code>, <code>PUT /company</code> e
<code>DELETE /consumer/{idconsumer}/voucher/{idconsumervoucher}</code> — nenhum desses fluxos
produz erro com o prefixo que o gateway mapeia para <code>500</code>. O <code>404</code> de
<code>PUT /consumer/{idconsumer}</code> também saiu pelo mesmo motivo.</p>
</li>
<li class="">
<p><code>POST /sku/image/{idsku}</code> declarava corpo no <code>404</code> que a resposta não tem.</p>
</li>
<li class="">
<p><strong><code>POST /sku/production/{idstockkeepingunitproduction}/finish</code></strong> — o formato declarado
do <code>200</code> era um array de arrays que a API nunca devolveu. Passou a declarar o detalhe
do recebimento, que é o que ela retorna de fato — o mesmo formato de
<code>GET /purchase/{idpurchase}</code>.</p>
</li>
<li class="">
<p><strong><code>POST /sku/distribution-center</code> e <code>PUT /sku/distribution-center/{idstockkeepingunitdistributioncenter}</code></strong>,
e o mesmo par em <code>/purchase/schedule</code> — criação e atualização compartilhavam um único
formato de corpo, mas as regras diferem: o que é obrigatório ao criar, e o que a
omissão de um campo significa ao atualizar (apagar × manter). Agora cada uma declara
o seu, e a descrição de cada campo diz o que a omissão faz.</p>
</li>
<li class="">
<p><strong><code>GET /orders/hub</code> e <code>GET /orders/hub/{idorder}</code></strong> — a listagem e o detalhe do pedido
integrado estavam descritos por um formato só, que misturava campos dos dois. Agora
cada uma declara o que realmente devolve, com a parte comum compartilhada; e os blocos
que eram objetos opacos — SKUs, pagamentos, mensagens e reclamações — passaram a
apontar para as descrições que já existiam.</p>
<p>Divergências corrigidas no caminho: <code>ShippingEstimateHandlingLimitDate</code> era <code>date</code> numa
e <code>date-time</code> na outra (vale <code>date-time</code>); <code>OrderId</code> estava <code>nullable</code> sem ser;
<code>QuantityItems</code> era <code>integer</code> numa e <code>number</code> na outra; <code>CompanyIntegration</code> vem nas
duas, não só no detalhe. Entraram <code>StatusColorCode</code> e o enum de <code>IDStatusInvoice</code>.
<strong><code>IDCompany</code> e <code>IntegrationLogoUrl</code> saíram</strong> — eram documentados na listagem e nenhuma
das duas consultas os devolve; o logotipo existe só no detalhe, com o nome
<code>SalesChannelLogoUrl</code>.</p>
<p><code>GET /hub/order/{idintegration}</code> devolve exatamente o mesmo que
<code>GET /orders/hub/{idorder}</code> — era essa duplicidade que mantinha os dois formatos.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-fechado-nesta-leva">✅ Fechado nesta leva<a href="https://help.idworks.com.br/changelog/v1-4#-fechado-nesta-leva" class="hash-link" aria-label="Link direto para ✅ Fechado nesta leva" title="Link direto para ✅ Fechado nesta leva" translate="no">​</a></h2>
<p>Itens que estavam listados como pendentes e foram resolvidos:</p>
<ul>
<li class=""><strong><code>PUT /orders/{idorder}/sku/{idskumovement}</code></strong> não devolve o pedido inteiro: devolve
um array de <strong>um</strong> item, em duas formas conforme a apuração de imposto do pedido. Com
imposto manual, vem o item completo com todo o cadastro do SKU na mesma linha (177
campos); nos demais casos, o mesmo formato de <code>POST /orders/{idorder}/sku</code>, agora com
<code>IDNfCstIbsCbs</code>. Ambas as formas estão declaradas.</li>
<li class=""><strong><code>PUT /orders/{idorder}/payment/{idaccountpayablereceivable}</code></strong> também não devolve o
pedido — a rota é atendida pelo mesmo processo de contas a receber, e o corpo é o
detalhe do título, igual ao de <code>PUT /accounts/receivable/{idaccountreceivable}</code>.</li>
<li class=""><strong>Tipos corrigidos</strong>: <code>IDModuleFavorite</code>, no cadastro de usuário (<code>GET /user/{iduser}</code>
e correlatas), e <code>IDWarehouseHub</code>, no pedido integrado (<code>GET /orders/hub/{idorder}</code>),
são string e não integer.</li>
<li class=""><strong><code>GET /company/dashboard/external</code> e <code>GET /user/signin/external</code></strong> foram descritos no
spec de origem. Eles continuam <strong>fora da referência publicada</strong> por decisão de escopo
(rotas de uso exclusivo do app, na lista de exclusão de <code>prepare-spec</code>) — o registro
serve para quem lê o contrato interno.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-validação-que-virava-erro-de-servidor--corrigido">🐞 Validação que virava erro de servidor — corrigido<a href="https://help.idworks.com.br/changelog/v1-4#-valida%C3%A7%C3%A3o-que-virava-erro-de-servidor--corrigido" class="hash-link" aria-label="Link direto para 🐞 Validação que virava erro de servidor — corrigido" title="Link direto para 🐞 Validação que virava erro de servidor — corrigido" translate="no">​</a></h2>
<p>Afetava <code>POST /job</code>, <code>POST /sku/template</code>, <code>POST /orders/template</code> e
<code>POST /sku/{idsku}/cost/recalculate</code>, que compartilham a mesma função.</p>
<p>As validações dessas rotas encerravam a execução com erro em vez de devolver uma
resposta, e o API Gateway convertia isso em <strong><code>502</code></strong> com o corpo genérico
<code>{"message": "Internal server error"}</code>. Na prática, quem errava o envio de planilha ou a
ação em massa recebia "erro interno" no lugar da mensagem que dizia o que fazer — eram
100 chamadas por semana terminando assim.</p>
<p><strong>Corrigido nesta versão:</strong> as quatro rotas passaram a devolver <code>400</code> de verdade, com o
texto em <code>errorMessage</code>, para todas as validações. O <code>400</code> documentado aqui vale
integralmente; não há mais caso que escape como <code>502</code>.</p>
<p>O mesmo defeito existia, numa única ocorrência, no envio de anexo em mensagem do Hub —
<code>POST /hub/order/{idintegration}/action/file</code> e
<code>POST /hub/order/claim/{idhuborderclaim}/action/file</code> —, na recusa por integração não
autenticada. Também corrigido.</p>
<p>A varredura cobriu as 57 rotas de proxy: as 34 atendidas por PHP já respondiam <code>400</code>
corretamente, e entre as 10 em Node só essas duas funções tinham o problema.</p>
<ul>
<li class="">Nos itens do pedido (<code>GET /orders/{idorder}</code>), o campo <code>ReverseTaxCalculation</code> estava
com a condição invertida: o texto dizia que os impostos somam quando o valor é <code>1</code>, e o
comportamento soma quando é <code>0</code>. Corrigido.</li>
</ul>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[v1.3 — Cargos, jornada de trabalho e templates de tracking]]></title>
            <link>https://help.idworks.com.br/changelog/v1-3</link>
            <guid>https://help.idworks.com.br/changelog/v1-3</guid>
            <pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Atualização do contrato idworks a partir das mudanças de comportamento dos]]></description>
            <content:encoded><![CDATA[<p>Atualização do contrato <code>idworks</code> a partir das mudanças de comportamento dos
handlers (baseline 09/07 → 18/07): novos endpoints de <strong>cargos</strong> (organograma),
corpos de request modelados para endpoints de escrita, novos campos de resposta
e correções de descrição/enum verificadas contra o handler e os CSVs de tipo.
Sem quebras de compatibilidade.</p>
<!-- -->
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-added">✨ Added<a href="https://help.idworks.com.br/changelog/v1-3#-added" class="hash-link" aria-label="Link direto para ✨ Added" title="Link direto para ✨ Added" translate="no">​</a></h2>
<ul>
<li class=""><code>GET /user/tag</code> — lista as tags de acesso de usuário das empresas do token
(filtro opcional <code>IDAcess</code>).</li>
<li class=""><code>GET /user/jobtitle</code> — lista os cargos (organograma) das empresas do token;
filtros <code>IDUserJobTitle</code> e <code>AllStatus</code>.</li>
<li class=""><code>POST /user/jobtitle</code> — cria um cargo (<code>UserJobTitleName</code> obrigatório;
<code>IDUserJobPositionList</code>, <code>IDUserJobTitleUpper</code> opcionais).</li>
<li class=""><code>PUT /user/jobtitle/{idjobtitle}</code> — atualiza um cargo (semântica de omissão:
<code>IDUserJobTitleUpper</code> vazio desvincula o superior; omitido mantém).</li>
<li class=""><code>DELETE /user/jobtitle/{idjobtitle}</code> — remove um cargo.</li>
<li class="">O organograma de cargos e funções está no corpo de resposta dessas operações — a
listagem traz a hierarquia montada, e a edição aceita o cargo superior.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-changed">🔄 Changed<a href="https://help.idworks.com.br/changelog/v1-3#-changed" class="hash-link" aria-label="Link direto para 🔄 Changed" title="Link direto para 🔄 Changed" translate="no">​</a></h2>
<ul>
<li class=""><strong>Cadastro de Usuários</strong> — <code>POST /user</code>, <code>GET</code>/<code>PUT /user/{iduser}</code> e <code>GET /user/menu</code>:
corpo e resposta foram <strong>ampliados com os dados profissionais</strong> (<code>IDUserJobTitle</code>, <code>IDWorkScale</code>, <code>IDUserUpper</code>,
<code>IDModuleCurrent</code> e respectivos nomes, mais <code>IDUserJobPositionCurrent</code>);
<code>GET /user</code> ganhou os filtros <code>Tag</code> e <code>IDModule</code>; <code>PUT /user/{iduser}</code>
reconhece o modo <code>DashboardConfig</code> (resposta <code>Dashboard salvo</code>).</li>
<li class=""><strong>Templates de tracking</strong> — <code>GET</code>/<code>POST /carrier/tracking-template</code> e
<code>PUT /carrier/tracking-template/{idcarriertrackingtemplate}</code>: corpo e resposta
<strong>ampliados</strong> com <code>IDTypeEventTracking</code>, <code>DaysAfterDelivery</code> e os campos
<code>WhatsAppTemplate*</code>; o <code>GET</code> documenta o modo <code>Type=WhatsAppTemplate</code> (retorna um
único template do provedor).</li>
<li class=""><code>PUT /sku/resupply/{idstockkeepingunitresupplylist}</code>: novo parâmetro de query <code>Draft=1</code> (salva rascunho,
resposta <code>"sucesso"</code>) e enum <code>IDTypeResupplyMode</code> (<code>1</code> Individual / <code>2</code>
Agrupado / <code>3</code> Indireto) adicionado ao body — que antes não tinha enum.</li>
<li class=""><code>POST /sku</code>: o corpo ganhou o campo <code>BestBeforeRequired</code> (<code>1</code> exige informar a data
de validade nas movimentações do SKU).</li>
<li class=""><code>POST /consumer/{idconsumer}/address</code>: o corpo ganhou o campo <code>ConsumerEmail</code>.</li>
<li class=""><code>GET /orders/tracking/{idorder}</code>,
<code>GET /fulfillment/packing/picking-list/{idpickinglist}</code> (campos de KIT nos itens) e
<code>GET /tax/{idtaxdepartment}</code>: campos de resposta novos/ajustados.</li>
<li class=""><code>GET /orders</code>, <code>GET /cte</code>, <code>POST /fulfillment/picking</code> e
<code>GET /store-front/cashier/{idbankaccount}</code>: <strong>descrição revisada</strong> para detalhar melhor o
comportamento — sem novos parâmetros nem campos (contrato inalterado). No
<code>GET /cte</code>, o parâmetro <code>IDStatusShippingAuctionDif</code>, o modo
<code>FreightConciliation=1</code> e o schema de resposta <strong>já existiam</strong>.</li>
<li class=""><code>POST /type/order/type</code> e <code>PUT /type/order/type/{idordertype}</code>: descrições e contrato
ajustados.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-fixed">🐛 Fixed<a href="https://help.idworks.com.br/changelog/v1-3#-fixed" class="hash-link" aria-label="Link direto para 🐛 Fixed" title="Link direto para 🐛 Fixed" translate="no">​</a></h2>
<ul>
<li class=""><code>GET</code>/<code>POST /carrier/tracking-template</code> e
<code>PUT /carrier/tracking-template/{idcarriertrackingtemplate}</code>: rótulo do gatilho
<code>IDTypeEventTracking = 4</code> corrigido de "Pagamento aprovado" para <strong>"Pedido
pronto para manuseio"</strong>, e removida a menção incorreta a "pesquisa" no
evento <code>3</code> (Pós-entrega) — conferido em <code>TrackingTemplateModal.jsx</code>.</li>
<li class=""><code>GET /user</code>: descrição de <code>IDCompanyInvoice</code> estava <strong>invertida</strong> — o
parâmetro filtra a <strong>listagem</strong> de usuários por empresa faturadora, não a
apuração de comissão. Corrigida.</li>
<li class=""><code>PUT /user/{iduser}</code>: removido jargão de tabela de log da descrição
(histórico de alteração descrito em linguagem de contrato).</li>
<li class=""><code>PUT /user/jobtitle/{idjobtitle}</code>: descrição de <code>IDUserJobPositionList</code>
corrigida para avisar que <strong>omitir/enviar vazio remove todas as funções</strong>
vinculadas (evita perda de dados silenciosa).</li>
</ul>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[v1.2 — Novos filtros, corpos de request e regras de negócio]]></title>
            <link>https://help.idworks.com.br/changelog/v1-2</link>
            <guid>https://help.idworks.com.br/changelog/v1-2</guid>
            <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Atualização do contrato a partir das mudanças de comportamento dos handlers]]></description>
            <content:encoded><![CDATA[<p>Atualização do contrato a partir das mudanças de comportamento dos handlers
(baseline 26/06 → 09/07): novos filtros de query, corpos de request modelados
do zero para endpoints de escrita, e descrições de regra de negócio revisadas.
Sem quebras de compatibilidade.</p>
<!-- -->
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-added">✨ Added<a href="https://help.idworks.com.br/changelog/v1-2#-added" class="hash-link" aria-label="Link direto para ✨ Added" title="Link direto para ✨ Added" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>GET /orders</code></strong> — novo query param <code>LastID</code>: paginação por cursor/keyset.
Quando informado, ignora o deslocamento de <code>Page</code> e retorna os 2000 pedidos
seguintes com <code>IDOrder</code> maior (ou menor, se <code>OrderBy=DESC</code>) que o valor —
para percorrer grandes volumes de forma incremental.</li>
<li class=""><strong><code>GET /orders/hub</code></strong> — novos filtros <code>CreationTimestampFrom</code> e
<code>CreationTimestampTo</code> (data de criação do pedido no canal de origem, distinta
de <code>DateFrom</code>/<code>DateTo</code>, que filtram a data de registro do staging).</li>
<li class=""><strong><code>PUT /orders/{idorder}</code></strong> — query params <code>Resend</code> e <code>TypeMessage</code>
documentados (reenvio de mensagem/notificação do pedido).</li>
<li class=""><strong><code>POST /fulfillment/picking</code></strong> — novos parâmetros
<code>OriginalPickingListPriority</code>, <code>IgnorePickingPreferenceByAllowResupplyLocation</code>
e <code>PreferLocationMoreQuantity</code> (controle de prioridade e de preferência de
endereço na geração da picking-list).</li>
<li class=""><strong><code>GET /fulfillment/picking/picking-list</code></strong>, <strong><code>GET /carrier/quotation/error</code></strong>,
<strong><code>GET /carrier/quotation/rule</code></strong>, <strong><code>GET /accounts/receivable/marketplace-conciliation</code></strong>
e <strong><code>GET /carrier/tracking-template</code></strong> — parâmetro de paginação <code>Page</code>
documentado.</li>
<li class=""><strong><code>GET /consumer/{idconsumer}</code></strong> — query param <code>IDCompanyInvoice</code>.</li>
<li class=""><strong><code>GET /sku/batch</code></strong> — novo filtro <code>IDCompanySalesPolicy</code>.</li>
<li class=""><strong><code>GET /accounts/payable</code></strong> — novo filtro <code>IDTypeCostCenter</code> (centro de custo).</li>
<li class=""><strong><code>GET /invoice/danfe65</code></strong> — query param <code>InvoiceType</code>.</li>
<li class=""><strong><code>GET /type/order/type</code></strong> — query param <code>IsTransfer</code> (<code>1</code> filtra tipos de
pedido de transferência).</li>
<li class=""><strong><code>GET /store-front/payment</code></strong> — query param <code>DateFrom</code>.</li>
<li class=""><strong><code>POST /purchase/{idpurchase}/receipt</code></strong> — query param
<code>CreateNewPurchaseSentMore</code> (gera novo pedido de compra para o excedente
recebido a mais).</li>
<li class=""><strong><code>POST /sku/pricing/{idsku}</code></strong> — query param <code>UpdateIfPossible</code>.</li>
<li class=""><strong><code>GET /hub/resource/auth</code></strong> — parâmetros de callback de autorização
documentados: <code>IDTypeCompanyIntegration</code>, <code>shop_id</code>, <code>main_account_id</code>,
<code>selling_partner_id</code>, <code>spapi_oauth_code</code>, <code>api_address</code>, <code>url</code>, <code>tempToken</code>,
<code>token</code>, <code>shop</code>.</li>
<li class=""><strong>Request bodies modelados</strong> (antes vazios/parciais):<!-- -->
<ul>
<li class=""><strong><code>POST /orders</code></strong> — corpo completo com os arrays <code>Items[]</code> e <code>Payments[]</code>
detalhados, além do campo novo <code>ShippingEstimateHandlingLimitDate</code>.</li>
<li class=""><strong><code>POST /consumer</code></strong> e <strong><code>PUT /consumer/{idconsumer}</code></strong> — cadastro/edição
de cliente.</li>
<li class=""><strong><code>POST /sku</code></strong> — corpo atualizado, incluindo <code>Composing</code>.</li>
<li class=""><strong><code>POST /purchase/{idpurchase}/receipt</code></strong> — corpo do recebimento.</li>
<li class=""><strong><code>POST /supplier</code></strong> e <strong><code>PUT /supplier/{idsupplier}</code></strong> — cadastro e edição de
fornecedor, com o campo novo.</li>
<li class=""><strong><code>POST /sku/pricing/{idsku}</code></strong> — corpo de preço.</li>
<li class=""><strong><code>POST /user/report</code></strong> — corpo do relatório customizado.</li>
<li class=""><strong><code>PUT /company/sales-policy/{idcompanysalespolicy}</code></strong> — corpo da política comercial.</li>
<li class=""><strong><code>PUT /fulfillment/picking/basket/{idpickinglisbasket}</code></strong> e
<strong><code>PUT /fulfillment/picking/picking-list/{idpickinglist}</code></strong> — corpos do cesto e da
picking-list.</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-changed">🔄 Changed<a href="https://help.idworks.com.br/changelog/v1-2#-changed" class="hash-link" aria-label="Link direto para 🔄 Changed" title="Link direto para 🔄 Changed" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>POST /orders</code></strong> — documentadas mensagens 400 adicionais emitidas pelo
worker: limite de desconto por item excedido, empresa sem armazém padrão,
armazém do item fora do CD do pedido, banco/tipo de pagamento não cadastrado.</li>
<li class=""><strong><code>PUT /orders/{idorder}</code></strong> — nova validação 400 quando <code>Resend=1</code> sem
<code>TypeMessage</code>.</li>
<li class=""><strong><code>POST /purchase/{idpurchase}/receipt</code></strong>, <strong><code>POST /sku</code></strong>, <strong><code>GET /sku</code></strong>,
<strong><code>GET /sku/batch</code></strong>, <strong><code>GET /sku/movement</code></strong>, <strong><code>DELETE /sku/batch/{idsku}/{idbatch}</code></strong>,
<strong><code>GET /accounts/payable</code></strong>, <strong><code>POST /accounts/payable/{idaccountpayable}/file</code></strong>,
<strong><code>GET /invoice/danfe</code></strong>, <strong><code>GET /invoice/danfe65</code></strong>, <strong><code>POST /consumer/{idconsumer}/voucher</code></strong>,
<strong><code>POST /company/bill/{idcompanybilling}/report</code></strong>,
<strong><code>POST /fulfillment/packing/picking-list/{idpickinglist}/merge</code></strong>,
<strong><code>POST/PUT</code> de picking</strong> e <strong><code>PUT /company/sales-policy/{idcompanysalespolicy}</code></strong> —
descrições revisadas para refletir as regras de negócio atuais (bloqueios,
validações e comportamento dos handlers).</li>
</ul>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[v1.1 — Novos campos, filtros e schemas]]></title>
            <link>https://help.idworks.com.br/changelog/v1-1</link>
            <guid>https://help.idworks.com.br/changelog/v1-1</guid>
            <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Atualização do contrato a partir das mudanças de comportamento dos handlers]]></description>
            <content:encoded><![CDATA[<p>Atualização do contrato a partir das mudanças de comportamento dos handlers
das últimas semanas: novos campos de request, novos filtros de query, enums
revisados e um schema novo de movimentação. Sem quebras de compatibilidade.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-added">✨ Added<a href="https://help.idworks.com.br/changelog/v1-1#-added" class="hash-link" aria-label="Link direto para ✨ Added" title="Link direto para ✨ Added" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>POST /accounts/bank-account</code> e <code>PUT /accounts/bank-account/{idbankaccount}</code></strong> —
novo campo <code>IDCompanyIntegrationPix</code> no request body (integração de Pix
vinculada à conta, independente da integração TEF). O <code>PUT</code> passa a
documentar também <code>InitialBalance</code> e <code>InitialBalanceDate</code> (modo de ajuste de
saldo inicial).</li>
<li class=""><strong><code>GET /orders/hub</code></strong> — 24 parâmetros de query agora documentados:
<code>ConsumerNameCorporateName</code>, <code>ConsumerCpfCnpj</code>, <code>ConsumerEmail</code>, <code>Order</code>,
<code>OrderFrom</code>, <code>IDStatusOrder</code>, <code>IDSalesChannel</code>, <code>ShippingId</code>, <code>PackId</code>,
<code>DateFrom</code>, <code>DateTo</code>, <code>IDCompanyIntegration</code>, <code>IDTypeCompanyIntegration</code>,
<code>IDIntegration</code>, <code>Coupon</code>, <code>UtmCampaign</code>, <code>UtmMedium</code>, <code>UtmSource</code>,
<code>UtmiCampaign</code>, <code>UtmiPage</code>, <code>UtmiPart</code>, <code>OrdersNotCreated</code>, <code>Search</code>, <code>Page</code>.</li>
<li class=""><strong><code>GET /purchase</code></strong> — 11 filtros novos, incluindo
<code>StockKeepingUnitPurchaseScheduleStatus</code> (<code>1</code> Recebido, <code>2</code> Agendado,
<code>3</code> Atrasado, <code>4</code> Não agendado), <code>IDOrder</code>, <code>chNFeFrom</code>, <code>NfeNumberFrom</code>,
<code>StartTimeFrom</code>/<code>StartTimeTo</code> e <code>SinceRecordTimestamp</code>. Cada item da lista ganhou
<code>IDStockKeepingUnitPurchaseSchedule</code>.</li>
<li class=""><strong><code>GET /sku/movement</code></strong> — novo modo <code>Type=KardexBatch</code> (Kardex por lote, exige
<code>IDBatch</code>), cujo item traz saldo e custo acumulados por lote; novo filtro de query
<code>IDBatch</code>.</li>
<li class=""><strong><code>POST /hub/resource/{idtypecompanyintegration}</code></strong> — parâmetros de query
<code>IDOrdersCarrierCollectionList</code>, <code>LabelFormat</code> e <code>token</code> documentados.</li>
<li class=""><strong><code>POST /purchase/feed/{idnfevents}/manifest</code></strong> — request body documentado:
<code>Event</code> (<code>210200</code> Confirmação, <code>210210</code> Ciência, <code>210220</code> Desconhecimento,
<code>210240</code> Operação não Realizada) e <code>Comments</code> (mínimo 15 caracteres para o
evento <code>210240</code>).</li>
<li class=""><strong>Campos de resposta novos</strong>, por operação: <code>IDCompanyIntegrationPix</code> e
<code>CompanyIntegrationPix</code> em <code>GET /accounts/bank-account</code>; <code>StatusColorCode</code> (cor do
status do pedido por empresa) em
<code>GET /fulfillment/packing/collection-list/{idorderscarriercollectionlist}</code>,
<code>GET /fulfillment/packing/picking-list/{idpickinglist}</code>,
<code>GET /fulfillment/picking/picking-list/{idpickinglist}</code> e <code>GET /hub/carrier</code>; e
<code>WarehouseName</code>, <code>Status</code>, <code>TypeOrder</code>, <code>StatusOrder</code> e <code>StatusColorCode</code> em
<code>GET /hub/warehouse</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-changed">🔄 Changed<a href="https://help.idworks.com.br/changelog/v1-1#-changed" class="hash-link" aria-label="Link direto para 🔄 Changed" title="Link direto para 🔄 Changed" translate="no">​</a></h2>
<ul>
<li class=""><strong>Enums revisados</strong> contra a base: <code>IDStatusPurchase</code> (<code>0</code>–<code>12</code>) em
<code>GET /purchase</code>; categorias de pagamento TEF (<code>22</code> Crédito, <code>23</code> Débito,
<code>24</code> Pix) em <code>POST /store-front/cashier/{idbankaccount}/payment</code>.</li>
<li class=""><strong><code>400</code> de <code>POST /accounts/bank-account</code> e do <code>PUT</code> correspondente</strong> passa a listar a mensagem
<code>Integração Pix não existe</code>.</li>
<li class="">Descrições de operação atualizadas em <code>GET /orders/hub</code> (busca textual e
modo <code>OrdersNotCreated</code>), <code>GET /sku/movement</code> (modos de <code>Type</code>) e
<code>POST /purchase/feed/{idnfevents}/manifest</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-fixed">🐛 Fixed<a href="https://help.idworks.com.br/changelog/v1-1#-fixed" class="hash-link" aria-label="Link direto para 🐛 Fixed" title="Link direto para 🐛 Fixed" translate="no">​</a></h2>
<ul>
<li class="">Removido o parâmetro de query inexistente <code>IDCompany</code> de
<code>GET /orders/package</code> (o handler não o lê).</li>
</ul>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[v1.0 — Lançamento da documentação pública]]></title>
            <link>https://help.idworks.com.br/changelog/v1-0</link>
            <guid>https://help.idworks.com.br/changelog/v1-0</guid>
            <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Hoje publicamos a primeira versão da referência pública da API idworks.]]></description>
            <content:encoded><![CDATA[<p>Hoje publicamos a primeira versão da <strong>referência pública da API idworks</strong>.
Este portal documenta os endpoints disponíveis para integradores e oferece um
ambiente para testes diretos do navegador.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="o-que-está-disponível-nesta-versão">O que está disponível nesta versão<a href="https://help.idworks.com.br/changelog/v1-0#o-que-est%C3%A1-dispon%C3%ADvel-nesta-vers%C3%A3o" class="hash-link" aria-label="Link direto para O que está disponível nesta versão" title="Link direto para O que está disponível nesta versão" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cobertura-da-api">Cobertura da API<a href="https://help.idworks.com.br/changelog/v1-0#cobertura-da-api" class="hash-link" aria-label="Link direto para Cobertura da API" title="Link direto para Cobertura da API" translate="no">​</a></h3>
<ul>
<li class=""><strong>772 endpoints</strong> documentados a partir do spec OpenAPI 3.0 do idworks</li>
<li class=""><strong>126 schemas</strong> de request/response com tipos, campos obrigatórios e exemplos</li>
<li class=""><strong>28 categorias</strong> com sub-agrupamento automático por recurso
(ex: <code>Accounts ▸ Payable</code>, <code>Sku ▸ Production</code>, <code>Hub ▸ Product</code>)</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="autenticação-integrada">Autenticação integrada<a href="https://help.idworks.com.br/changelog/v1-0#autentica%C3%A7%C3%A3o-integrada" class="hash-link" aria-label="Link direto para Autenticação integrada" title="Link direto para Autenticação integrada" translate="no">​</a></h3>
<ul>
<li class="">Formulário de login na introdução com <code>AccountName + e-mail + senha</code></li>
<li class="">Token JWT obtido via <code>POST /user/signin/local</code> e <strong>aplicado automaticamente</strong>
em todos os endpoints — sem precisar copiar e colar</li>
<li class="">Sessão em memória da aba (não persiste após fechar)</li>
<li class="">Botão "Login" no canto superior direito para trocar de conta sem voltar
para a introdução</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="try-it-send-api-request">Try-it (Send API Request)<a href="https://help.idworks.com.br/changelog/v1-0#try-it-send-api-request" class="hash-link" aria-label="Link direto para Try-it (Send API Request)" title="Link direto para Try-it (Send API Request)" translate="no">​</a></h3>
<ul>
<li class="">Painel à direita de cada endpoint para enviar requests reais</li>
<li class="">Code samples em <strong>cURL, JavaScript, Python, PHP, Go, Ruby, Java e C#</strong></li>
<li class="">URL base por conta (<code>https://{AccountName}.api-idworks.com.br/1.0/</code>) com
variável editável</li>
<li class="">Botão Edit para trocar a conta diretamente sem refazer o login</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="navegação">Navegação<a href="https://help.idworks.com.br/changelog/v1-0#navega%C3%A7%C3%A3o" class="hash-link" aria-label="Link direto para Navegação" title="Link direto para Navegação" translate="no">​</a></h3>
<ul>
<li class="">Busca tipo "Jump to..." com atalho <strong>⌘K / Ctrl+K</strong> indexando 100% do conteúdo</li>
<li class="">Sidebar hierárquica com auto-collapse — só a categoria atual fica aberta</li>
<li class="">Seção <strong>Models</strong> separada no fim com todos os schemas reutilizáveis</li>
<li class="">Tema claro/escuro respeitando <code>prefers-color-scheme</code></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="limites-da-api">Limites da API<a href="https://help.idworks.com.br/changelog/v1-0#limites-da-api" class="hash-link" aria-label="Link direto para Limites da API" title="Link direto para Limites da API" translate="no">​</a></h2>
<ul>
<li class=""><strong>5 requisições/segundo por endpoint por conta</strong> — exceder retorna
<code>429 Too Many Requests</code> com o header <code>Retry-After</code></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="próximos-passos-planejados">Próximos passos planejados<a href="https://help.idworks.com.br/changelog/v1-0#pr%C3%B3ximos-passos-planejados" class="hash-link" aria-label="Link direto para Próximos passos planejados" title="Link direto para Próximos passos planejados" translate="no">​</a></h2>
<ul>
<li class="">Quickstart com fluxo "do zero ao primeiro pedido"</li>
<li class="">Tutorial de webhooks e eventos</li>
<li class="">Exemplos prontos por linguagem (snippets reais, não só schemas)</li>
<li class="">Documentação de paginação e idempotência</li>
</ul>
<p>Encontrou algo errado? Tem sugestão? Manda pra
<a href="mailto:dev@idworks.com.br" target="_blank" rel="noopener noreferrer" class="">dev@idworks.com.br</a>.</p>]]></content:encoded>
        </item>
    </channel>
</rss>