如何使用curl php连接monday.com以在monday.com中创建潜在客户或交易?

问题描述 投票:0回答:3

我检查了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);
?>
php monday.com
3个回答
0
投票

我不熟悉这个

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);

0
投票
<?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;

0
投票

我让这个工作了。 它将从 $_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
  );

我希望这对某人有帮助。 我花了很长时间试图解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.