Sending leads
Last updated
Was this helpful?
Last updated
Was this helpful?
Based on our experience, best practices for sending leads to Realpad CRM include:
Make sure to have a captcha on the web to filter out spam at the most opportune moment (nothing down the line has more context than the website itself).
Always keep a full log of the leads, and be ready to replay them to the API in case there is any problem on the first try.
In case your call results in an HTTP 2xx, just log the success.
If the result is HTTP 4xx, there is a problem with the call, and it makes no sense to retry automatically. Please, get in touch with our support team, and include the information about the time of the request and the response you received. Be ready to re-submit the lead with updated information.
In case the result is HTTP 5xx, you can retry sending the lead automatically at a later time.
If possible include the name of the enquired unit in the call (parameter internalid
). This helps the sales agents to process the lead more efficiently.
Use HTTP POST and the endpoint https://cms.realpad.eu/ws/v10/create-lead
Send the following parameters as a URL-encoded form:
login
- mandatory string login obtained from our support.
password
- mandatory string password obtained from our support.
name
- mandatory string first name of the lead.
surname
- mandatory string last name (surname) of the lead.
email
- string email address of the lead. Always validate the value provided by the user to a reasonable degree so that it is useful in the CRM.
phone
- string phone number of the lead. Always provide it in the including the international prefix (for example, +420777123456
) for unambiguous representation in the CRM.
Important note: either email
of phone
(or both) must be provided.
note
- string free-form note. Often this is used to transport some note field from the contact form, in Realpad it is saved in an event.
referral
- optional but strongly recommended, integer, our support team will provide the value to use.
campaign
- string ID of the campaign that attracted the lead to the web of the project.
language
- string, valid code of the customer’s preferred language. Examples: sk, cs, en, de.
internalid
- string “internal ID” (sometimes called “number in the project”) of the unit that the customer sent the request from.
unitid
- integer database ID of the unit that the customer sent the request from.
Please use either unitid
or internalid
, not both.
Using one of these parameters will add the specified unit to the so-called favorites of that customer.
tags
- string, comma-separated list of tags to add to the customer.
salesman
- integer Realpad database ID of the salesman to assign the lead to, skipping the round-robin algorithm. Only send if instructed so by our support team.
partner
- integer Realpad database ID of the partner to limit the round-robin algorithm to. Only send if instructed so by our support team.
project
- integer Realpad database ID of the project to assign the lead to.
consentsource
- string free-form text describing the source of the consents being obtained. The original intention for this parameter is to contain the IP address from which the lead submitted the contact form.
consents
- string comma-separated list of consent IDs (exact IDs and their purpose will be provided by our support team).
updateconsents
- same structure as the previous parameter, but a different semantics: using consents
, in case the lead already exists in CRM and has some consent records, these will be first cleared before setting up new ones based on the provided values. Using updateconsents
, any existing consents will be kept, and only the provided ones will be updated.
Do not send data as JSON in this endpoint. The API expects to receive a URL-encoded form. See the cURL example for guidance.
The endpoint can accept additional parameters - attributes. Prior to sending these attributes via the API, they must be configured within the CRM system. Below are the instructions on how to pass various types of attributes to the system:
Boolean - value
can be true
or false
.
customer_has_pets=true
To set the boolean attribute to “true” / “on”.
customer_has_pets=false
or no parameter sent.
To keep the boolean attribute as “false” / “off”.
Example call in cURL:
String - nothing special needed, just provide the whole string (with spaces, comas etc. as a value) Example call in cURL:
Integer - number with no thousands separators must be provided, just the 0-9 digits. Example call in cURL:
Decimal - same as for the integer, just use period .
for the decimal separator.
Date - date in the ISO format YYYY-MM-DD must be provided Example call in cURL:
Single-select (Enumeration) - usually there are select options configured as 1 (value
) - first option (label
), 2 - second option for some attribute with key customer_ab_test_param
.
So to send a request send an attribute with single value.
Example call in cURL:
Multi-select (Option) - same as for single-select, but extended with option to send multiple values as a comma-separated list.
Example call in cURL:
The same HTTP codes apply as above. The body of the response upon a successful call (HTTP 200
) is just an integer in plain text: it signifies the Realpad database ID of the lead - either a newly created one or an existing one, if there was duplicity on email or phone that Realpad resolved.
Please coordinate with the real estate developer and our support team. When it comes to the pricelist testing we’ll trigger a change in the CRM data of a unit (or perhaps replace its floor plan) and observe whether the change is correctly shown on the website. In the opposite direction, we’ll fill in a few test leads via the contact form and observe whether they are correctly saved to the CRM. In addition to that feel free to check the status of a created lead using a call to the get-customer-details
endpoint: