APIs & Integrations

IParsons
Teilnehmer/-in

Error when posting to multiple checkbox contact field via Properties API

lösung

I'm attempting to post to two multiple checkbox fields using the Properties API (see my previous question here).

 

When I run the below script as part of my full contacts update script, I am getting a validation error. The option I am trying to save to the multiple checkbox does not exist: "message":"b0e3726b-7fed-4e61-8e66-702a45416813 was not one of the allowed options.

 

I'm pretty sure I'm missing something obvious 🙂 

 

<?php



$allTeamGuids = array();


function addTeamGUIDtoGUIDProperties($guids){

    //update properties
    //PUT /properties/v1/contacts/properties/named/:property_name

    $properties = array('active_team_guids', 'allteamguids');

    foreach($properties as $property){

        $update_property_url = 'https://api.hubapi.com/crm/v3/properties/contacts/'.$property.'?hapikey=' . HS_API_KEY;

        $ch = curl_init();


        $update_property_json = array(

            "name" => $property,
            "groupName" => "app_data",
            "description" => "",
            "fieldType" => "checkbox",
            "formField" => false,
            "type" => "enumeration",
            "displayOrder" => '',
            "label" => $property,
            'options' => array(
            )
        );

        foreach($guids as $guid) {

            array_push($update_property_json['options'], $guid);
        }

        $update_property_json = json_encode($update_property_json);

        /* echo '<pre>';
        print_r( $update_property_json );
        echo '</pre>'; */

        curl_setopt_array($ch, array(
            CURLOPT_URL => $update_property_url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 30,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "PUT",
            CURLOPT_POSTFIELDS => $update_property_json,
            CURLOPT_HTTPHEADER => array('Content-Type: application/json', 'Content-Length: ' . strlen($update_property_json)),
          ));

          $response = curl_exec($ch);
          $err = curl_error($ch);
          
          curl_close($ch);
          
          if ($err) {
            echo "cURL Error #:" . $err;
          } else {
            echo $response;
          }


    }

    

}

$ch = curl_init();

$url = $base_url.'/Analytics/Teams?FromDate='.$fromDate;

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','X-API-KEY: '.$client_api_key));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

try{

    $response = curl_exec($ch);

    /* echo '<pre>';
    print_r( json_decode($response, true));
    echo '</pre>'; */

    $teams = json_decode($response, true);
    foreach((array) $teams as $team){
        $guid = array();
        $guid['label'] = $team['guid'];
        $guid['value'] = $team['guid'];
            
        array_push($allTeamGuids, $guid);
    }

    addTeamGUIDtoGUIDProperties($allTeamGuids);

} catch(Exception $e){
	die('Error');
}

 

0 Upvotes
1 Akzeptierte Lösung
MichaelC
Lösung
Ratgeber/-in | Partner
Ratgeber/-in | Partner

Error when posting to multiple checkbox contact field via Properties API

lösung

@IParsons 

 

Have you tried using PATCH instead of PUT when updating a property?

 

See documentation here: https://developers.hubspot.com/docs/api/crm/properties

 



Need further help with integrations or business development?



Want to help me?

Go to the following links and read through the ideas. If you like them - give the idea an upvote

Upvote the following ideas:

Lösung in ursprünglichem Beitrag anzeigen

3 Antworten
MichaelC
Lösung
Ratgeber/-in | Partner
Ratgeber/-in | Partner

Error when posting to multiple checkbox contact field via Properties API

lösung

@IParsons 

 

Have you tried using PATCH instead of PUT when updating a property?

 

See documentation here: https://developers.hubspot.com/docs/api/crm/properties

 



Need further help with integrations or business development?



Want to help me?

Go to the following links and read through the ideas. If you like them - give the idea an upvote

Upvote the following ideas:

IParsons
Teilnehmer/-in

Error when posting to multiple checkbox contact field via Properties API

lösung

Thanks, @MichaelC, my script ran perfectly - 200s all the way. 

dennisedson
HubSpot-Produktteam
HubSpot-Produktteam

Error when posting to multiple checkbox contact field via Properties API

lösung

@IParsons 👋

Throwing @MichaelC at this.  He is a pretty smart fellow 😀

0 Upvotes