Тема
GET /v1/inbound/leads/{externalId}/status
Получить текущий статус ранее залитого лида по вашему external_id.
Pull-вариант для случаев, когда callback пропущен / не дошёл / вы хотите свериться. Основной канал доставки статусов — всё-таки callbacks.
Запрос
http
GET /v1/inbound/leads/aff42-lead-001/status HTTP/1.1
Host: cartelcrm.com
Authorization: Bearer <api_key>
X-Signature: sha256=<HMAC-SHA256("", hmac_secret)>
X-Timestamp: <unix seconds>Подпись пустого тела
У GET-запроса нет body, но мы всё равно требуем X-Signature. Подписывайте пустую строку: HMAC-SHA256("", hmac_secret). Это защитит от replay-attack даже без тела.
Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
externalId | string | Ваш external_id, который вы передали при создании. |
Ответы
200 OK
json
{
"id": "le-12345",
"external_id": "aff42-lead-001",
"status": "ftd",
"is_depositor": true,
"updated_at": "2026-05-27T14:22:03+00:00"
}| Поле | Описание |
|---|---|
id | Наш internal id (формат le-{numeric}). |
external_id | Ваш id, для self-проверки. |
status | Наш канонический код статуса (см. Статусы). |
is_depositor | true если лид перешёл в client (был FTD). |
updated_at | ISO-8601, момент последнего изменения. |
Status mapping здесь НЕ применяется
В отличие от callback'ов, GET /status возвращает «сырой» код. Если хотите ваше представление — маппите его на своей стороне по той же таблице, что согласована с менеджером.
404 Not Found
json
{ "error": "not_found" }Возможные причины:
- Лид с таким
external_idникогда не присылался. external_idпринадлежит другому партнёру (мы изолируем поиск поaffiliate_id).- Лид soft-deleted (происходит крайне редко, по GDPR-запросам).
401 / 403 / 429
Стандартные ошибки auth и rate-limit — см. Authentication и Errors.
Полный cURL-пример
bash
EXT_ID="aff42-lead-001"
TS=$(date +%s)
SIG=$(printf '' | openssl dgst -sha256 -hmac "$HMAC_SECRET" -hex | awk '{print $2}')
curl -X GET "https://cartelcrm.com/api/v1/inbound/leads/$EXT_ID/status" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Signature: sha256=$SIG" \
-H "X-Timestamp: $TS"Поллинг? Лучше callback
Не делайте регулярный polling этого endpoint'а для всех лидов — это бессмысленная нагрузка. Используйте callbacks. Pull-эндпоинт — для точечной проверки конкретного лида, когда вы что-то потеряли или нужна свериться.
Если callback не пришёл — напишите менеджеру, мы посмотрим Outgoing Webhooks лог у себя (/integrations → партнёр → Webhooks log).