curl --request POST \
--url https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"display": {
"properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
]
},
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": [
"email",
"firstname"
]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
'import requests
url = "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}"
payload = {
"actions": { "baseUrls": ["https://www.example.com/hubspot"] },
"display": { "properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
] },
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": ["email", "firstname"]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
actions: {baseUrls: ['https://www.example.com/hubspot']},
display: {properties: [{dataType: 'STRING', label: 'Pets Name', name: 'pet_name'}]},
fetch: {
objectTypes: [{name: 'contacts', propertiesToSend: ['email', 'firstname']}],
targetUrl: 'https://www.example.com/hubspot/target'
},
title: 'PetSpot'
})
};
fetch('https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'actions' => [
'baseUrls' => [
'https://www.example.com/hubspot'
]
],
'display' => [
'properties' => [
[
'dataType' => 'STRING',
'label' => 'Pets Name',
'name' => 'pet_name'
]
]
],
'fetch' => [
'objectTypes' => [
[
'name' => 'contacts',
'propertiesToSend' => [
'email',
'firstname'
]
]
],
'targetUrl' => 'https://www.example.com/hubspot/target'
],
'title' => 'PetSpot'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}"
payload := strings.NewReader("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}"
response = http.request(request)
puts response.read_body{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"auditHistory": [
{
"applicationId": 123,
"changedAt": 123,
"initiatingUserId": 123,
"objectTypeId": 123
}
],
"display": {
"properties": [
{
"label": "<string>",
"name": "<string>",
"options": [
{
"label": "<string>",
"name": "<string>"
}
]
}
]
},
"fetch": {
"objectTypes": [
{
"propertiesToSend": [
"<string>"
]
}
],
"targetUrl": "<string>"
},
"id": "<string>",
"title": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Create a CRM card
Define una nueva tarjeta que se activará en una cuenta cuando se instale esta aplicación.
curl --request POST \
--url https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"display": {
"properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
]
},
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": [
"email",
"firstname"
]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
'import requests
url = "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}"
payload = {
"actions": { "baseUrls": ["https://www.example.com/hubspot"] },
"display": { "properties": [
{
"dataType": "STRING",
"label": "Pets Name",
"name": "pet_name"
}
] },
"fetch": {
"objectTypes": [
{
"name": "contacts",
"propertiesToSend": ["email", "firstname"]
}
],
"targetUrl": "https://www.example.com/hubspot/target"
},
"title": "PetSpot"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
actions: {baseUrls: ['https://www.example.com/hubspot']},
display: {properties: [{dataType: 'STRING', label: 'Pets Name', name: 'pet_name'}]},
fetch: {
objectTypes: [{name: 'contacts', propertiesToSend: ['email', 'firstname']}],
targetUrl: 'https://www.example.com/hubspot/target'
},
title: 'PetSpot'
})
};
fetch('https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'actions' => [
'baseUrls' => [
'https://www.example.com/hubspot'
]
],
'display' => [
'properties' => [
[
'dataType' => 'STRING',
'label' => 'Pets Name',
'name' => 'pet_name'
]
]
],
'fetch' => [
'objectTypes' => [
[
'name' => 'contacts',
'propertiesToSend' => [
'email',
'firstname'
]
]
],
'targetUrl' => 'https://www.example.com/hubspot/target'
],
'title' => 'PetSpot'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}"
payload := strings.NewReader("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/v3/extensions/cards-dev/{appId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"actions\": {\n \"baseUrls\": [\n \"https://www.example.com/hubspot\"\n ]\n },\n \"display\": {\n \"properties\": [\n {\n \"dataType\": \"STRING\",\n \"label\": \"Pets Name\",\n \"name\": \"pet_name\"\n }\n ]\n },\n \"fetch\": {\n \"objectTypes\": [\n {\n \"name\": \"contacts\",\n \"propertiesToSend\": [\n \"email\",\n \"firstname\"\n ]\n }\n ],\n \"targetUrl\": \"https://www.example.com/hubspot/target\"\n },\n \"title\": \"PetSpot\"\n}"
response = http.request(request)
puts response.read_body{
"actions": {
"baseUrls": [
"https://www.example.com/hubspot"
]
},
"auditHistory": [
{
"applicationId": 123,
"changedAt": 123,
"initiatingUserId": 123,
"objectTypeId": 123
}
],
"display": {
"properties": [
{
"label": "<string>",
"name": "<string>",
"options": [
{
"label": "<string>",
"name": "<string>"
}
]
}
]
},
"fetch": {
"objectTypes": [
{
"propertiesToSend": [
"<string>"
]
}
],
"targetUrl": "<string>"
},
"id": "<string>",
"title": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Autorizaciones
The access token received from the authorization server in the OAuth 2.0 flow.
Parámetros de ruta
El ID de la aplicación que contendrá la tarjeta del CRM anterior
Cuerpo
State of card definition to be created
Configuration for custom user actions on cards.
Show child attributes
Show child attributes
{
"baseUrls": ["https://www.example.com/hubspot"]
}
Configuration for displayed info on a card
Show child attributes
Show child attributes
Configuration for this card's data fetch request.
Show child attributes
Show child attributes
El título principal de esta tarjeta, que se muestra a los usuarios en la interfaz de usuario del CRM. Es una cadena.
Respuesta
successful operation
Configuration for custom user actions on cards.
Show child attributes
Show child attributes
{
"baseUrls": ["https://www.example.com/hubspot"]
}
Una lista de acciones realizadas en la tarjeta, que incluyen creación, eliminación y actualizaciones.
Show child attributes
Show child attributes
Configuration for displayed info on a card
Show child attributes
Show child attributes
Show child attributes
Show child attributes
El ID único de la tarjeta.
El título de nivel superior de esta tarjeta. Se muestra a los usuarios en la UI del CRM.
La fecha y hora en que se creó la tarjeta.
La fecha y hora en que se actualizó por última vez la tarjeta.