Criar card
curl --request POST \
--url https://api.connectadesk.com/api/v1/crm/cards \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Pedido #88213",
"crmBoardId": 7,
"crmBoardListId": 31,
"description": "<string>",
"origin": "Instagram",
"assignedToUserId": 3,
"crmBusinessId": 9,
"crmBoardCardStatusId": 2,
"customFields": [
{
"id": "plano",
"value": "Ouro"
}
],
"products": [
{
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9
}
]
}
'import requests
url = "https://api.connectadesk.com/api/v1/crm/cards"
payload = {
"name": "Pedido #88213",
"crmBoardId": 7,
"crmBoardListId": 31,
"description": "<string>",
"origin": "Instagram",
"assignedToUserId": 3,
"crmBusinessId": 9,
"crmBoardCardStatusId": 2,
"customFields": [
{
"id": "plano",
"value": "Ouro"
}
],
"products": [
{
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9
}
]
}
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({
name: 'Pedido #88213',
crmBoardId: 7,
crmBoardListId: 31,
description: '<string>',
origin: 'Instagram',
assignedToUserId: 3,
crmBusinessId: 9,
crmBoardCardStatusId: 2,
customFields: [{id: 'plano', value: 'Ouro'}],
products: [{sku: 'CAM-PRETA-M', quantity: 2, unitPrice: 149.9}]
})
};
fetch('https://api.connectadesk.com/api/v1/crm/cards', 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.connectadesk.com/api/v1/crm/cards",
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([
'name' => 'Pedido #88213',
'crmBoardId' => 7,
'crmBoardListId' => 31,
'description' => '<string>',
'origin' => 'Instagram',
'assignedToUserId' => 3,
'crmBusinessId' => 9,
'crmBoardCardStatusId' => 2,
'customFields' => [
[
'id' => 'plano',
'value' => 'Ouro'
]
],
'products' => [
[
'sku' => 'CAM-PRETA-M',
'quantity' => 2,
'unitPrice' => 149.9
]
]
]),
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.connectadesk.com/api/v1/crm/cards"
payload := strings.NewReader("{\n \"name\": \"Pedido #88213\",\n \"crmBoardId\": 7,\n \"crmBoardListId\": 31,\n \"description\": \"<string>\",\n \"origin\": \"Instagram\",\n \"assignedToUserId\": 3,\n \"crmBusinessId\": 9,\n \"crmBoardCardStatusId\": 2,\n \"customFields\": [\n {\n \"id\": \"plano\",\n \"value\": \"Ouro\"\n }\n ],\n \"products\": [\n {\n \"sku\": \"CAM-PRETA-M\",\n \"quantity\": 2,\n \"unitPrice\": 149.9\n }\n ]\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.connectadesk.com/api/v1/crm/cards")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Pedido #88213\",\n \"crmBoardId\": 7,\n \"crmBoardListId\": 31,\n \"description\": \"<string>\",\n \"origin\": \"Instagram\",\n \"assignedToUserId\": 3,\n \"crmBusinessId\": 9,\n \"crmBoardCardStatusId\": 2,\n \"customFields\": [\n {\n \"id\": \"plano\",\n \"value\": \"Ouro\"\n }\n ],\n \"products\": [\n {\n \"sku\": \"CAM-PRETA-M\",\n \"quantity\": 2,\n \"unitPrice\": 149.9\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.connectadesk.com/api/v1/crm/cards")
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 \"name\": \"Pedido #88213\",\n \"crmBoardId\": 7,\n \"crmBoardListId\": 31,\n \"description\": \"<string>\",\n \"origin\": \"Instagram\",\n \"assignedToUserId\": 3,\n \"crmBusinessId\": 9,\n \"crmBoardCardStatusId\": 2,\n \"customFields\": [\n {\n \"id\": \"plano\",\n \"value\": \"Ouro\"\n }\n ],\n \"products\": [\n {\n \"sku\": \"CAM-PRETA-M\",\n \"quantity\": 2,\n \"unitPrice\": 149.9\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 4471,
"name": "Pedido #88213",
"description": "Cliente pediu retorno na segunda de manhã.",
"won": false,
"wonDate": null,
"statusReason": null,
"boardId": 7,
"list": {
"id": 31,
"name": "Aguardando envio"
},
"status": {
"id": 2,
"name": "Em negociação",
"color": "#F59E0B"
},
"business": {
"id": 9,
"name": "Varejo"
},
"origin": {
"id": 5,
"name": "Instagram"
},
"assignedTo": {
"id": 3,
"name": "Gabriel Goulart"
},
"contacts": [
{
"id": 1042,
"name": "Marina Alves",
"number": "5511999999999",
"email": "marina@exemplo.com.br",
"code": "CLI-8842",
"cpfCnpj": "12345678909",
"origin": "Site",
"profilePicUrl": "https://cdn.exemplo.com.br/avatar/1042.jpg",
"isGroup": false,
"instagramUsername": "marina.alves",
"sourceUrl": "https://loja.exemplo.com.br/promo",
"sourceId": "23851234567890123",
"headline": "Coleção de inverno",
"utmSource": "instagram",
"utmMedium": "cpc",
"utmCampaign": "inverno-2026",
"utmId": "6543210987",
"tags": [
{
"id": 3,
"name": "Cliente VIP",
"color": "#6941C6"
}
],
"customFields": [
{
"key": "plano",
"value": "Ouro",
"customFieldId": 91,
"name": "Plano",
"type": "select"
}
],
"lastChannel": {
"id": 11,
"name": "Instagram Loja",
"type": "instagram"
},
"createdAt": "2026-07-14T13:22:05.412Z",
"updatedAt": "2026-08-18T09:41:17.883Z"
}
],
"products": [
{
"id": 812,
"productId": 55,
"name": "Camiseta preta M",
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9,
"totalPrice": 299.8
}
],
"productsTotal": 299.8,
"customFields": [
{
"key": "prioridade",
"value": "Alta",
"customFieldId": 77,
"name": "Prioridade",
"type": "select"
}
],
"creationSource": "api",
"due": "2026-09-15T12:00:00.000Z",
"createdAt": "2026-09-08T14:32:10.000Z",
"updatedAt": "2026-09-08T16:02:44.000Z"
}
}{
"error": {
"code": "ERR_CUSTOM_FIELD_NOT_FOUND",
"message": "ERR_CUSTOM_FIELD_NOT_FOUND: prioridade"
}
}{
"error": {
"code": "ERR_API_VALIDATION",
"message": "O parâmetro `application` é obrigatório e aceita \"contact\" ou \"card\"."
}
}Autorizações
Token da API no formato sk_live_….
Corpo
Nome do card.
"Pedido #88213"
Painel do CRM.
7
Etapa do painel em que o card é criado.
31
Descrição do card.
Origem do card, informada pelo nome. Se ainda não existir, é criada.
"Instagram"
Atendente responsável pelo card. Use o id do usuário nesta empresa, o mesmo que GET /users devolve. A mesma pessoa tem um id diferente em cada empresa em que trabalha.
3
Negócio vinculado ao card.
9
Só os cards com este status. Os status são configurados em cada etapa.
2
Campos personalizados de CRM que serão gravados no card novo. Se algum valor não passar na validação do tipo do campo, a resposta é 400 e o card não é criado.
Show child attributes
Show child attributes
Produtos do card. Cada item aponta para um produto já cadastrado no catálogo. A API não cria produtos novos por aqui.
Show child attributes
Show child attributes
Resposta
Criado. Devolve o card completo, com contacts, customFields e products, incluindo os que foram enviados nesta requisição. Você não precisa fazer um GET logo depois do POST.
Card de um painel do CRM. A resposta traz apenas os campos listados aqui.
Show child attributes
Show child attributes
{
"id": 4471,
"name": "Pedido #88213",
"description": "Cliente pediu retorno na segunda de manhã.",
"won": false,
"wonDate": null,
"statusReason": null,
"boardId": 7,
"list": { "id": 31, "name": "Aguardando envio" },
"status": {
"id": 2,
"name": "Em negociação",
"color": "#F59E0B"
},
"business": { "id": 9, "name": "Varejo" },
"origin": { "id": 5, "name": "Instagram" },
"assignedTo": { "id": 3, "name": "Gabriel Goulart" },
"contacts": [
{
"id": 1042,
"name": "Marina Alves",
"number": "5511999999999",
"email": "marina@exemplo.com.br",
"code": "CLI-8842",
"cpfCnpj": "12345678909",
"origin": "Site",
"profilePicUrl": "https://cdn.exemplo.com.br/avatar/1042.jpg",
"isGroup": false,
"instagramUsername": "marina.alves",
"sourceUrl": "https://loja.exemplo.com.br/promo",
"sourceId": "23851234567890123",
"headline": "Coleção de inverno",
"utmSource": "instagram",
"utmMedium": "cpc",
"utmCampaign": "inverno-2026",
"utmId": "6543210987",
"tags": [
{
"id": 3,
"name": "Cliente VIP",
"color": "#6941C6"
}
],
"customFields": [
{
"key": "plano",
"value": "Ouro",
"customFieldId": 91,
"name": "Plano",
"type": "select"
}
],
"lastChannel": {
"id": 11,
"name": "Instagram Loja",
"type": "instagram"
},
"createdAt": "2026-07-14T13:22:05.412Z",
"updatedAt": "2026-08-18T09:41:17.883Z"
}
],
"products": [
{
"id": 812,
"productId": 55,
"name": "Camiseta preta M",
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9,
"totalPrice": 299.8
}
],
"productsTotal": 299.8,
"customFields": [
{
"key": "prioridade",
"value": "Alta",
"customFieldId": 77,
"name": "Prioridade",
"type": "select"
}
],
"creationSource": "api",
"due": "2026-09-15T12:00:00.000Z",
"createdAt": "2026-09-08T14:32:10.000Z",
"updatedAt": "2026-09-08T16:02:44.000Z"
}
curl --request POST \
--url https://api.connectadesk.com/api/v1/crm/cards \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Pedido #88213",
"crmBoardId": 7,
"crmBoardListId": 31,
"description": "<string>",
"origin": "Instagram",
"assignedToUserId": 3,
"crmBusinessId": 9,
"crmBoardCardStatusId": 2,
"customFields": [
{
"id": "plano",
"value": "Ouro"
}
],
"products": [
{
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9
}
]
}
'import requests
url = "https://api.connectadesk.com/api/v1/crm/cards"
payload = {
"name": "Pedido #88213",
"crmBoardId": 7,
"crmBoardListId": 31,
"description": "<string>",
"origin": "Instagram",
"assignedToUserId": 3,
"crmBusinessId": 9,
"crmBoardCardStatusId": 2,
"customFields": [
{
"id": "plano",
"value": "Ouro"
}
],
"products": [
{
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9
}
]
}
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({
name: 'Pedido #88213',
crmBoardId: 7,
crmBoardListId: 31,
description: '<string>',
origin: 'Instagram',
assignedToUserId: 3,
crmBusinessId: 9,
crmBoardCardStatusId: 2,
customFields: [{id: 'plano', value: 'Ouro'}],
products: [{sku: 'CAM-PRETA-M', quantity: 2, unitPrice: 149.9}]
})
};
fetch('https://api.connectadesk.com/api/v1/crm/cards', 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.connectadesk.com/api/v1/crm/cards",
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([
'name' => 'Pedido #88213',
'crmBoardId' => 7,
'crmBoardListId' => 31,
'description' => '<string>',
'origin' => 'Instagram',
'assignedToUserId' => 3,
'crmBusinessId' => 9,
'crmBoardCardStatusId' => 2,
'customFields' => [
[
'id' => 'plano',
'value' => 'Ouro'
]
],
'products' => [
[
'sku' => 'CAM-PRETA-M',
'quantity' => 2,
'unitPrice' => 149.9
]
]
]),
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.connectadesk.com/api/v1/crm/cards"
payload := strings.NewReader("{\n \"name\": \"Pedido #88213\",\n \"crmBoardId\": 7,\n \"crmBoardListId\": 31,\n \"description\": \"<string>\",\n \"origin\": \"Instagram\",\n \"assignedToUserId\": 3,\n \"crmBusinessId\": 9,\n \"crmBoardCardStatusId\": 2,\n \"customFields\": [\n {\n \"id\": \"plano\",\n \"value\": \"Ouro\"\n }\n ],\n \"products\": [\n {\n \"sku\": \"CAM-PRETA-M\",\n \"quantity\": 2,\n \"unitPrice\": 149.9\n }\n ]\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.connectadesk.com/api/v1/crm/cards")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Pedido #88213\",\n \"crmBoardId\": 7,\n \"crmBoardListId\": 31,\n \"description\": \"<string>\",\n \"origin\": \"Instagram\",\n \"assignedToUserId\": 3,\n \"crmBusinessId\": 9,\n \"crmBoardCardStatusId\": 2,\n \"customFields\": [\n {\n \"id\": \"plano\",\n \"value\": \"Ouro\"\n }\n ],\n \"products\": [\n {\n \"sku\": \"CAM-PRETA-M\",\n \"quantity\": 2,\n \"unitPrice\": 149.9\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.connectadesk.com/api/v1/crm/cards")
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 \"name\": \"Pedido #88213\",\n \"crmBoardId\": 7,\n \"crmBoardListId\": 31,\n \"description\": \"<string>\",\n \"origin\": \"Instagram\",\n \"assignedToUserId\": 3,\n \"crmBusinessId\": 9,\n \"crmBoardCardStatusId\": 2,\n \"customFields\": [\n {\n \"id\": \"plano\",\n \"value\": \"Ouro\"\n }\n ],\n \"products\": [\n {\n \"sku\": \"CAM-PRETA-M\",\n \"quantity\": 2,\n \"unitPrice\": 149.9\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 4471,
"name": "Pedido #88213",
"description": "Cliente pediu retorno na segunda de manhã.",
"won": false,
"wonDate": null,
"statusReason": null,
"boardId": 7,
"list": {
"id": 31,
"name": "Aguardando envio"
},
"status": {
"id": 2,
"name": "Em negociação",
"color": "#F59E0B"
},
"business": {
"id": 9,
"name": "Varejo"
},
"origin": {
"id": 5,
"name": "Instagram"
},
"assignedTo": {
"id": 3,
"name": "Gabriel Goulart"
},
"contacts": [
{
"id": 1042,
"name": "Marina Alves",
"number": "5511999999999",
"email": "marina@exemplo.com.br",
"code": "CLI-8842",
"cpfCnpj": "12345678909",
"origin": "Site",
"profilePicUrl": "https://cdn.exemplo.com.br/avatar/1042.jpg",
"isGroup": false,
"instagramUsername": "marina.alves",
"sourceUrl": "https://loja.exemplo.com.br/promo",
"sourceId": "23851234567890123",
"headline": "Coleção de inverno",
"utmSource": "instagram",
"utmMedium": "cpc",
"utmCampaign": "inverno-2026",
"utmId": "6543210987",
"tags": [
{
"id": 3,
"name": "Cliente VIP",
"color": "#6941C6"
}
],
"customFields": [
{
"key": "plano",
"value": "Ouro",
"customFieldId": 91,
"name": "Plano",
"type": "select"
}
],
"lastChannel": {
"id": 11,
"name": "Instagram Loja",
"type": "instagram"
},
"createdAt": "2026-07-14T13:22:05.412Z",
"updatedAt": "2026-08-18T09:41:17.883Z"
}
],
"products": [
{
"id": 812,
"productId": 55,
"name": "Camiseta preta M",
"sku": "CAM-PRETA-M",
"quantity": 2,
"unitPrice": 149.9,
"totalPrice": 299.8
}
],
"productsTotal": 299.8,
"customFields": [
{
"key": "prioridade",
"value": "Alta",
"customFieldId": 77,
"name": "Prioridade",
"type": "select"
}
],
"creationSource": "api",
"due": "2026-09-15T12:00:00.000Z",
"createdAt": "2026-09-08T14:32:10.000Z",
"updatedAt": "2026-09-08T16:02:44.000Z"
}
}{
"error": {
"code": "ERR_CUSTOM_FIELD_NOT_FOUND",
"message": "ERR_CUSTOM_FIELD_NOT_FOUND: prioridade"
}
}{
"error": {
"code": "ERR_API_VALIDATION",
"message": "O parâmetro `application` é obrigatório e aceita \"contact\" ou \"card\"."
}
}
