curl --request POST \
--url https://api.hubapi.com/crm/v3/extensions/calling/inbound-call \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"createEngagement": true,
"engagementProperties": {},
"externalCallId": "<string>",
"fromNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"potentialRecipientUserIds": [
123
],
"toNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"callStartedTimestamp": "2023-11-07T05:31:56Z",
"durationSeconds": 123,
"userId": 123
}
'import requests
url = "https://api.hubapi.com/crm/v3/extensions/calling/inbound-call"
payload = {
"createEngagement": True,
"engagementProperties": {},
"externalCallId": "<string>",
"fromNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"potentialRecipientUserIds": [123],
"toNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"callStartedTimestamp": "2023-11-07T05:31:56Z",
"durationSeconds": 123,
"userId": 123
}
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({
createEngagement: true,
engagementProperties: {},
externalCallId: '<string>',
fromNumber: {e164Number: '<string>', extension: '<string>'},
potentialRecipientUserIds: [123],
toNumber: {e164Number: '<string>', extension: '<string>'},
callStartedTimestamp: '2023-11-07T05:31:56Z',
durationSeconds: 123,
userId: 123
})
};
fetch('https://api.hubapi.com/crm/v3/extensions/calling/inbound-call', 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/calling/inbound-call",
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([
'createEngagement' => true,
'engagementProperties' => [
],
'externalCallId' => '<string>',
'fromNumber' => [
'e164Number' => '<string>',
'extension' => '<string>'
],
'potentialRecipientUserIds' => [
123
],
'toNumber' => [
'e164Number' => '<string>',
'extension' => '<string>'
],
'callStartedTimestamp' => '2023-11-07T05:31:56Z',
'durationSeconds' => 123,
'userId' => 123
]),
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/calling/inbound-call"
payload := strings.NewReader("{\n \"createEngagement\": true,\n \"engagementProperties\": {},\n \"externalCallId\": \"<string>\",\n \"fromNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"potentialRecipientUserIds\": [\n 123\n ],\n \"toNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"callStartedTimestamp\": \"2023-11-07T05:31:56Z\",\n \"durationSeconds\": 123,\n \"userId\": 123\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/calling/inbound-call")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"createEngagement\": true,\n \"engagementProperties\": {},\n \"externalCallId\": \"<string>\",\n \"fromNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"potentialRecipientUserIds\": [\n 123\n ],\n \"toNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"callStartedTimestamp\": \"2023-11-07T05:31:56Z\",\n \"durationSeconds\": 123,\n \"userId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/v3/extensions/calling/inbound-call")
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 \"createEngagement\": true,\n \"engagementProperties\": {},\n \"externalCallId\": \"<string>\",\n \"fromNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"potentialRecipientUserIds\": [\n 123\n ],\n \"toNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"callStartedTimestamp\": \"2023-11-07T05:31:56Z\",\n \"durationSeconds\": 123,\n \"userId\": 123\n}"
response = http.request(request)
puts response.read_body{
"callerIdMatches": [
{
"callerIdType": "CONTACT",
"objectCoordinates": {
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123
},
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>"
}
]
}{
"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"
}
}Submit details of an inbound call to the CRM.
Ce point de terminaison vous permet de soumettre des informations sur un appel entrant au système CRM. La requête doit inclure des détails tels que l’ID d’appel externe, le statut de l’appel et les numéros de téléphone impliqués. Cette opération facilite l’enregistrement et la gestion des données d’appels entrants au sein du CRM.
curl --request POST \
--url https://api.hubapi.com/crm/v3/extensions/calling/inbound-call \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"createEngagement": true,
"engagementProperties": {},
"externalCallId": "<string>",
"fromNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"potentialRecipientUserIds": [
123
],
"toNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"callStartedTimestamp": "2023-11-07T05:31:56Z",
"durationSeconds": 123,
"userId": 123
}
'import requests
url = "https://api.hubapi.com/crm/v3/extensions/calling/inbound-call"
payload = {
"createEngagement": True,
"engagementProperties": {},
"externalCallId": "<string>",
"fromNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"potentialRecipientUserIds": [123],
"toNumber": {
"e164Number": "<string>",
"extension": "<string>"
},
"callStartedTimestamp": "2023-11-07T05:31:56Z",
"durationSeconds": 123,
"userId": 123
}
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({
createEngagement: true,
engagementProperties: {},
externalCallId: '<string>',
fromNumber: {e164Number: '<string>', extension: '<string>'},
potentialRecipientUserIds: [123],
toNumber: {e164Number: '<string>', extension: '<string>'},
callStartedTimestamp: '2023-11-07T05:31:56Z',
durationSeconds: 123,
userId: 123
})
};
fetch('https://api.hubapi.com/crm/v3/extensions/calling/inbound-call', 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/calling/inbound-call",
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([
'createEngagement' => true,
'engagementProperties' => [
],
'externalCallId' => '<string>',
'fromNumber' => [
'e164Number' => '<string>',
'extension' => '<string>'
],
'potentialRecipientUserIds' => [
123
],
'toNumber' => [
'e164Number' => '<string>',
'extension' => '<string>'
],
'callStartedTimestamp' => '2023-11-07T05:31:56Z',
'durationSeconds' => 123,
'userId' => 123
]),
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/calling/inbound-call"
payload := strings.NewReader("{\n \"createEngagement\": true,\n \"engagementProperties\": {},\n \"externalCallId\": \"<string>\",\n \"fromNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"potentialRecipientUserIds\": [\n 123\n ],\n \"toNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"callStartedTimestamp\": \"2023-11-07T05:31:56Z\",\n \"durationSeconds\": 123,\n \"userId\": 123\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/calling/inbound-call")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"createEngagement\": true,\n \"engagementProperties\": {},\n \"externalCallId\": \"<string>\",\n \"fromNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"potentialRecipientUserIds\": [\n 123\n ],\n \"toNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"callStartedTimestamp\": \"2023-11-07T05:31:56Z\",\n \"durationSeconds\": 123,\n \"userId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/v3/extensions/calling/inbound-call")
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 \"createEngagement\": true,\n \"engagementProperties\": {},\n \"externalCallId\": \"<string>\",\n \"fromNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"potentialRecipientUserIds\": [\n 123\n ],\n \"toNumber\": {\n \"e164Number\": \"<string>\",\n \"extension\": \"<string>\"\n },\n \"callStartedTimestamp\": \"2023-11-07T05:31:56Z\",\n \"durationSeconds\": 123,\n \"userId\": 123\n}"
response = http.request(request)
puts response.read_body{
"callerIdMatches": [
{
"callerIdType": "CONTACT",
"objectCoordinates": {
"objectId": 123,
"objectTypeId": "<string>",
"portalId": 123
},
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>"
}
]
}{
"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
Required Scopes
Required Scopes
Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Corps
Indique si un engagement doit être créé pour l'appel.
Contient des propriétés supplémentaires liées à l'engagement.
Show child attributes
Show child attributes
L'identifiant unique de l'appel provenant d'un système externe.
Le statut final de l'appel, avec les valeurs acceptées suivantes : BUSY, CALLING_CRM_USER, CANCELED, COMPLETED, CONNECTING, FAILED, HOLD, IN_PROGRESS, MISSED, NO_ANSWER, QUEUED, RINGING, UNKNOWN.
BUSY, CALLING_CRM_USER, CANCELED, COMPLETED, CONNECTING, FAILED, HOLD, IN_PROGRESS, MISSED, NO_ANSWER, QUEUED, RINGING, UNKNOWN Show child attributes
Show child attributes
Show child attributes
Show child attributes
L'horodatage indiquant le début de l'appel, au format chaîne date-heure.
La durée de l'appel en secondes.
L'ID de l'utilisateur associé à l'appel.
Réponse
successful operation
- CONTACT
- COMPANY
Show child attributes
Show child attributes