Web開発
ブラジルの経済における全ての請求書はSOAP 1.2で稼働している。我々はそれを全てマッピングした
Every invoice in Brazil's economy runs on SOAP 1.2. We mapped it all (github.com)
要約
この記事は、ブラジルの電子請求書システム全体が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ライセンス。