$secretKey = 'your-secret-key';
$postData = [
'email' => '[email protected]',
'phone' => '1234567890',
'name' => 'John Doe',
'typeOfMove' => 'Local',
'source' => 'Website',
'websiteSource' => 'LandingPage',
'leadType' => 'office',
'date' => '2025-05-10',
'note' => 'Customer prefers morning time',
// From Address
'fromAddress' => '123 Start St, Startville, ST 12345',
'fromAddressDoorman' => 'true',
'fromAddressElevator' => 'false',
'fromAddressCoi' => 'true',
'fromAddressStairs' => 'true',
'fromAddressNote' => 'Use side entrance',
// To Address
'toAddress' => '456 End Ave, Endtown, EN 67890',
'toAddressDoorman' => 'false',
'toAddressElevator' => 'true',
'toAddressCoi' => 'false',
'toAddressStairs' => 'false',
'toAddressNote' => 'Call before arrival',
];
// 🚚 Additional Stop Address
$additionalStops = [
1 => [
'address' => '789 Middle Rd, Midcity, MC 11111',
'doorman' => 'true',
'elevator' => 'false',
'coi' => 'true',
'stairs' => 'false',
'note' => 'Ring apartment 3B',
],
2 => [
'address' => '1010 Second Stop Blvd, Stopville, ST 22222',
'doorman' => 'false',
'elevator' => 'true',
'coi' => 'false',
'stairs' => 'true',
'note' => 'Use back entrance',
],
];
foreach ($additionalStops as $index => $stop) {
$postData["additionalAddress".$index] = $stop['address'];
$postData["additionalAddressDoorman".$index] = $stop['doorman'];
$postData["additionalAddressElevator".$index] = $stop['elevator'];
$postData["additionalAddressCoi".$index] = $stop['coi'];
$postData["additionalAddressStairs".$index] = $stop['stairs'];
$postData["additionalAddressNote".$index] = $stop['note'];
}
// 📦
$materials = [
['name' => 'Box', 'price' => 12.5, 'quantity' => 5],
['name' => 'Tape', 'price' => 3.2, 'quantity' => 2],
];
// 🛋️
$itemsByRoom = [
[
'name' => 'Kitchen',
'items' => [
['name' => 'Fridge', 'quantity' => 1],
['name' => 'Microwave', 'quantity' => 1],
],
],
[
'name' => 'Living Room',
'items' => [
['name' => 'Sofa', 'quantity' => 1],
['name' => 'TV', 'quantity' => 1],
],
],
];
function flattenArray($array, $prefix = '')
{
$result = [];
foreach ($array as $key => $value) {
$new_key = $prefix === '' ? $key : $prefix . "[$key]";
if (is_array($value)) {
$result += flattenArray($value, $new_key);
} else {
$result[$new_key] = $value;
}
}
return $result;
}
$postData += flattenArray(['materials' => $materials]);
$postData += flattenArray(['itemsByRoom' => $itemsByRoom]);
$query = http_build_query($postData);
$contextData = [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " . strlen($query) . "\r\n",
'content' => $query,
];
$context = stream_context_create([
'http' => $contextData,
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
]);
$url = 'https://your-api-domain.bestmoverscrm.com/lead/import/ileadopen?secretKey=' . urlencode($secretKey);
$result = file_get_contents($url, false, $context);
echo "Import response:\n" . print_r($result, true) . "
";