我检查了API文档,但没有与curl php相关的示例。
我可以获得一些有关如何使用curl php 连接 monday.com 以在 monday.com 中创建潜在客户或交易的指南吗?
我有示例代码(此代码片段中的令牌是错误的),但我不知道如何传递数据来创建潜在客户
<?php
$token = 'eyJhbGciOiJIUzI1NiJ9.0Y-0OesftWBt2SamhvuPV5MR-0Oq7iApMt2exFkDNdM';
$apiUrl = 'https://api.monday.com/v2';
$headers = ['Content-Type: application/json', 'Authorization: ' . $token];
$query = '{ boards (limit:1) {id name} }';
$data = @file_get_contents($apiUrl, false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => $headers,
'content' => json_encode(['query' => $query]),
]
]));
$responseContent = json_decode($data, true);
echo json_encode($responseContent);
?>
我不熟悉这个
monday.com
页面,但这是在 PHP 中发出 cURL 请求的方法:
<?php
$token = 'eyJhbGciOiJIUzI1NiJ9.0Y-0OesftWBt2SamhvuPV5MR-0Oq7iApMt2exFkDNdM';
$apiUrl = 'https://api.monday.com/v2';
$headers = ['Content-Type: application/json', 'Authorization: ' . $token];
// Payload
$query = '{ boards (limit:1) {id name} }';
$payload = ['query' => $query];
// Init cURL
$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_URL, $apiUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
// Exec cURL
$resp = curl_exec($curl);
// Close cURL
curl_close($curl);
// Get response
$response = @json_decode($resp, true);
<?php
// Board ID - Leads / Deals Board ID
// Group ID - Create new group or Get the group Id(s)
// Create New Group - {"query": "mutation {create_group (board_id: 12345678, group_name: \"Group Title\") {id}}"}
// Get the Group IDs - {"query": "query {boards (ids: 12345678) {groups {title id}}}"}
$query = '{
"query": "mutation {
create_item (board_id: 12345678, group_id: \\"topics\\", item_name: \\"New Item\\") {id}
}"
}';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.monday.com/v2',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $query,
CURLOPT_HTTPHEADER => [
'Authorization: <API_KEY>',
'Content-Type: application/json',
],
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
我让这个工作了。 它将从 $_POST[] 表单中获取数据并将项目添加到 Monday.com 上的组中。这是非常基本的,因为我试图让基本功能发挥作用,即使用网络表单插入项目。
您需要更新列 ID 以匹配组中的列 ID。
我无法将 URL 添加到链接列。它与电子邮件类似,但目前还不起作用。
这是代码。 它仍然需要工作,但希望这将是一个很好的起点。 接下来显示 config.php。
<?php
include('config.php');
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Get the input values from the form
$companyName = $_POST['companyName'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$contactEmail = $_POST['contactEmail'];
$contactPhone = $_POST['contactPhone'];
$projectState = $_POST['projectState'];
$contactWebSite = $_POST['contactWebSite'];
$projectMessage = $_POST['projectMessage'];
$boardId = $boards['testBoard'];
// These values are on in config.php
// Your Monday.com API key
//$apiKey = $token; // Replace with your actual API key
// API Endpoint URL
//$url = 'https://api.monday.com/v2';
$todaysDate = date("Y-m-d");
$query = 'mutation ($itemName: String!, $columnVals: JSON!) { create_item (board_id:'. $board_id . ' item_name:$itemName, column_values:$columnVals) { id } }';
$vars = ['itemName' => $companyName,
'columnVals' => json_encode([
'status' => ['label' => 'New Lead'],
'date4' => ['date' => $todaysDate ],
'text__1' => $firstName,
'text5__1' => $lastName,
'email__1' => ['email' => $contactEmail, 'text' => $contactEmail ],
'phone__1' => ['phone' => $contactPhone, 'countryShortName' => 'US' ],
'text7__1' => $projectState,
'long_text4__1' => $projectMessage,
//'link9__1' => ['link' => $contactWebSite, 'text' => $contactWebSite ]
])
];
$data = @file_get_contents($apiUrl, false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => $headers,
'content' => json_encode(['query' => $query, 'variables' => $vars]),
]
]));
$responseContent = json_decode($data, true);
echo json_encode($responseContent);
}
?>
这是config.php
$token = '[YOUR API KEY]';
$apiUrl = 'https://api.monday.com/v2';
$headers = ['Content-Type: application/json', 'Authorization: ' . $token ];
$boards = array(
"boardName1" => 1918282734,
"boardName2" => 1987654321,
"boardName3" => 4567123890,
"testGroup" => 6376637288
);
我希望这对某人有帮助。 我花了很长时间试图解决这个问题。