{
  "name": "Facture partenaire - Synergieloc",
  "flow": [
    {
      "id": 1,
      "module": "gateway:CustomWebHook",
      "version": 1,
      "parameters": {},
      "mapper": {},
      "metadata": {
        "designer": { "x": 0, "y": 0, "name": "Webhook facture partenaire" }
      }
    },
    {
      "id": 2,
      "module": "util:SetVariables",
      "version": 1,
      "parameters": { "scope": true },
      "mapper": {
        "scope": "roundtrip",
        "variables": [
          { "name": "scope", "value": "{{ifempty(1.scope; efacture)}}" },
          { "name": "event", "value": "{{ifempty(1.event; tiers_invoice_submitted)}}" },
          { "name": "invoice_number", "value": "{{1.invoice_number}}" },
          { "name": "buyer_email", "value": "{{1.buyer_email}}" },
          { "name": "amount_ttc", "value": "{{1.amount_ttc}}" },
          { "name": "supplier_name", "value": "{{1.supplier_name}}" },
          { "name": "pdf_b64", "value": "{{1.facturx_pdf_base64}}" },
          { "name": "pdf_name", "value": "{{ifempty(1.pdf_filename; Facture.pdf)}}" }
        ]
      },
      "metadata": {
        "designer": { "x": 300, "y": 0, "name": "Normaliser champs" }
      }
    },
    {
      "id": 3,
      "module": "http:ActionSendData",
      "version": 3,
      "parameters": { "handleErrors": true },
      "mapper": {
        "url": "https://httpbin.org/post",
        "method": "post",
        "headers": [
          { "name": "Content-Type", "value": "application/json" }
        ],
        "qs": [],
        "bodyType": "raw",
        "contentType": "application/json",
        "parseResponse": true,
        "timeout": "60",
        "rejectUnauthorized": true,
        "followRedirect": true,
        "gzip": true,
        "serializeUrl": false,
        "useMtls": false,
        "authUser": "",
        "authPass": "",
        "shareCookies": false,
        "ca": "",
        "useQuerystring": false,
        "useDigest": false,
        "followAllRedirects": false,
        "requestCompressedContent": false,
        "data": "{\"scope\":\"{{2.scope}}\",\"event\":\"{{2.event}}\",\"invoice_number\":\"{{2.invoice_number}}\",\"buyer_email\":\"{{2.buyer_email}}\",\"supplier_name\":\"{{2.supplier_name}}\",\"amount_ttc\":{{ifempty(2.amount_ttc; 0)}},\"format\":\"factur-x\",\"pdf_base64\":\"{{2.pdf_b64}}\",\"filename\":\"{{2.pdf_name}}\",\"source\":\"synergieloc\"}"
      },
      "metadata": {
        "designer": {
          "x": 600,
          "y": 0,
          "name": "Echo HTTP (remplacer par PDP)"
        }
      }
    }
  ],
  "metadata": {
    "instant": true,
    "version": 2,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true,
      "sequential": false,
      "confidential": false,
      "dataloss": false,
      "dlq": false
    },
    "designer": {
      "orphans": []
    },
    "zone": "eu1",
    "notes": [
      "1) Import Blueprint dans Make.",
      "2) Créer le webhook → coller l'URL dans MAKE_FACTURE_WEBHOOK_URL sur le VPS Synergieloc.",
      "3) Remplacer httpbin.org par l'URL PDP. Auth = Bearer token (PAS OAuth2 sans champ scope rempli).",
      "4) Erreur 'Missing value of required parameter scope' = module OAuth/Google mal connecté : soit remplir Scope, soit passer en API Key/Bearer, soit désactiver Google Sheets tant que non configuré.",
      "5) Synergieloc envoie déjà scope=efacture + PDF Factur-X ; le portail envoie aussi l'email client."
    ]
  }
}
