### Submit Customer Attributes via cURL Source: https://dev.realpadsoftware.com/integrations/landing-page/sending-leads Examples of how to submit various data types as custom attributes to the Realpad create-lead endpoint using cURL. Each example demonstrates the specific formatting required for different attribute types. ```bash curl --data "login=...&password=...&name=John&surname=Doe&phone=...&email=...&customer_has_pets=true" https://cms.realpad.eu/ws/v10/create-lead ``` ```bash curl --data "login=...&password=...&name=John&surname=Doe&phone=...&email=...&customer_google_campaign_id=summer-2024" https://cms.realpad.eu/ws/v10/create-lead ``` ```bash curl --data "login=...&password=...&name=John&surname=Doe&phone=...&email=...&customer_age=42" https://cms.realpad.eu/ws/v10/create-lead ``` ```bash curl --data "login=...&password=...&name=John&surname=Doe&phone=...&email=...&customer_voucher_date=2024-03-17" https://cms.realpad.eu/ws/v10/create-lead ``` ```bash curl --data "login=...&password=...&name=John&surname=Doe&phone=...&email=...&customer_ab_test_param=1" https://cms.realpad.eu/ws/v10/create-lead ``` ```bash curl --data "login=...&password=...&name=John&surname=Doe&phone=...&email=...&customer_preferred_dispositions=4,7" https://cms.realpad.eu/ws/v10/create-lead ``` -------------------------------- ### Invoice Template Example Source: https://dev.realpadsoftware.com/placeholders/document-templating/invoices An example of an invoice template using Velocity syntax. It demonstrates how to include deal identification, main unit information, payment details, and customer contact information using various placeholders. ```velocity Invoice for Deal: $dealId Date: $today Variable Symbol: $variable_symbol Customer: $customerName Email: $customerMail Phone: $customerPhone Property: $flatId Building: $buildingName Project: $projectName Payment Details: Type: $paymentType Method: $paymentMethod Amount: $paymentAmountVat ($paymentAmountVat_cz in words) #if($paymentAmountNoVat) Amount excl. VAT: $paymentAmountNoVat #end Due Date: $paymentCalculatedDeadline #if($pendingAmountVat.isPositive()) Amount Due: $pendingAmountVat #end #if($paymentNote) Note: $paymentNote #end ``` -------------------------------- ### Method Chaining Example Source: https://dev.realpadsoftware.com/placeholders/document-templating Demonstrates method chaining for NumberWrapper and DateWrapper objects, allowing multiple operations to be performed sequentially on a single placeholder. ```Velocity $createdOn.addDays(14).format("dd.MM.yyyy") $dealPriceVAT.sub($dealDiscountVat).round().dash() $Utils.sum($unit.area, $unit.areaBalcony).strip() ``` -------------------------------- ### List Leads via cURL Source: https://dev.realpadsoftware.com/integrations/introduction/quickstart-guide This example shows how to retrieve a list of leads submitted within the last 7 days using the `list-leads` endpoint via a cURL command. It requires authentication credentials and returns lead details. This is useful for verifying that lead submission calls are successful. ```bash curl -X POST https://cms.realpad.eu/ws/v10/list-leads \ --data "login=your-login&password=your-password" ``` -------------------------------- ### Submit Lead via cURL Source: https://dev.realpadsoftware.com/integrations/introduction/quickstart-guide This example demonstrates how to submit a new lead to the Realpad platform using the `create-lead` endpoint via a cURL command. It requires authentication credentials and lead details such as name, email, and phone number. The API returns a 201 Created status for a new lead or 200 OK if a lead with matching details already exists. ```bash curl -X POST https://cms.realpad.eu/ws/v10/create-lead \ --data "login=your-login&password=your-password" \ --data "project-id=456" \ --data "first-name=Jane" \ --data "last-name=Smith" \ --data "email=jane.smith@example.com" \ --data "phone=%2B420123456789" ``` -------------------------------- ### Iterate over all units Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Provides an example of iterating through the $units list to output core unit information such as type, building, floor, area, and price. ```velocity #foreach($unit in $units) Unit: $unit.internalId ($unit.type) Building: $unit.building, Floor: $unit.floorNo Area: $unit.area, Price: $unit.finalPriceVat #end ``` -------------------------------- ### Aggregated Unit Prices Placeholder Example (Velocity) Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Demonstrates how to use placeholders to display the aggregated total prices of different unit types, both with and without VAT. The placeholder names vary based on the unit type and naming conventions. ```velocity Flat total (excl. VAT): $aggregated_flat_novat Parking total (incl. VAT): $aggregated_parkings_vat Cellar total: $aggregated_cellar_novat ``` -------------------------------- ### GET /pricelist Source: https://dev.realpadsoftware.com/integrations/landing-page Fetch real estate unit data including prices, availability, and floorplan links. ```APIDOC ## GET /pricelist ### Description Retrieves the current pricelist data for a specific real estate project, including unit details, pricing, and status. ### Method GET ### Endpoint /pricelist ### Parameters #### Query Parameters - **project_id** (string) - Required - The unique identifier for the real estate project. ### Request Example GET /pricelist?project_id=my-new-project ### Response #### Success Response (200) - **units** (array) - List of unit objects containing price, status, and media links. #### Response Example { "units": [ { "id": "A101", "price": 250000, "status": "available" } ] } ``` -------------------------------- ### String and Date Manipulation Source: https://dev.realpadsoftware.com/placeholders/document-templating Examples of handling String transliteration and DateWrapper formatting methods, including custom patterns and date arithmetic. ```velocity #set($cyrillicName = $customer.fullName.toCyrillic()) #if($createdOn.isSet()) $createdOn.format("dd. MMMM yyyy") $createdOn.addDays(14) #end ``` -------------------------------- ### GET $additional_products Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Accesses the list of additional products associated with a deal, such as parking spots, cellars, or custom modifications. ```APIDOC ## GET $additional_products ### Description Retrieves a list of additional products linked to a deal, including their identifiers, descriptions, and costs. ### Method GET ### Endpoint $additional_products ### Parameters #### Path Parameters - None #### Query Parameters - None ### Request Body - N/A ### Request Example N/A ### Response #### Success Response (200) - **type** (String) - Localized product type - **number** (String) - Internal identifier - **description** (String) - Product description - **cost_vat** (Number) - Cost including VAT #### Response Example { "type": "Electrometer", "number": "E-101", "description": "Standard electrometer unit", "cost_vat": 150.00 } ``` -------------------------------- ### GET /payments/incoming Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Retrieves a list of all incoming payments associated with a deal. ```APIDOC ## GET /payments/incoming ### Description Returns a repeating list of all incoming payments received from customers for a specific deal. ### Method GET ### Endpoint /payments/incoming ### Parameters #### Query Parameters - **dealId** (string) - Required - The identifier of the deal to fetch payments for. ### Response #### Success Response (200) - **amountVat** (NumberWrapper) - Amount including VAT. - **paymentMethod** (String) - Method used (e.g., Bank Transfer). - **paidOn** (DateWrapper) - Date received. - **isBankAccount** (Boolean) - Indicates if a bank account is linked. - **bankAccount** (Object) - Nested bank account details. - **isPrescribedPayment** (Boolean) - Indicates if matched to a prescribed payment. - **prescribedPayment** (Object) - Details of the matched prescribed payment. #### Response Example { "amountVat": 500.00, "paymentMethod": "Bank Transfer", "paidOn": "2023-10-05", "isBankAccount": true, "bankAccount": { "name": "Main Account", "accountNumber": "123456789" } } ``` -------------------------------- ### GET /ws/v10/list-leads Source: https://dev.realpadsoftware.com/integrations/landing-page/sending-leads Retrieves a list of leads created by the integration account within the last 7 days to verify submission success. ```APIDOC ## GET /ws/v10/list-leads ### Description Use this endpoint to confirm that leads submitted via the create-lead endpoint were received and processed correctly. It returns a list of leads created by your integration account within the last 7 days. ### Method GET ### Endpoint https://cms.realpad.eu/ws/v10/list-leads ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - login (string) - Required - Integration account login - password (string) - Required - Integration account password ### Request Example curl --data "login=...&password=..." https://cms.realpad.eu/ws/v10/list-leads ### Response #### Success Response (200) - Array of objects - List of lead objects including inquiry_id, customer_id, customer_name, timestamp, projects, campaign, and product_interest. #### Response Example [ { "inquiry_id": 12345, "customer_id": 67890, "customer_name": "Jane Smith", "timestamp": "2026-03-01T14:30:00+01:00", "projects": ["Riverside Residences"], "campaign": "spring-2026", "product_interest": "2-bedroom apartment" } ] ``` -------------------------------- ### Unit Type Presence Flag Example (Velocity) Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Shows how to use boolean placeholders to check for the presence of specific unit types within a deal. This allows for conditional display of information based on whether a unit type exists. ```velocity #if($isParking) This Deal includes a parking spot. #end #if($isCellar) This Deal includes a cellar. #end ``` -------------------------------- ### Using Simple Placeholders Source: https://dev.realpadsoftware.com/placeholders/document-templating Demonstrates the basic syntax for inserting simple variables into a document template using the $ prefix. ```velocity Deal status: $status Created on: $createdOn ``` -------------------------------- ### GET /payments/status Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Retrieves the current status and financial summary of a specific payment. ```APIDOC ## GET /payments/status ### Description Provides the current status of a payment, including paid amounts, pending balances, and payment dates. ### Method GET ### Endpoint /payments/status ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier for the payment. ### Response #### Success Response (200) - **isPaid** (Boolean) - Indicates if the payment is fully settled. - **paidOn** (DateWrapper) - The date the payment was completed. - **paidAmount** (NumberWrapper) - Total amount paid including VAT. - **pendingAmount** (NumberWrapper) - Remaining outstanding balance including VAT. - **note** (String) - Additional comments. #### Response Example { "isPaid": true, "paidOn": "2023-10-01", "paidAmount": 1500.00, "pendingAmount": 0.00 } ``` -------------------------------- ### Fetch Project Information using Realpad API (Bash) Source: https://dev.realpadsoftware.com/integrations/introduction/quickstart-guide This snippet demonstrates how to make a POST request to the `get-projects-info` endpoint using curl. It requires authentication credentials (login and password) sent as form-encoded body parameters. The response includes a developer ID and a list of accessible projects with their IDs and names. ```bash curl -X POST https://cms.realpad.eu/ws/v10/get-projects-info \ --data "login=your-login&password=your-password" ``` -------------------------------- ### GET /resource/{uid} Source: https://dev.realpadsoftware.com/integrations/data-takeout Retrieves a specific file resource previously uploaded to the CRM. ```APIDOC ## GET /resource/{uid} ### Description Downloads a specific file resource identified by its unique identifier (UID). ### Method GET ### Endpoint https://cms.realpad.eu/resource/{uid} ### Parameters #### Path Parameters - **uid** (string) - Required - The unique identifier of the resource ### Request Example curl --output cached_resource https://cms.realpad.eu/resource/bd5563ae-abc... ### Response #### Success Response (200) - **file** (binary) - The requested resource file ``` -------------------------------- ### Retrieve Resource using cURL Source: https://dev.realpadsoftware.com/integrations/landing-page/fetching-pricelist-data This snippet demonstrates how to fetch a resource (like unit plans or PDFs) from the Realpad CMS using its unique identifier (UID) via a cURL command. It's important to cache these resources locally as they are immutable. ```bash curl \ --output cached_resource \ https://cms.realpad.eu/resource/bd5563ae-abc... ``` -------------------------------- ### Implement foreach loop control structures Source: https://dev.realpadsoftware.com/placeholders/document-templating Demonstrates the correct syntax for using #foreach loops in document templates. Ensures that every loop is properly closed with an #end directive to prevent generation failures. ```Velocity #foreach($unit in $units) $unit.internalId #end ``` -------------------------------- ### GET $payments Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Accesses the list of prescribed payments grouped by payment method, including bank and escrow details. ```APIDOC ## GET $payments ### Description Retrieves a list of payments associated with a deal, categorized by payment method. This list allows for dynamic rendering of payment schedules and associated financial details. ### Method GET ### Endpoint $payments ### Parameters #### Path Parameters - None #### Query Parameters - None ### Request Body - N/A ### Request Example N/A ### Response #### Success Response (200) - **type** (String) - Localized payment type (e.g., Reservation) - **method** (String) - Payment method (e.g., Direct Transfer) - **amount** (NumberWrapper) - Payment amount with VAT - **isEscrow** (Boolean) - Flag for any escrow usage - **notaryName** (String) - Notary name if applicable #### Response Example { "type": "Reservation", "method": "Direct Transfer", "amount": 5000.00, "isEscrow": false } ``` -------------------------------- ### Upload Unit Floor Plan via cURL Source: https://dev.realpadsoftware.com/integrations/landing-page/uploading-unit-media Sets or replaces a floor plan image for a specific unit and screen resolution. Requires unitid, screenid, and a PNG or JPEG file. ```bash curl -X POST \ -F "login=..." \ -F "password=..." \ -F "unitid=12345" \ -F "screenid=1" \ -F "file=@/path/to/plan.png;type=image/png" \ https://cms.realpad.eu/ws/v10/set-unit-plan ``` -------------------------------- ### POST /get-projects-info Source: https://dev.realpadsoftware.com/integrations/introduction/quickstart-guide Retrieves a list of projects accessible to the provided integration credentials. ```APIDOC ## POST /get-projects-info ### Description Fetches a list of projects associated with the integration account, returning project IDs and names. ### Method POST ### Endpoint https://cms.realpad.eu/ws/v10/get-projects-info ### Parameters #### Request Body - **login** (string) - Required - Integration account username - **password** (string) - Required - Integration account password ### Request Example curl -X POST https://cms.realpad.eu/ws/v10/get-projects-info --data "login=your-login&password=your-password" ### Response #### Success Response (200) - **developer-id** (integer) - Tenant identifier - **projects** (array) - List of accessible projects #### Response Example { "developer-id": 123, "projects": [ { "project-id": 456, "project-name": "Riverside Residences" } ] } ``` -------------------------------- ### Deal Payments API Source: https://dev.realpadsoftware.com/placeholders/document-templating/placeholders-database-deprecated Endpoints for retrieving detailed payment information, including amounts and VAT status, for various payment installments. ```APIDOC ## Deal Payments API ### Description This section outlines endpoints for accessing detailed payment information for a deal, including amounts with and without VAT, and specific payment installments. ### Endpoints #### Payment Amounts (with VAT) - **paymentFpc6Amount_cz**: 6th FPC payment amount with VAT (amount as words in Czech). - **paymentFpc3Amount_cz**: 3rd FPC payment amount with VAT (amount as words in Czech). - **paymentFpc3Amount**: 3rd FPC payment amount with VAT. - **paymentFpc4Amount_cz**: 4th FPC payment amount with VAT (amount as words in Czech). - **paymentFpc5Amount_sk**: 5th FPC payment amount with VAT (amount as words in Slovak). - **paymentFpc5Amount**: 5th FPC payment amount with VAT. - **paymentReservationFeeAndFpc1Amount_cz**: Reservation fee and 1st FPC payments amount with VAT (amount as words in Czech). - **paymentReservationFeeAndFpc1Amount**: Reservation fee and 1st FPC payments amount with VAT. - **paymentFpc4Amount_sk**: 4th FPC payment amount with VAT (amount as words in Slovak). #### Payment Amounts (without VAT) - **paymentFpc6AmountNoVAT**: True if 6th FPC payment amount without VAT exists. - **paymentFpc3AmountNoVAT_cz**: 3rd FPC payment amount without VAT (amount as words in Czech). - **paymentFpc6AmountNoVAT_cz**: 6th FPC payment amount without VAT (amount as words in Czech). - **paymentFpc2AmountNoVAT_cz**: 2nd FPC payment amount without VAT (amount as words in Czech). - **paymentFpc2AmountNoVAT**: 2nd FPC payment amount without VAT. #### VAT Amounts - **paymentFpc5AmountJustVAT_sk**: VAT amount in 5th FPC payment (amount as words in Slovak). - **paymentFpc3AmountJustVAT_sk**: VAT amount in 3rd FPC payment (amount as words in Slovak). - **paymentFpc6AmountJustVAT_sk**: VAT amount in 6th FPC payment (amount as words in Slovak). - **paymentFpc1AmountJustVAT_cz**: VAT amount in 1st FPC payment (amount as words in Czech). - **paymentReservationFeeAndFpc1AmountJustVAT**: VAT amount of reservation fee and 1st FPC payments. - **paymentFpc5AmountJustVAT**: VAT amount in 5th FPC payment. #### Boolean Flags for Payment Existence - **is_paymentFpc6AmountNoVAT**: True if 6th FPC payment amount without VAT exists. - **is_paymentFpc6AmountJustVAT**: True if VAT amount in 6th FPC payment exists. - **is_paymentFpc3Amount**: True if 3rd FPC payment amount with VAT exists. - **is_paymentFpc2AmountJustVAT**: True if VAT amount in 2nd FPC payment exists. ### Parameters No specific path or query parameters are detailed for these payment retrieval endpoints in the provided text. Request bodies are not applicable for simple retrieval operations. ### Request Example (No specific request examples provided for payment retrieval) ### Response #### Success Response (200) - **fieldName** (string/boolean) - The value of the requested payment-related information (e.g., amount as words, boolean flag). #### Response Example (No specific response examples provided for payment retrieval) ``` -------------------------------- ### Verify Submitted Leads using cURL Source: https://dev.realpadsoftware.com/integrations/landing-page/sending-leads This snippet demonstrates how to use `curl` to call the `list-leads` endpoint. It retrieves a list of leads created by your integration account within the last 7 days. The response is a JSON array of lead objects. ```bash curl \ --data "login=...&password=..." https://cms.realpad.eu/ws/v10/list-leads ``` ```json [ { "inquiry_id": 12345, "customer_id": 67890, "customer_name": "Jane Smith", "timestamp": "2026-03-01T14:30:00+01:00", "projects": ["Riverside Residences"], "campaign": "spring-2026", "product_interest": "2-bedroom apartment" } ] ``` -------------------------------- ### GET /deals/{id}/payments Source: https://dev.realpadsoftware.com/placeholders/document-templating/placeholders-database-deprecated Retrieves the financial breakdown of a specific deal, including FPC payment amounts, VAT calculations, and localized payment strings. ```APIDOC ## GET /deals/{id}/payments ### Description Retrieves the payment details for a specific deal, including various FPC (Fixed Payment Cycle) installments, VAT amounts, and boolean flags for payment existence. ### Method GET ### Endpoint /deals/{id}/payments ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the deal. ### Response #### Success Response (200) - **paymentFpcXAmount** (number) - Payment amount with VAT for cycle X. - **paymentFpcXAmountNoVAT** (number) - Payment amount without VAT for cycle X. - **paymentFpcXAmountJustVAT** (number) - VAT amount for cycle X. - **is_paymentFpcXAmount** (boolean) - Existence flag for payment X. - **paymentFpcXAmount_cz** (string) - Amount as words in Czech. - **paymentFpcXAmount_sk** (string) - Amount as words in Slovak. #### Response Example { "paymentFpc4Amount": 150000.00, "paymentFpc4AmountJustVAT": 31500.00, "is_paymentFpc4AmountJustVAT": true, "paymentFpc4AmountJustVAT_cz": "třicet jedna tisíc pět set" } ``` -------------------------------- ### Conditional Logic with Velocity Source: https://dev.realpadsoftware.com/placeholders/document-templating Demonstrates how to use #if, #elseif, and #else directives to control content rendering based on boolean flags, existence checks, and value comparisons. ```velocity #if($isMortgage) Mortgage bank: $mortgageBankName Mortgage amount: $mortgageAmount #end #if($isOneCustomerOnly) Sole buyer: $customer1Name #else Multiple buyers — see the list below. #end #if($Utils.isSet($mortgageAmount)) Mortgage: $mortgageAmount #end #if($dealPriceVAT.getAsNumber() > 1000000) High-value Deal #end ``` -------------------------------- ### GET /resource/ Source: https://dev.realpadsoftware.com/integrations/landing-page/fetching-pricelist-data Retrieves an immutable resource file (such as a unit plan, PDF, or gallery image) associated with a specific UID found in the XML payload. ```APIDOC ## GET /resource/ ### Description Retrieves an immutable resource file (such as a unit plan, PDF, or gallery image) associated with a specific UID found in the XML payload. Resources should be cached indefinitely by the client. ### Method GET ### Endpoint https://cms.realpad.eu/resource/ ### Parameters #### Path Parameters - **UID** (string) - Required - The unique identifier of the resource obtained from the XML unit attributes. ### Request Example curl https://cms.realpad.eu/resource/bd5563ae-abc... ### Response #### Success Response (200) - **Binary Data** (file) - The requested resource file (image, PDF, etc.). #### Response Example [Binary content of the resource] ``` -------------------------------- ### POST /ws/v10/get-project Source: https://dev.realpadsoftware.com/integrations/landing-page/fetching-pricelist-data Fetches pricelist data for a specific project. It's recommended to fetch this data hourly and store it locally for efficient frontend rendering. The API expects URL-encoded form data. ```APIDOC ## POST /ws/v10/get-project ### Description Fetches pricelist data for a specific project. This endpoint is crucial for obtaining detailed pricing and unit information, which should ideally be cached locally for performance. ### Method POST ### Endpoint https://cms.realpad.eu/ws/v10/get-project ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **login** (string) - Required - Your login credentials obtained from support. - **password** (string) - Required - Your password obtained from support. - **screenid** (integer) - Required - A constant integer value obtained from support. - **developerid** (integer) - Required - A constant integer value obtained from support. - **projectid** (integer) - Required - The integer identifier for the specific project. **Note:** The request body must be sent as URL-encoded form data, not JSON. ### Request Example ```bash curl \ --data "login=YOUR_LOGIN&password=YOUR_PASSWORD&screenid=YOUR_SCREEN_ID&projectid=YOUR_PROJECT_ID&developerid=YOUR_DEVELOPER_ID" \ https://cms.realpad.eu/ws/v10/get-project ``` ### Response #### Success Response (200 OK) - **XML Payload** - Contains the pricelist and unit detail data. #### Response Example (XML payload structure will vary based on project data) #### Error Responses - **400 BAD REQUEST**: Invalid project ID or other ID parameter. - **401 NOT AUTHORIZED**: Invalid credentials or IP address ban. - **429 TOO MANY REQUESTS**: Rate limit exceeded. Response body may contain `Retry-After` information. ``` -------------------------------- ### Variable Assignment and Nested Loops Source: https://dev.realpadsoftware.com/placeholders/document-templating Shows how to define temporary variables using #set and how to iterate through nested collections using #foreach. ```velocity #set($totalArea = $Utils.sum($unit.area, $unit.areaBalcony, $unit.areaTerrace)) Total area: $totalArea m² #foreach($room in $inspection_rooms) Room: $room.name #foreach($defect in $room.defects) - $defect.description #end #end ``` -------------------------------- ### Conditional Display of Unit Attribute in Velocity Source: https://dev.realpadsoftware.com/placeholders/document-templating/reclamation-documents This example shows how to conditionally display a custom unit attribute in a Reclamation Document using Velocity. It checks if the attribute has a value before rendering it, and also demonstrates accessing word variants for numeric attributes. ```velocity #if($is_flat_advert_description) Advertisement Description: $flat_advert_description #end #if($is_numeric_attribute_sk) Numeric Value (SK): $numeric_attribute_sk #end ``` -------------------------------- ### Fetch Project Data using cURL Source: https://dev.realpadsoftware.com/integrations/landing-page/fetching-pricelist-data Demonstrates how to perform an HTTP POST request to the get-project endpoint using URL-encoded form data. This is the standard method for retrieving project-specific XML data. ```bash curl \ --data "login=...&password=...&screenid=...&projectid=...&developerid=..." \ https://cms.realpad.eu/ws/v10/get-project ``` -------------------------------- ### Fetch Customer Data using cURL Source: https://dev.realpadsoftware.com/integrations/data-takeout This snippet demonstrates how to retrieve customer data in Excel format using a cURL command. It requires login credentials and sends a POST request to the specified endpoint. The output is saved to a local file. ```bash curl \ --data "login=...&password=..." \ --output customers.xls \ https://cms.realpad.eu/ws/v10/list-excel-customers ``` -------------------------------- ### Iterate Incoming Payments Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Demonstrates how to loop through the $paymentsIncoming list to display payment details, including amount, date, method, and matching status. ```velocity #foreach($payment in $paymentsIncoming) Payment received: $payment.amountVat Date: $payment.paidOn Method: $payment.paymentMethod #if($payment.isPrescribedPayment) Matched to: $payment.prescribedPayment.type #end #end ``` -------------------------------- ### POST /ws/v10/get-projects-info Source: https://dev.realpadsoftware.com/integrations/landing-page/fetching-pricelist-data Retrieves essential project information, including screenid, developerid, and projectid, which are required for other API calls like fetching pricelist data. This endpoint requires only login and password credentials. ```APIDOC ## POST /ws/v10/get-projects-info ### Description This endpoint is used to obtain necessary identifiers such as `screenid`, `developerid`, and `projectid`. These IDs are prerequisites for making calls to other RealPad API endpoints, like the one for fetching pricelist data. Only your `login` and `password` are required for authentication. ### Method POST ### Endpoint https://cms.realpad.eu/ws/v10/get-projects-info ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **login** (string) - Required - Your login credentials obtained from support. - **password** (string) - Required - Your password obtained from support. **Note:** The request body must be sent as URL-encoded form data, not JSON. ### Request Example ```bash curl \ --data "login=YOUR_LOGIN&password=YOUR_PASSWORD" \ https://cms.realpad.eu/ws/v10/get-projects-info ``` ### Response #### Success Response (200 OK) - **XML Payload** - Contains project information including `screenid`, `developerid`, and `projectid`. #### Response Example (XML payload structure will vary based on available projects and user permissions) #### Error Responses - **401 NOT AUTHORIZED**: Invalid credentials. - **429 TOO MANY REQUESTS**: Rate limit exceeded. ``` -------------------------------- ### Iterate over prereservations Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Shows how to access the $prereservations list to display unit IDs, expiration dates, and queue positions for all prereservations on a deal. ```velocity #foreach($prereservation in $prereservations) Unit: $prereservation.internalId Expires: $prereservation.expirationDate Queue Position: $prereservation.queuePosition #end ``` -------------------------------- ### POST /set-unit-plan Source: https://dev.realpadsoftware.com/integrations/landing-page/uploading-unit-media Sets or replaces the floor plan image for a unit on a specific screen. ```APIDOC ## POST /set-unit-plan ### Description Sets or replaces the floor plan image for a Unit on a given screen. If a plan already exists for the specified screen, it is replaced; otherwise a new one is created. ### Method POST ### Endpoint https://cms.realpad.eu/ws/v10/set-unit-plan ### Parameters #### Request Body (multipart/form-data) - **login** (string) - Required - Login credentials - **password** (string) - Required - Password credentials - **unitid** (integer) - Required - Realpad DB ID of the Unit - **screenid** (integer) - Required - Screen ID (resolution variant) - **file** (binary) - Required - PNG or JPEG image file ### Request Example curl -X POST -F "login=..." -F "password=..." -F "unitid=12345" -F "screenid=1" -F "file=@/path/to/plan.png;type=image/png" https://cms.realpad.eu/ws/v10/set-unit-plan ### Response #### Success Response (200/201) - **body** (empty) - Success ``` -------------------------------- ### Implementing Loops for Repeating Content Source: https://dev.realpadsoftware.com/placeholders/document-templating Illustrates how to use the #foreach directive to iterate over lists and display item details, including the use of built-in loop variables like $foreach.count. ```velocity #foreach($unit in $units) Unit: $unit.internalId — $unit.type, Floor: $unit.floorNo Area: $unit.area m², Price: $unit.finalPriceVat #end ``` -------------------------------- ### Iterating Through Discounts in Velocity Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents This code snippet demonstrates how to loop through a list of discounts applied to a deal using Velocity templating language. It shows how to access properties like discount ordinal, type (percentage or amount), values, and the resulting deal price after the discount is applied. It also shows how to check for and display a discount note. ```velocity #foreach($discount in $discounts) Discount #$discount.ordinal #if($discount.isPercentage) Percentage: $discount.percentage% #end #if($discount.isAmount) Amount: $discount.amountVat #end Deal price after discount: $discount.dealPriceVat #if($discount.isNote) Note: $discount.note #end #end ``` -------------------------------- ### POST /ws/v10/create-lead Source: https://dev.realpadsoftware.com/integrations/landing-page/sending-leads Endpoint for submitting lead information to Realpad CRM. Expects URL-encoded form data. ```APIDOC ## POST /ws/v10/create-lead ### Description This endpoint allows you to send new lead information to the Realpad CRM. The API expects the data to be sent as URL-encoded form data, not JSON. ### Method POST ### Endpoint `https://cms.realpad.eu/ws/v10/create-lead` ### Parameters #### Authentication - **login** (string) - Required - Your login credential provided by Realpad support. - **password** (string) - Required - Your password credential provided by Realpad support. #### Basic contact information - **name** (string) - Required - The first name of the lead. - **surname** (string) - Required - The last name (surname) of the lead. - **email** (string) - Optional - The email address of the lead. Should be validated. - **phone** (string) - Optional - The phone number of the lead in E.164 format (e.g., +420777123456). * **Important**: Either `email` or `phone` (or both) must be provided. - **project** (integer) - Optional - The Realpad database ID of the project to assign the lead to. - **salesman** (integer) - Optional - The Realpad database ID of the salesman to assign the lead to, bypassing the round-robin assignment. Use only if instructed by support. #### Preference tracking - **preferencerooms** (string) - Optional - A pipe-separated list of preferred rooms (e.g., `1+kk` or `2+1|3+1`). - **preferencepricemax** (integer) - Optional - The maximum price the lead is looking for, in the project's currency. - **internalid** (string) - Optional - The "internal ID" or "number in the project" of the unit the lead is interested in. Use either `unitid` or `internalid`, not both. - **unitid** (integer) - Optional - The database ID of the unit the lead is interested in. Use either `unitid` or `internalid`, not both. #### Referral and campaign - **referral** (integer) - Optional but strongly recommended - An integer value provided by Realpad support. - **campaign** (string) - Optional - The ID of the campaign that attracted the lead. #### Miscellaneous - **language** (string) - Optional - ISO 639-1 language code (e.g., sk, cs, en, de). - **tags** (string) - Optional - A comma-separated list of tags to apply to the lead. - **note** (string) - Optional - A free-form note for the lead, limited to 5000 characters. ### Request Example ``` login=your_login&password=your_password&name=John&surname=Doe&email=john.doe@example.com&phone=+15551234567&project=123&internalid=UNIT-A1&preferencerooms=2+1|3+1&preferencepricemax=500000&referral=456&campaign=SUMMER2023&language=en&tags=vip,new¬e=Interested in a 2-bedroom apartment with a balcony. ``` ### Response #### Success Response (200 OK) - **lead_id** (integer) - The unique identifier for the created lead. #### Response Example ```json { "lead_id": 98765 } ``` #### Error Responses - **400 Bad Request**: Indicates invalid or missing parameters. - **401 Unauthorized**: Indicates incorrect login or password. - **403 Forbidden**: Indicates insufficient permissions. - **500 Internal Server Error**: Indicates a server-side issue. ``` -------------------------------- ### POST /ws/v10/add-incoming-payment Source: https://dev.realpadsoftware.com/integrations/payments Notifies the Realpad system of an incoming payment from a customer. This endpoint is stateless and requires authentication credentials with every request. ```APIDOC ## POST /ws/v10/add-incoming-payment ### Description Synchronizes a single incoming payment from an external accounting system into the Realpad CRM. The endpoint is idempotent based on the provided payment ID. ### Method POST ### Endpoint https://cms.realpad.eu/ws/v10/add-incoming-payment ### Parameters #### Authentication - **login** (string) - Required - API login credential - **password** (string) - Required - API password credential #### Basic payment identification - **id** (string) - Required - Unique identifier of the payment in the accounting software - **timestamp** (string) - Required - ISO 8601 formatted date and time (e.g., 2023-01-20T20:04:30) - **amount** (number) - Required - Payment amount without currency or thousands separator (use '.' for decimals) #### Payment matching information - **prescribedid** (integer) - Optional - Realpad database ID of the prescribed payment to cover - **projectid** (integer) - Optional - Realpad database ID of the project - **symvar** (string) - Optional - Variable symbol used for payment matching ### Request Example login=my_login&password=my_password&id=PAY123×tamp=2023-01-20T20:04:30&amount=1500.50&symvar=VS12345 ### Response #### Success Response (200) - **status** (string) - Confirmation of successful payment synchronization #### Response Example { "status": "success" } ``` -------------------------------- ### Iterate over Defects in Velocity Source: https://dev.realpadsoftware.com/placeholders/document-templating/defects-list-report Demonstrates how to use the #foreach loop to iterate through the $defects list and access specific properties like project name, building, unit ID, and defect description. ```velocity #foreach($defect in $defects) Project: $defect.project_name Building: $defect.building_name Unit: $defect.unit_internal_id Defect No.: $defect.internal_id Description: $defect.description #end ``` -------------------------------- ### Iterate Over Customer List Source: https://dev.realpadsoftware.com/placeholders/document-templating Demonstrates how to iterate through a collection of customer objects to display full names, birth dates, and addresses within a document template. ```velocity Buyers: #foreach($customer in $customers) $foreach.count. $customer.fullName, born $customer.birthDate Address: $customer.permanentAddress #end ``` -------------------------------- ### list-excel-products Source: https://dev.realpadsoftware.com/integrations/data-takeout Exports product (unit) data to an Excel file. ```APIDOC ## GET list-excel-products ### Description Exports product (unit) data to an Excel file. The last columns contain the unique unit ID, numeric ID of the unit type, numeric ID of the unit availability, unique project ID, and deal ID from the Realpad database. ### Method GET ### Endpoint /websites/dev_realpadsoftware/list-excel-products ### Query Parameters - **xlsx** (string) - Optional - Use to get `.xlsx` format. - **headermode** (string) - Optional - Controls header format (`labels`, `ids`, `labels_ids`, `ids_labels`). ``` -------------------------------- ### Iterate over balconies and terraces Source: https://dev.realpadsoftware.com/placeholders/document-templating/deal-documents Demonstrates how to loop through lists of balconies and terraces to display the area of each item. These lists contain data for all units associated with a deal. ```velocity #foreach($item in $balconies) Balcony #$foreach.count: $item.area m² #end #foreach($item in $terraces) Terrace #$foreach.count: $item.area m² #end ``` -------------------------------- ### POST /ws/v10/list-excel-customers Source: https://dev.realpadsoftware.com/integrations/data-takeout Retrieves a list of customers in Excel format for backup purposes. ```APIDOC ## POST /ws/v10/list-excel-customers ### Description Retrieves a list of customers in Excel format. This endpoint requires authentication credentials. ### Method POST ### Endpoint https://cms.realpad.eu/ws/v10/list-excel-customers ### Parameters #### Request Body - **login** (string) - Required - API login credential - **password** (string) - Required - API password credential ### Request Example curl --data "login=...&password=..." --output customers.xls https://cms.realpad.eu/ws/v10/list-excel-customers ### Response #### Success Response (200) - **file** (binary) - Excel file containing customer data ``` -------------------------------- ### list-excel-projects Source: https://dev.realpadsoftware.com/integrations/data-takeout Exports project data to an Excel file. ```APIDOC ## GET list-excel-projects ### Description Exports project data to an Excel file. The last column contains the unique project ID from the Realpad database. ### Method GET ### Endpoint /websites/dev_realpadsoftware/list-excel-projects ### Query Parameters - **xlsx** (string) - Optional - Use to get `.xlsx` format. - **headermode** (string) - Optional - Controls header format (`labels`, `ids`, `labels_ids`, `ids_labels`). ```