Sell leads to Zaplo (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.

AdvertiserZaplo
CountryCZ
SegmentFinance
ProductLoan
Integration typeLead generation
Flows→ 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

Blueprint for new customers

{
  "nodes": [
    {
      "id": "1-1",
      "type": "startNode",
      "position": {
        "x": -620,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "",
          "subtitle": "",
          "flow": "post",
          "beType": "integration"
        }
      }
    },
    {
      "id": "1-2",
      "type": "modifyFieldNode",
      "position": {
        "x": -420,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Transform data",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{data_requested_amount}",
              "fields": [
                {
                  "source": "{data_requested_amount}",
                  "operator": "is_greater_than",
                  "value": "16000",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "16000"
                }
              ]
            },
            {
              "fieldName": "{data_income_type}",
              "fields": [
                {
                  "source": "{data_income_type}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "OTHER"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "full-time",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "EMPLOYEE"
                },
                {
                  "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": "OTHER"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "pension",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "RETIREE"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "unemployed",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "UNEMPLOYED"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "other",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "OTHER"
                }
              ]
            },
            {
              "fieldName": "{data_home_status}",
              "fields": [
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "owner",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "OWNED"
                },
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "tenant",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "RENT"
                },
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "family",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "WITH_RELATIVES"
                },
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "employ-benefits",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "EMPLOYER"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-3",
      "type": "httpNode",
      "position": {
        "x": -180,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Post",
          "subtitle": "",
          "method": "POST",
          "endpoint": "{endpoint}/affiliate-api",
          "timeout": 30,
          "format": "application/json",
          "parser": "json",
          "notsend": null,
          "convert_data": null,
          "headers": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "query": [],
          "body": [
            {
              "key": "city",
              "value": "{data_city}"
            },
            {
              "key": "term",
              "value": "{data_period}"
            },
            {
              "key": "email",
              "value": "{data_email}"
            },
            {
              "key": "amount",
              "value": "{data_requested_amount}"
            },
            {
              "key": "cardId",
              "value": "{data_identity_card_number}"
            },
            {
              "key": "street",
              "value": "{data_street}"
            },
            {
              "key": "lastName",
              "value": "{data_last_name}"
            },
            {
              "key": "termType",
              "value": "DAYS"
            },
            {
              "key": "firstName",
              "value": "{data_first_name}"
            },
            {
              "key": "acceptNews",
              "value": "false"
            },
            {
              "key": "personalId",
              "value": "{data_nin}"
            },
            {
              "key": "postalCode",
              "value": "{data_zip}"
            },
            {
              "key": "mobilePhone",
              "value": "{data_cell_phone}"
            },
            {
              "key": "clientIncome",
              "value": "{data_monthly_income}"
            },
            {
              "key": "newsAccepted",
              "value": "false"
            },
            {
              "key": "affiliateToken",
              "value": "{eid}"
            },
            {
              "key": "clientExpenses",
              "value": "{data_expenses}"
            },
            {
              "key": "employmentType",
              "value": "{data_income_type}"
            },
            {
              "key": "acceptAgreement",
              "value": "true"
            },
            {
              "key": "applicationType",
              "value": "WEB"
            },
            {
              "key": "houseFlatNumber",
              "value": "{data_house_number}"
            },
            {
              "key": "acceptDataSharing",
              "value": "true"
            },
            {
              "key": "accommodationType",
              "value": "{data_home_status}"
            },
            {
              "key": "affiliateProvider",
              "value": "{partner_id}"
            },
            {
              "key": "bankAccountNumber",
              "value": "{data_account_number}/{data_bank_code}"
            },
            {
              "key": "numberOfHouseholdMembers",
              "value": "1"
            },
            {
              "key": "numberOfEmployedHouseholdMembers",
              "value": "1"
            }
          ],
          "signature": null,
          "insecure": null
        }
      }
    },
    {
      "id": "1-7",
      "type": "setNode",
      "position": {
        "x": 100,
        "y": -80
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Store response",
          "subtitle": "",
          "fields": [
            {
              "key": "{redirect_url}",
              "value": "{parsedBody.url}"
            },
            {
              "key": "{external_id}",
              "value": "{custom_api_token}"
            }
          ]
        }
      }
    },
    {
      "id": "1-8",
      "type": "endNode",
      "position": {
        "x": 340,
        "y": -80
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Success",
          "subtitle": "",
          "success": "success"
        }
      }
    },
    {
      "id": "1-4",
      "type": "modifyFieldNode",
      "position": {
        "x": 100,
        "y": 160
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Reject reason",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{reason}",
              "fields": [
                {
                  "source": "{body}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Unspecified"
                },
                {
                  "source": "{parsedBody}",
                  "operator": "regex_match",
                  "value": "/login",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Duplicate"
                }
              ]
            },
            {
              "fieldName": "{reason_detail}",
              "fields": [
                {
                  "source": "{body}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "{body}"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-6",
      "type": "endNode",
      "position": {
        "x": 340,
        "y": 160
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Rejected",
          "subtitle": "",
          "success": "failed"
        }
      }
    },
    {
      "id": "1-5",
      "type": "modifyFieldNode",
      "position": {
        "x": 180,
        "y": -160
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Extract ID",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{custom_api_token}",
              "fields": [
                {
                  "source": "{parsedBody.url}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "first_regex_match",
                  "pattern": "",
                  "output": "(?<=apiToken=)[^&]+"
                }
              ]
            }
          ]
        }
      }
    }
  ],
  "edges": [
    {
      "id": "edge-1-1-1-2",
      "source": "1-1",
      "target": "1-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": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody}",
            "operator": "regex_not_match",
            "output": "/continue/affiliate",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-3-1-5",
      "source": "1-3",
      "target": "1-5",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody}",
            "operator": "regex_match",
            "output": "/continue/affiliate",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-5-1-7",
      "source": "1-5",
      "target": "1-7",
      "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-1-4-1-6",
      "source": "1-4",
      "target": "1-6",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    }
  ]
}

