{
    "name": "[TEMPLATE] Make a SEPA Transfer",
    "flow": [
        {
            "id": 4,
            "module": "http:MakeRequest",
            "version": 4,
            "parameters": {
                "tlsType": "",
                "proxyKeychain": "",
                "authenticationType": "noAuth"
            },
            "mapper": {
                "url": "https://pdfobject.com/pdf/sample.pdf",
                "method": "get",
                "shareCookies": false,
                "parseResponse": true,
                "allowRedirects": true,
                "stopOnHttpError": true,
                "requestCompressedContent": true
            },
            "metadata": {
                "designer": {
                    "x": 0,
                    "y": 0,
                    "name": "Download a PDF"
                },
                "restore": {
                    "expect": {
                        "method": {
                            "mode": "chose",
                            "label": "GET"
                        },
                        "headers": {
                            "mode": "chose"
                        },
                        "contentType": {
                            "label": "Empty"
                        },
                        "shareCookies": {
                            "mode": "chose"
                        },
                        "parseResponse": {
                            "mode": "chose"
                        },
                        "allowRedirects": {
                            "mode": "chose"
                        },
                        "paginationType": {
                            "label": "Empty"
                        },
                        "queryParameters": {
                            "mode": "chose"
                        },
                        "stopOnHttpError": {
                            "mode": "chose"
                        },
                        "requestCompressedContent": {
                            "mode": "chose"
                        }
                    },
                    "parameters": {
                        "tlsType": {
                            "label": "Empty"
                        },
                        "proxyKeychain": {
                            "label": "Choose a key"
                        },
                        "authenticationType": {
                            "label": "No authenticationUse when no credentials are required for the request."
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "authenticationType",
                        "type": "select",
                        "label": "Authentication type",
                        "required": true,
                        "validate": {
                            "enum": [
                                "noAuth",
                                "apiKey",
                                "basicAuth",
                                "oAuth"
                            ]
                        }
                    },
                    {
                        "name": "tlsType",
                        "type": "select",
                        "label": "Transport layer security (TLS)",
                        "validate": {
                            "enum": [
                                "mTls",
                                "tls"
                            ]
                        }
                    },
                    {
                        "name": "proxyKeychain",
                        "type": "keychain:proxy",
                        "label": "Proxy"
                    }
                ],
                "expect": [
                    {
                        "name": "url",
                        "type": "url",
                        "label": "URL",
                        "required": true
                    },
                    {
                        "name": "method",
                        "type": "select",
                        "label": "Method",
                        "required": true,
                        "validate": {
                            "enum": [
                                "get",
                                "head",
                                "post",
                                "put",
                                "patch",
                                "delete",
                                "options"
                            ]
                        }
                    },
                    {
                        "name": "headers",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "name",
                                    "type": "text",
                                    "label": "Name",
                                    "required": true,
                                    "validate": {
                                        "pattern": "^[-!#$%&'*+.^_`|~0-9A-Za-z]+$"
                                    }
                                },
                                {
                                    "name": "value",
                                    "type": "text",
                                    "label": "Value"
                                }
                            ],
                            "type": "collection",
                            "label": "Header"
                        },
                        "type": "array",
                        "label": "Headers"
                    },
                    {
                        "name": "queryParameters",
                        "spec": {
                            "name": "value",
                            "spec": [
                                {
                                    "name": "name",
                                    "type": "text",
                                    "label": "Name",
                                    "required": true
                                },
                                {
                                    "name": "value",
                                    "type": "text",
                                    "label": "Value"
                                }
                            ],
                            "type": "collection",
                            "label": "Parameter"
                        },
                        "type": "array",
                        "label": "Query parameters"
                    },
                    {
                        "name": "contentType",
                        "type": "select",
                        "label": "Body content type",
                        "validate": {
                            "enum": [
                                "json",
                                "multipart",
                                "urlEncoded",
                                "custom"
                            ]
                        }
                    },
                    {
                        "name": "parseResponse",
                        "type": "boolean",
                        "label": "Parse response",
                        "required": true
                    },
                    {
                        "name": "stopOnHttpError",
                        "type": "boolean",
                        "label": "Return error if HTTP request fails",
                        "required": true
                    },
                    {
                        "name": "timeout",
                        "type": "uinteger",
                        "label": "Timeout",
                        "validate": {
                            "max": 300,
                            "min": 1
                        }
                    },
                    {
                        "name": "allowRedirects",
                        "type": "boolean",
                        "label": "Allow redirects",
                        "required": true
                    },
                    {
                        "name": "shareCookies",
                        "type": "boolean",
                        "label": "Share cookies with other HTTP modules",
                        "required": true
                    },
                    {
                        "name": "requestCompressedContent",
                        "type": "boolean",
                        "label": "Request compressed content",
                        "required": true
                    },
                    {
                        "name": "paginationType",
                        "type": "select",
                        "label": "Pagination type",
                        "validate": {
                            "enum": [
                                "offsetBased",
                                "pageBased",
                                "urlBased",
                                "tokenBased"
                            ]
                        }
                    }
                ],
                "interface": [
                    {
                        "name": "data",
                        "type": "any",
                        "label": "Data"
                    },
                    {
                        "name": "statusCode",
                        "type": "number",
                        "label": "Status Code"
                    },
                    {
                        "name": "headers",
                        "spec": [
                            {
                                "name": "content-length",
                                "type": "text",
                                "label": "Content-Length"
                            },
                            {
                                "name": "content-encoding",
                                "type": "text",
                                "label": "Content-Encoding"
                            },
                            {
                                "name": "content-type",
                                "type": "text",
                                "label": "Content-Type"
                            },
                            {
                                "name": "server",
                                "type": "text",
                                "label": "Server"
                            },
                            {
                                "name": "cache-control",
                                "type": "text",
                                "label": "Cache-Control"
                            },
                            {
                                "name": "set-cookie",
                                "spec": {
                                    "type": "text"
                                },
                                "type": "array",
                                "label": "Set-Cookie"
                            }
                        ],
                        "type": "collection",
                        "label": "Headers"
                    }
                ]
            }
        },
        {
            "id": 1,
            "module": "app#qonto:uploadAttachment",
            "version": 2,
            "parameters": {
                "__IMTCONN__": 3427270
            },
            "mapper": {
                "file_data": "{{4.data}}",
                "file_name": "example_pdf.pdf",
                "idempotency_key": "{{uuid}}"
            },
            "metadata": {
                "designer": {
                    "x": 300,
                    "y": 0,
                    "name": "Upload the PDF to Qonto"
                },
                "restore": {
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "app#qonto2"
                            },
                            "label": "EP - QONTO OLINDA PRODUCTION"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:app#qonto2",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "file_name",
                        "type": "filename",
                        "label": "File name",
                        "required": true,
                        "extension": [
                            "jpg",
                            "jpeg",
                            "png",
                            "pdf"
                        ]
                    },
                    {
                        "name": "file_data",
                        "type": "buffer",
                        "label": "Data",
                        "required": true
                    },
                    {
                        "name": "idempotency_key",
                        "type": "text",
                        "label": "Idempotency Key",
                        "required": true
                    }
                ]
            }
        },
        {
            "id": 2,
            "module": "app#qonto:verifySEPAPayee",
            "version": 2,
            "parameters": {
                "__IMTCONN__": 3427270
            },
            "mapper": {
                "iban": "IT50K3609201600289585839490",
                "beneficiary_name": "OLINDA TEST IT"
            },
            "metadata": {
                "designer": {
                    "x": 600,
                    "y": 0,
                    "name": "Verify IBAN & Name match"
                },
                "restore": {
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "app#qonto2"
                            },
                            "label": "EP - QONTO OLINDA PRODUCTION"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:app#qonto2",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "iban",
                        "type": "text",
                        "label": "IBAN",
                        "required": true,
                        "validate": {
                            "max": 34
                        }
                    },
                    {
                        "name": "beneficiary_name",
                        "type": "text",
                        "label": "Beneficiary Name",
                        "required": true,
                        "validate": {
                            "max": 140
                        }
                    }
                ]
            }
        },
        {
            "id": 3,
            "module": "app#qonto:createSEPATransfer",
            "version": 2,
            "parameters": {
                "__IMTCONN__": 3427270
            },
            "filter": {
                "name": "If payee IBAN & name match",
                "conditions": [
                    [
                        {
                            "a": "{{2.match_result}}",
                            "b": "MATCH_RESULT_MATCH",
                            "o": "text:equal"
                        }
                    ]
                ]
            },
            "mapper": {
                "transfer": {
                    "note": "Test",
                    "amount": "0.50",
                    "reference": "Test reference",
                    "attachment_ids": [
                        "{{1.attachment.id}}"
                    ],
                    "beneficiary_id": "386ecf38-2012-4299-b8a1-207a5ec163af",
                    "bank_account_id": "6ec83137-2270-41c5-b4c9-526a783ae25f"
                },
                "idempotency_key": "{{uuid}}",
                "vop_proof_token": "{{2.proof_token.token}}"
            },
            "metadata": {
                "designer": {
                    "x": 900,
                    "y": 0,
                    "name": "Create the Transfer"
                },
                "restore": {
                    "expect": {
                        "transfer": {
                            "nested": {
                                "attachment_ids": {
                                    "mode": "chose",
                                    "items": [
                                        null
                                    ]
                                },
                                "beneficiary_id": {
                                    "mode": "chose",
                                    "label": "QONTO ALPHA TEST IT | IT50K3609201600289585839490"
                                },
                                "bank_account_id": {
                                    "mode": "chose",
                                    "label": "OLINDA_SAS_TESTING_PRODUCTION (MAIN ACCOUNT) | FR7616958000014821307573285"
                                }
                            }
                        }
                    },
                    "parameters": {
                        "__IMTCONN__": {
                            "data": {
                                "scoped": "true",
                                "connection": "app#qonto2"
                            },
                            "label": "EP - QONTO OLINDA PRODUCTION"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "__IMTCONN__",
                        "type": "account:app#qonto2",
                        "label": "Connection",
                        "required": true
                    }
                ],
                "expect": [
                    {
                        "name": "vop_proof_token",
                        "type": "text",
                        "label": "VoP Proof Token",
                        "required": true
                    },
                    {
                        "name": "idempotency_key",
                        "type": "text",
                        "label": "Idempotency Key",
                        "required": true
                    },
                    {
                        "name": "transfer",
                        "spec": [
                            {
                                "name": "bank_account_id",
                                "type": "select",
                                "label": "Bank Account ID",
                                "required": true
                            },
                            {
                                "name": "reference",
                                "type": "text",
                                "label": "Reference",
                                "required": true,
                                "validate": {
                                    "max": 140
                                }
                            },
                            {
                                "name": "amount",
                                "type": "number",
                                "label": "Amount",
                                "required": true
                            },
                            {
                                "name": "beneficiary_id",
                                "type": "select",
                                "label": "Beneficiary ID",
                                "required": true
                            },
                            {
                                "name": "scheduled_date",
                                "type": "date",
                                "label": "Scheduled date"
                            },
                            {
                                "name": "note",
                                "type": "text",
                                "label": "Note"
                            },
                            {
                                "name": "attachment_ids",
                                "spec": {
                                    "name": "value",
                                    "type": "text"
                                },
                                "type": "array",
                                "label": "Attachment ids"
                            }
                        ],
                        "type": "collection",
                        "label": "Transfer"
                    }
                ]
            }
        }
    ],
    "metadata": {
        "instant": false,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "slots": null,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "eu1.make.com",
        "notes": []
    }
}