HN 日本語サマリー

← 一覧へ戻る
Web開発

ブラジルの経済における全ての請求書はSOAP 1.2で稼働している。我々はそれを全てマッピングした

Every invoice in Brazil's economy runs on SOAP 1.2. We mapped it all (github.com)

71 pointsby lestx40 コメント

要約

この記事は、ブラジルの電子請求書システム全体がSOAP 1.2上で稼働していることを明らかにし、そのためのPostmanコレクションを紹介しています。このコレクションは、NF-e、NFC-e、CT-e、MDF-eといった主要な電子 fiscal ドキュメントのWebサービスを網羅し、開発者がこれらのシステムと容易に連携できるよう、URL、SOAPエンベロープ、設定方法などを具体的に提供しています。

全文翻訳

Catálogo de Webservices da SEFAZ (coleção Postman)

ブラジルの電子請求書:NF-e (55)、NFC-e (65)、CT-e (57)、MDF-e (58) のウェブサービスに関する、完全で文書化されたPostmanコレクションです。

ファイル:postman/SEFAZ-Webservices-Catalogo.postman_collection.json (5つのフォルダに29項目:モデルごと+イベント参照)

なぜ存在するのか

SEFAZとの統合には、マニュアル(MOC NF-e/NFC-e 4.00、CT-e 4.00、MDF-e 3.00b、NT 2015.002)や認証局のポータルを精査して、URL、SOAPエンベロープ、各サービスの特殊性を発見する必要があります。このコレクションは、それらを準備済みで提供します。各リクエストにはSOAP 1.2エンベロープが組み立てられ、{{}} 変数が使用されています。

2つのDFe配布サービス(CT-eとMDF-e)は、2026年9月12日に本番環境のSEFAZに対して検証済み(cStat 137)で、[OK testado] とマークされています。

Postmanでのセットアップ

  1. Import > postman/SEFAZ-Webservices-Catalogo.postman_collection.json をインポートします。
  2. Certificado (Settings > Certificates > Add Certificate): e-CNPJ A1証明書(.pfx + パスワード)をホストごとに追加します。配布用には、www1.cte.fazenda.gov.br, mdfe.svrs.rs.gov.br, mdfe-homologacao.svrs.rs.gov.br を使用します。
  3. Settings > General: "SSL certificate verification" をオフにします(ICP-Brasilの認証局はPostmanのトラストストアに含まれていません)。
  4. 各リクエストで、URL(説明にあるホモロゲーションまたは本番)を {{url}} 変数にコピーし、cnpj, cUF, tpAmb などを調整して実行します。

規約

  • 名前の [cadeado](南京錠):データXMLにはXMLDSig署名(認証、イベント、無効化)が必要です。PostmanはXMLに署名しないため、これらのサービスには署名ツールまたは独自のコードを使用してください。クエリ、ステータス、配布は署名しません。
  • [OK testado]:SEFAZ(cStat 137)に対して検証済みです。
  • すべてSOAP 1.2:action はヘッダー SOAPAction ではなく、Content-Type で送信されます。

違いでつまずく点(実際のテストで学んだこと)

  • CT-e配布(Ambiente Nacional):distDFeInt に cUFAutor があり、cteDistDFeInteresse > cteDadosMsg のラッパーがあり、cabecMsg がありません。
  • MDF-e配布(SVRS):distDFeInt に cUFAutor がなく(cUF はヘッダーの mdfeCabecMsg にあります)、mdfeDadosMsg がBodyに直接あります。distNSU と consNSU のみがあり(consNSU はありません)。
  • NF-e配布(AN):CT-eと同様(cUFAutor あり)、バージョン1.01です。
  • CT-e 4.00:認証は同期のみ(SincV4/OSV4/GTVeV4);非同期バッチと無効化は全国ロールには存在しません。
  • MDF-e 3.00:GZip+base64エンコードされたデータ領域を持つ同期認証。
  • NFC-e:CSCとQRコード(infNFeSupl)が必要です(SVC(オフライン緊急モード tpEmis=9)はありません);AM/GO/MS/MT/PR/RS/SPの各州には独自の環境があります。

スコープと制限

  • SVRS(ほとんどの州に対応)と、配布用のAmbiente NacionalのデフォルトURL。27州すべてを個別にカバーしていません;独自の認証局(例:NFC-e SP)の場合は、変数でURLを変更してください。
  • イベントは参照フォルダとして含まれています(tpEvento コード);各モデルの RecepcaoEvento 経由で送信されます。

生成方法

真の情報源:gen_inventario.py が inventario.json を生成し、build_collection.py がPostmanの .json を構築します。変更を提案するには、gen_inventario.py を編集し、両方を実行してPRを開いてください。

姉妹リポジトリ

について

Stoix がメンテナンスしています。MITライセンス。