HN 日本語サマリー

← 一覧へ戻る
Web開発

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

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

31 pointsby lestx9 コメント

要約

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

全文翻訳

ブラジルの経済における全ての請求書はSOAP 1.2で稼働している。我々はそれを全てマッピングした SEFAZのWebサービスカタログ(Postmanコレクション) ブラジルの電子 fiscal ドキュメント(NF-e (55)、NFC-e (65)、CT-e (57)、MDF-e (58))のWebサービスに関する、完全で文書化された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に対して検証され、[OK testado]とマークされている。 Postmanでのセットアップ インポート > postman/SEFAZ-Webservices-Catalogo.postman_collection.json。 証明書(Settings > Certificates > Add Certificate):ホストごとにe-CNPJ A1 (.pfx + パスワード) を追加する。配布用には: www1.cte.fazenda.gov.br, mdfe.svrs.rs.gov.br, mdfe-homologacao.svrs.rs.gov.br。 Settings > General:"SSL certificate verification"をオフにする(ICP-BrasilのACはPostmanのトラストストアにない)。 各リクエストで、URL(homologまたはprod、説明からコピー)を{{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が含まれる、wrapperは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のUFは独自の環境を持つ。 スコープと制限 SVRSのデフォルトURL(ほとんどのUFに対応)+ 配布用のAmbiente Nacional。27のUFを個別にカバーしない;独自の認証局(例: NFC-e SP)の場合は、変数のURLを変更する。 イベントは参照フォルダとして存在する(tpEventoコード);それぞれのモデルのRecepcaoEvento経由で送信される。 生成方法 真の情報源:gen_inventario.pyがinventario.jsonを生成;build_collection.pyがPostmanの.jsonを構築する。 変更を提案するには、gen_inventario.pyを編集し、両方を実行してPRを開く。 兄弟リポジトリ ciot-integradoras-postman:CIOT via ANTT (pefServices) および運賃支払いインテグレーター antt-webservices-postman:ANTTのWebサービス(CIOT、RNTRC、オープンデータ) 提供者について Stoixがメンテナンスしています。MITライセンス。