Blueprint for repeated customers

{
  "nodes": [
    {
      "id": "1-1",
      "type": "startNode",
      "position": {
        "x": -620,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "",
          "subtitle": "",
          "flow": "post",
          "beType": "integration"
        }
      }
    },
    {
      "id": "1-2",
      "type": "modifyFieldNode",
      "position": {
        "x": -420,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Transform data",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{data_requested_amount}",
              "fields": [
                {
                  "source": "{data_requested_amount}",
                  "operator": "is_greater_than",
                  "value": "35000",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "35000"
                }
              ]
            },
            {
              "fieldName": "{data_income_type}",
              "fields": [
                {
                  "source": "{data_income_type}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "OTHER"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "full-time",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "EMPLOYEE"
                },
                {
                  "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": "OTHER"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "pension",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "RETIREE"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "unemployed",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "UNEMPLOYED"
                },
                {
                  "source": "{data_income_type}",
                  "operator": "equals",
                  "value": "other",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "OTHER"
                }
              ]
            },
            {
              "fieldName": "{data_home_status}",
              "fields": [
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "owner",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "OWNED"
                },
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "tenant",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "RENT"
                },
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "family",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "WITH_RELATIVES"
                },
                {
                  "source": "{data_home_status}",
                  "operator": "equals",
                  "value": "employ-benefits",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "EMPLOYER"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-3",
      "type": "httpNode",
      "position": {
        "x": -180,
        "y": 40
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Post",
          "subtitle": "",
          "method": "POST",
          "endpoint": "{endpoint}/affiliate-api",
          "timeout": 30,
          "format": "application/json",
          "parser": "json",
          "notsend": null,
          "convert_data": null,
          "headers": [
            {
              "key": "Content-Type",
              "value": "application/json"
            }
          ],
          "query": [],
          "body": [
            {
              "key": "city",
              "value": "{data_city}"
            },
            {
              "key": "term",
              "value": "{data_period}"
            },
            {
              "key": "email",
              "value": "{data_email}"
            },
            {
              "key": "amount",
              "value": "{data_requested_amount}"
            },
            {
              "key": "cardId",
              "value": "{data_identity_card_number}"
            },
            {
              "key": "street",
              "value": "{data_street}"
            },
            {
              "key": "lastName",
              "value": "{data_last_name}"
            },
            {
              "key": "termType",
              "value": "DAYS"
            },
            {
              "key": "firstName",
              "value": "{data_first_name}"
            },
            {
              "key": "acceptNews",
              "value": "false"
            },
            {
              "key": "personalId",
              "value": "{data_nin}"
            },
            {
              "key": "postalCode",
              "value": "{data_zip}"
            },
            {
              "key": "mobilePhone",
              "value": "{data_cell_phone}"
            },
            {
              "key": "clientIncome",
              "value": "{data_monthly_income}"
            },
            {
              "key": "newsAccepted",
              "value": "false"
            },
            {
              "key": "affiliateToken",
              "value": "{eid}"
            },
            {
              "key": "clientExpenses",
              "value": "{data_expenses}"
            },
            {
              "key": "employmentType",
              "value": "{data_income_type}"
            },
            {
              "key": "acceptAgreement",
              "value": "true"
            },
            {
              "key": "applicationType",
              "value": "WEB"
            },
            {
              "key": "houseFlatNumber",
              "value": "{data_house_number}"
            },
            {
              "key": "acceptDataSharing",
              "value": "true"
            },
            {
              "key": "accommodationType",
              "value": "{data_home_status}"
            },
            {
              "key": "affiliateProvider",
              "value": "{partner_id}"
            },
            {
              "key": "bankAccountNumber",
              "value": "{data_account_number}/{data_bank_code}"
            },
            {
              "key": "numberOfHouseholdMembers",
              "value": "1"
            },
            {
              "key": "numberOfEmployedHouseholdMembers",
              "value": "1"
            }
          ],
          "signature": null,
          "insecure": null
        }
      }
    },
    {
      "id": "1-4",
      "type": "setNode",
      "position": {
        "x": 100,
        "y": -80
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Store response",
          "subtitle": "",
          "fields": [
            {
              "key": "{redirect_url}",
              "value": "{parsedBody.url}"
            }
          ]
        }
      }
    },
    {
      "id": "1-6",
      "type": "endNode",
      "position": {
        "x": 340,
        "y": -80
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Success",
          "subtitle": "",
          "success": "success"
        }
      }
    },
    {
      "id": "1-5",
      "type": "modifyFieldNode",
      "position": {
        "x": 100,
        "y": 160
      },
      "data": {
        "formData": {
          "active": true,
          "title": "Reject reason",
          "subtitle": "",
          "data": [
            {
              "fieldName": "{reason}",
              "fields": [
                {
                  "source": "{body}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Unspecified"
                },
                {
                  "source": "{parsedBody}",
                  "operator": "regex_match",
                  "value": "/continue/affiliate",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "Product Mismatch"
                }
              ]
            },
            {
              "fieldName": "{reason_detail}",
              "fields": [
                {
                  "source": "{body}",
                  "operator": "always",
                  "value": "",
                  "value2": "",
                  "modification": "replace",
                  "pattern": "",
                  "output": "{body}"
                }
              ]
            }
          ]
        }
      }
    },
    {
      "id": "1-7",
      "type": "endNode",
      "position": {
        "x": 340,
        "y": 160
      },
      "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-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": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody}",
            "operator": "regex_match",
            "output": "/login",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-3-1-5",
      "source": "1-3",
      "target": "1-5",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": [
          {
            "value": "{status}",
            "operator": "equals",
            "output": "200",
            "output2": ""
          },
          {
            "value": "{parsedBody}",
            "operator": "regex_not_match",
            "output": "/login",
            "output2": ""
          }
        ]
      }
    },
    {
      "id": "edge-1-4-1-6",
      "source": "1-4",
      "target": "1-6",
      "type": "customEdge",
      "data": {
        "active": true,
        "title": "",
        "subtitle": "",
        "conditions": []
      }
    },
    {
      "id": "edge-1-5-1-7",
      "source": "1-5",
      "target": "1-7",
      "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

One call, one answer. There is no ping and no lookup, the affiliate endpoint registers the applicant and decides in the same request.

The response is two fields wide, and everything hangs on them:

{ "resolution": "SUCCESS", "url": "https://registration.zaplo.cz/…" }
{ "resolution": "REJECTED" }

What will be needed from advertiser

KeyPurpose
endpointBase API URL.
partner_idAffiliate provider identifier.

Flows

Post, POST /affiliate-api. Registers and decides.

Calls

POST {endpoint}/affiliate-api
Content-Type: application/json
format: application/json

Credentials travel in the body rather than a header: affiliateProvider is the partner identifier and affiliateToken carries the lead reference.

Request fields

FieldRequiredValue
firstNameyes{g_name_first}
lastNameyes{g_name_last}
personalIdyes{g_id_national_number}
cardIdyes{g_id_card_number}
emailyes{g_email}
mobilePhoneyes{g_phone}
streetyes{g_address_street}
houseFlatNumberyes{g_address_street_number}
cityyes{g_address_city}
postalCodeyes{g_address_zip}
bankAccountNumberyes{g_bank_account_number}/{g_bank_account_code}
clientIncomeyes{g_fin_income}
clientExpensesyes{g_fin_expenses}
employmentTypeyes{g_fin_type}, see enums
amountyes{g_amount}
termyes{g_period}
termTypeyesDAYS
accommodationTypeyes{g_home_type}, see enums
numberOfHouseholdMembersyes{g_household_members}
numberOfEmployedHouseholdMembersyes{g_household_members_adults}
applicationTypeyesWEB
acceptAgreementyestrue
acceptDataSharingyestrue
acceptNewsyesfalse unless the applicant opted in
newsAcceptedyessame value as acceptNews
affiliateProvideryes{partner_id}
affiliateTokenyes{send_id}

bankAccountNumber is the full account with the code appended after a slash, compose it in the HTTP node, not in a Modify step.

acceptNews and newsAccepted are two names for the same consent and both are read. Send the same value into both.

Enums

employmentType: EMPLOYEE, SELF_EMPLOYED, RETIREE, UNEMPLOYED, OTHER. Maternity has no option, map it to OTHER.

accommodationType: OWNED, RENT, WITH_RELATIVES, EMPLOYER.

Which URL you get matters

An accepted lead comes back with resolution: SUCCESS and a url, and the path of that URL says what kind of customer this is:

URL pathMeaning
/continue/affiliate?apiToken=...New applicant, the registration continues on Zaplo
/loginExisting customer, they are sent to sign in

Zaplo is therefore configured as two integrations, one selling new applicants and one selling returning ones, and each treats the other’s URL as Product Mismatch rather than as a sale.

The apiToken in the new-applicant URL is the only durable reference the response gives. Extract it from {parsedBody.url} with first_regex_match and the pattern (?<=apiToken=)[^&]+.

Outcomes

Recognised byHTTPMeaningReject reasonFrequency
resolution: SUCCESS, url ~ /continue/affiliate200Accepted, new applicant,occasional
resolution: SUCCESS, url ~ /login200Accepted, existing customer,occasional
resolution: REJECTED200Refused, no reason givenUnspecifiedcommon
errors[].message ~ Application is rejected200Refused by scoringUnspecifieddocumented only
errors[] on empty or malformed input200Payload refusedInvalid Datadocumented only
errors[] ~ credit limit exceeded200Over the limitToo Much Debtdocumented only

REJECTED is almost all of the traffic and carries nothing else, no code, no message. Unspecified, and the volume is exactly the argument to take to the advertiser when asking for reason codes.

The documented errors array does not appear in production; the live endpoint collapses everything into the one word. Map it anyway.

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

Branching

Match on resolution, not on the URL text. {parsedBody} is a parsed object, and a contains or regex condition against it matches nothing, the branch never fires.

New-applicant integration, accepted:

{status}                  equals        200
{parsedBody.resolution}   equals        SUCCESS
{parsedBody.url}          regex match   /continue/affiliate

Returning-customer integration, accepted:

{status}                  equals        200
{parsedBody.resolution}   equals        SUCCESS
{parsedBody.url}          regex match   /login

Refused, a catch-all scoped to the business response:

{status}                  equals            200
{parsedBody.resolution}   regex not match   ^SUCCESS$

Wrong kind of customer, on either integration:

{status}                  equals            200
{parsedBody.resolution}   equals            SUCCESS
{parsedBody.url}          regex not match   /continue/affiliate     ← or /login

502 and 500 return an empty body and no business result. They get no branch.

Stored values

ParameterSource
{external_id}apiToken extracted from {parsedBody.url}
{redirect_url}{parsedBody.url}

On the returning-customer flow the /login URL has no token, so there is nothing durable to store beyond the redirect.

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.