Sell leads to Švýcarská půjčka (CZ)

Maximize revenue from your leads by connecting this advertiser to your PalDock workspace. The integration is prebuilt, so you can go live in a few clicks, no developer needed.

AdvertiserŠvýcarská půjčka
CountryCZ
SegmentFinance
ProductLoan
Integration typeLead generation
FlowsPing → Post

Integration overview

This prebuilt PalDock integration connects your lead flow directly to the advertiser. It handles field mapping, request delivery and response processing, so you can start sending leads without building the integration from scratch.

The integration uses PalDock’s global fields and returns standardized outcomes for reporting and routing, while preserving advertiser response details for troubleshooting.

Blueprint

{
  "nodes": [
    {
      "id": "1-1",
      "type": "startNode",
      "position": {
        "x": -700,
        "y": 120
      },
      "data": {
        "formData": {
          "active": true,
          "title": "",
          "subtitle": "",
          "flow": "ping",
          "beType": "integration"
        }
      }
    },
    {
      "id": "2-1",
      "type": "startNode",
      "position": {
        "x": -641.67311225916,
        "y": 557.38834831011
      },
      "data": {
        "formData": {
          "active": true,
          "title": "",
          "subtitle": "",
          "flow": "post",
          "beType": "integration"
        }
      }
    },
    {
      "id": "1-2",
      "type": "setNode",
      "position": {
        "x": -540,
        "y": 60
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Auth",
          "subtitle": "",
          "fields": [
            {
              "key": "{auth0}",
              "value": "{username}:{password}"
            }
          ]
        }
      }
    },
    {
      "id": "1-3",
      "type": "modifyFieldNode",
      "position": {
        "x": -380,
        "y": 120
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Transform data",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{auth}",
              "fields": [
                {
                  "source": "{auth0}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "to_base64",
                  "pattern": "",
                  "output": ""
                }
              ]
            },
            {
              "fieldName": "{data_company_number_imported}",
              "fields": [
                {
                  "source": "{data_company_number_imported}",
                  "operator": "regex_match",
                  "value": "^(?!\\d{8}$).*$",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": " "
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-4",
      "type": "httpNode",
      "position": {
        "x": -200,
        "y": 120
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Ping",
          "subtitle": "",
          "method": "GET",
          "endpoint": "{endpoint}/api/lead/pre-check",
          "timeout": 15,
          "format": null,
          "parser": "json",
          "notsend": null,
          "convert_data": null,
          "headers": [
            {
              "key": "Authorization",
              "value": "Basic {auth}"
            }
          ],
          "query": [
            {
              "key": "birthNumber",
              "value": "{data_nin}"
            }
          ],
          "body": [],
          "signature": null,
          "insecure": null
        }
      }
    },
    {
      "id": "1-5",
      "type": "endNode",
      "position": {
        "x": 60,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Success",
          "subtitle": "",
          "success": "success"
        }
      }
    },
    {
      "id": "1-6",
      "type": "modifyFieldNode",
      "position": {
        "x": 20,
        "y": 160
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Reject reason · No interest",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{reason}",
              "fields": [
                {
                  "source": "{parsedBody.state}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Unspecified"
                }
              ]
            },
            {
              "fieldName": "{reason_detail}",
              "fields": [
                {
                  "source": "{parsedBody.state}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "pre-check: {parsedBody.state}"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-7",
      "type": "modifyFieldNode",
      "position": {
        "x": 20,
        "y": 300
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Reject reason · Invalid input",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{reason}",
              "fields": [
                {
                  "source": "{status}",
                  "operator": "equals",
                  "value": "400",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Invalid Data"
                },
                {
                  "source": "{parsedBody.message}",
                  "operator": "contains",
                  "value": "18 let",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Age"
                }
              ]
            },
            {
              "fieldName": "{reason_detail}",
              "fields": [
                {
                  "source": "{status}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "http {status}"
                },
                {
                  "source": "{parsedBody.message}",
                  "operator": "is_not_empty",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "http {status}: {parsedBody.message}"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-8",
      "type": "endNode",
      "position": {
        "x": 280,
        "y": 230
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Rejected",
          "subtitle": "",
          "success": "failed"
        }
      }
    },
    {
      "id": "2-2",
      "type": "modifyFieldNode",
      "position": {
        "x": -282.05173015128,
        "y": 542.58898873408
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Transform data",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{data_income_type}",
              "fields": [
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "full-time",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "employed"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "self-employed",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "self-employed"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "parental",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "maternity"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "pension",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "pensioner"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "unemployed",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "unemployed"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "regex_not_match",
                  "value": "^(full-time|self-employed|parental|pension|unemployed)$",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "other"
                }
              ]
            },
            {
              "fieldName": "{data_requested_amount}",
              "fields": [
                {
                  "source": "{data_requested_amount}",
                  "operator": "is_greater_than",
                  "value": "20000",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "20000"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "2-3",
      "type": "httpNode",
      "position": {
        "x": -20,
        "y": 560
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Post",
          "subtitle": "",
          "method": "POST",
          "endpoint": "{endpoint}/api/lead",
          "timeout": 30,
          "format": "application/json",
          "parser": "json",
          "notsend": null,
          "convert_data": null,
          "headers": [
            {
              "key": "Content-Type",
              "value": "application/json"
            },
            {
              "key": "Authorization",
              "value": "Basic {auth}"
            }
          ],
          "query": [],
          "body": [
            {
              "key": "sourceId",
              "value": "{eid}"
            },
            {
              "key": "client.mail",
              "value": "{data_email}"
            },
            {
              "key": "client.phone",
              "value": "{data_cell_phone}"
            },
            {
              "key": "client.lastName",
              "value": "{data_last_name}"
            },
            {
              "key": "client.firstName",
              "value": "{data_first_name}"
            },
            {
              "key": "client.work.type",
              "value": "{data_income_type}"
            },
            {
              "key": "loanRequest.days",
              "value": "{data_period}"
            },
            {
              "key": "client.address.zip",
              "value": "{data_zip}"
            },
            {
              "key": "client.birthNumber",
              "value": "{data_nin}"
            },
            {
              "key": "loanRequest.amount",
              "value": "{data_requested_amount}"
            },
            {
              "key": "client.address.city",
              "value": "{data_city}"
            },
            {
              "key": "client.work.employer",
              "value": "{data_employer}"
            },
            {
              "key": "loanRequest.currency",
              "value": "CZK"
            },
            {
              "key": "client.address.number",
              "value": "{data_house_number}"
            },
            {
              "key": "client.address.street",
              "value": "{data_street}"
            },
            {
              "key": "client.identityNumber",
              "value": "{data_identity_card_number}"
            },
            {
              "key": "client.work.businessId",
              "value": "{data_company_number_imported}"
            },
            {
              "key": "client.cashFlows.income",
              "value": "{data_monthly_income}"
            },
            {
              "key": "client.work.additionInfo",
              "value": "{data_job_title}"
            },
            {
              "key": "client.cashFlows.expenses",
              "value": "{data_expenses}"
            },
            {
              "key": "client.cashFlows.repaymentsLongLoans",
              "value": "0"
            }
          ],
          "signature": null,
          "insecure": null
        }
      }
    },
    {
      "id": "2-4",
      "type": "setNode",
      "position": {
        "x": 240,
        "y": 460
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Store response",
          "subtitle": "",
          "fields": [
            {
              "key": "{external_id}",
              "value": "{parsedBody.leadId}"
            },
            {
              "key": "{redirect_url}",
              "value": "{parsedBody.loanCreateUrl}"
            }
          ]
        }
      }
    },
    {
      "id": "2-7",
      "type": "endNode",
      "position": {
        "x": 470,
        "y": 460
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Success",
          "subtitle": "",
          "success": "success"
        }
      }
    },
    {
      "id": "2-5",
      "type": "modifyFieldNode",
      "position": {
        "x": 240,
        "y": 600
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Reject reason · No offer",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{reason}",
              "fields": [
                {
                  "source": "{parsedBody.state}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Unspecified"
                }
              ]
            },
            {
              "fieldName": "{reason_detail}",
              "fields": [
                {
                  "source": "{parsedBody.state}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "state: {parsedBody.state}, no loanCreateUrl"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "2-6",
      "type": "modifyFieldNode",
      "position": {
        "x": 240,
        "y": 750
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Reject reason · Bad request",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{reason}",
              "fields": [
                {
                  "source": "{parsedBody.message}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Invalid Data"
                },
                {
                  "source": "{parsedBody.message}",
                  "operator": "contains",
                  "value": "18 let",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Age"
                },
                {
                  "source": "{parsedBody.message}",
                  "operator": "contains",
                  "value": "duplic",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Duplicate"
                }
              ]
            },
            {
              "fieldName": "{reason_detail}",
              "fields": [
                {
                  "source": "{parsedBody.message}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "http {status}: {parsedBody.message}"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "2-8",
      "type": "endNode",
      "position": {
        "x": 520,
        "y": 750
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Rejected",
          "subtitle": "",
          "success": "failed"
        }
      }
    }
  ],
  "edges": [
    {
      "id": "edge-1-1-1-2",
      "source": "1-1",
      "target": "1-2",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-2-1-2-2",
      "source": "2-1",
      "target": "2-2",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-1-2-1-3",
      "source": "1-2",
      "target": "1-3",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-1-3-1-4",
      "source": "1-3",
      "target": "1-4",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-1-4-1-5",
      "source": "1-4",
      "target": "1-5",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "lead",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody.state}",
            "operator": "equals",
            "output": "lead",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-4-1-6",
      "source": "1-4",
      "target": "1-6",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "no-interest",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody.state}",
            "operator": "regex_not_match",
            "output": "^lead$",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-4-1-7",
      "source": "1-4",
      "target": "1-7",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "http error",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "regex_not_match",
            "output": "^200$",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-6-1-8",
      "source": "1-6",
      "target": "1-8",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-1-7-1-8",
      "source": "1-7",
      "target": "1-8",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-2-2-2-3",
      "source": "2-2",
      "target": "2-3",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-2-3-2-4",
      "source": "2-3",
      "target": "2-4",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "accepted",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody.loanCreateUrl}",
            "operator": "is_not_empty",
            "output": "",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-2-3-2-5",
      "source": "2-3",
      "target": "2-5",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "no-interest",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody.loanCreateUrl}",
            "operator": "is_empty",
            "output": "",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-2-3-2-6",
      "source": "2-3",
      "target": "2-6",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "400 bad request",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "400",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-2-4-2-7",
      "source": "2-4",
      "target": "2-7",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-2-5-2-8",
      "source": "2-5",
      "target": "2-8",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-2-6-2-8",
      "source": "2-6",
      "target": "2-8",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    }
  ]
}

How it works

  1. Copy the blueprint and paste it in your PalDock workspace– Create a new integration in your workspace and paste the blueprint. Every field arrives prefilled.
  2. Enter your credentials – Paste the secrets you received from advertiser and set your Pingtree
  3. Send a test lead – Verify the response, then switch the channel live.

FAQ

Do I need my own contract with this advertiser?

Yes. PalDock delivers leads on your behalf, so the commercial agreement and API credentials come from the advertiser directly.

What happens to rejected leads?

The advertiser returns its decision in the delivery response. PalDock reads it and moves rejected leads to the next buyer in your pingtree automatically, so a rejection does not need to end the lead’s journey.

Can I change the field mapping?

Yes, but we do not recommend it. Blueprints are already mapped to PalDock’s global fields. If you use local fields, you need to remap each integration separately.

How long does setup take?

Few clicks, if you already have credentials. The blueprint arrives prefilled and mapped to PalDock’s global fields, so if your lead structure uses them, there is nothing to map. If you use local fields, you map them once.

What the integration does

Start sending leads in 3 clicks

Copy the prebuilt blueprint, add your credentials and start sending leads. No coding, no integration work.

Real-time lead delivery

Send leads to the advertiser instantly as they arrive, without exports, batches or manual processing.

No field mapping headache

PalDock global fields work across all prebuilt integrations. Map your lead data once and reuse it everywhere.

Know exactly why leads fail

Get standardized rejection reasons for reporting and advertiser’s response for the full context and troubleshooting.

API & integration details

Short-term loans. The ping is a genuine pre-check that stores nothing, which makes it
cheap to call and honest to trust: if it says no, the post will say no too.

Expect most leads to be refused at the ping, almost always with the same flat
no-interest and no reason attached.

Flows

Ping, GET /api/lead/pre-check?birthNumber=…. Nothing is stored on the advertiser’s
side. Returns state: lead or state: no-interest.

Post, POST /api/lead with the full payload. Returns leadId, state and
loanCreateUrl. The URL is present only when the advertiser is interested, and the
post can still come back no-interest even after the ping said lead, the pre-check
runs on fewer data.

Calls

Ping

GET {endpoint}/api/lead/pre-check?birthNumber={g_id_national_number}
Authorization: Basic base64({username}:{password})

Post

POST {endpoint}/api/lead
Authorization: Basic base64({username}:{password})
Content-Type: application/json
format: application/json

Basic auth is built in the blueprint from the two halves. Store {username} and {password} separately and encode at run time:

Set     {auth0} = {username}:{password}
Modify  {auth}  ← {auth0}, to_base64
HTTP    Authorization: Basic {auth}

Never store a pre-encoded blob in {token}, it cannot be rotated one half at a time and nobody can read it six months later.

Request fields

The body uses dotted paths for nesting.

FieldRequiredValue
sourceIdyes{send_id}
client.firstNameyes{g_name_first}
client.lastNameyes{g_name_last}
client.birthNumberyes{g_id_national_number}
client.identityNumberyes{g_id_card_number}
client.mailyes{g_email}
client.phoneyes{g_phone}
client.address.streetyes{g_address_street}
client.address.numberyes{g_address_street_number}
client.address.cityyes{g_address_city}
client.address.zipyes{g_address_zip}
client.work.typeyes{g_fin_type}, see enums
client.work.employerno{g_employer_name}
client.work.businessIdself-employed{g_company_registration}
client.work.additionInfono{g_employ_position}
client.cashFlows.incomeyes{g_fin_income}
client.cashFlows.expensesyes{g_fin_expenses}
client.cashFlows.repaymentsLongLoansyes{g_fin_expenses_credit}
loanRequest.amountyes{g_amount}, capped at 20 000
loanRequest.daysyes{g_period}
loanRequest.currencyyesCZK

client.identityNumber is validated hard: it must be at most ten characters and pass a
checksum. It is the single most common 400.

client.work.businessId must be exactly eight digits or absent. Anything else is
rejected, so blank it when it does not match rather than passing a partial value through.

On capping the amount

Where a request exceeds the advertiser’s maximum, send the maximum rather than the
requested figure, but agree it with them first. Translating a higher request down is right
only when they would otherwise reject the lead outright. Where they would have made a
smaller offer on their own, send what the applicant actually asked for and let them answer.

This is the one place the general rule bends: amount, term and product are the request
itself, so they are normally passed through untouched.

Enums

client.work.type: employed, self-employed, maternity, pensioner, unemployed,
other. Map anything unrecognised to other.

Outcomes

loanCreateUrl is nullable and it is the real signal. A 200 carrying state: rejected
or state: no-interest with a null URL is a rejection, whatever the status code says.

Recognised byHTTPMeaningReject reasonFrequency
state: lead200Interested, proceed,common
loanCreateUrl not empty200Accepted,common
state: no-interest200Not interested, no reason givenUnspecifiedcommon
state: rejected, null URL200Refused after full dataUnspecifiedoccasional
message ~ číslo občanského průkazu400Invalid ID card numberInvalid Dataoccasional
message ~ rodné číslo400Invalid national IDInvalid Datarare
message ~ nedovršil věk 18 let400Under eighteenAgerare

The 400 body is {"code": …, "message": "(Tělo požadavku) client.identityNumber: …"}.
The message names the field that failed and is worth passing through whole in
{reason_detail}.

no-interest is the largest single bucket and it says nothing. It is Unspecified, not
Not Eligible, the advertiser has refused without naming a condition, and keeping it as
Unspecified is what lets you go back and ask for reason codes.

Reject reasons come from the standard list. See Reject reason for what each one
means and when to use it.

Branching

Ping, interested:

{status}                equals             200
{parsedBody.state}      equals             lead

Ping, not interested, scoped to the body, not to the status code:

{status}                equals             200
{parsedBody.state}      regex not match    ^lead$

Post, accepted:

{status}                     equals         200
{parsedBody.loanCreateUrl}   is not empty

Post, refused:

{status}                     equals     200
{parsedBody.loanCreateUrl}   is empty

Post, bad request:

{status}    equals    400

The 400 carries a documented business result naming the failed field, which is why it
gets a branch. Other status codes do not.

Stored values

ParameterSource
{external_id}{parsedBody.leadId} from the post
{redirect_url}{parsedBody.loanCreateUrl} from the post

Author

Affiliate and lead generation expert with 15+ years as partner, advertiser and network, including end to end product design from concept to rollout of an affiliate tracking platform. Background in lending, telco, gambling and other verticals with a focus on tracking, affiliate management, fraud prevention, integrations and lead generation.

The Affiliate Platform Guide

Everything you need to choose the right affiliate platform in one place. Download the complete guide and keep it as your handy reference.