B2B Worker
B2B Worker Docs

Bitrix24 entegrasyonu

B2B Worker, Bitrix24 ile local webhook köprüsü üzerinden konuşur (marketplace/OAuth yok — MVP).

CRM materialize (contact/company/deal → b2bcrm Records) bu dokümanın konusu değildir.
Klinik CRM kayıtları için b2bcrm → Settings → Bitrix (/settings/bitrix) kullanın.
Ayrıntı: b2bcrm docs/bitrix-inbound.md.
Bu panel yalnızca deal → event → workflow otomasyonu içindir.

Mimari

Bitrix24                         app.b2bworker.com                      Bitrix24
   |                                      |                                  |
   | Outgoing webhook                     |                                  |
   | ONCRMDEAL*                           |                                  |
   | POST …/integrations/bitrix/hooks/{org}/                                 |
   |------------------------------------->|  token doğrula                   |
   |                                      |  crm.deal.get (+ contact)        |
   |                                      |  field_map → payload             |
   |                                      |  ingest_event + workflow         |
   |                                      |  WhatsApp / partner …            |
   |                                      |--------------------------------->|
   |                                      |  WebhookSubscription             |
   |                                      |  EXECUTION_SUCCESS/FAILED        |
   |                                      |  POST …/bitrix/result/{org}/     |
   |                                      |  crm.deal.update veya            |
   |                                      |  crm.automation.trigger          |

Panel: /integrations/bitrix

Bitrix tarafında manuel adımlar

  1. Incoming webhook (Geliştirici kaynakları → Incoming)

    • CRM okuma/yazma + Automation yetkileri
    • URL’den user_id ve code alın → panele yapıştırın
  2. Outgoing webhook

    • Handler URL = paneldeki hooks_url
    • Event: ONCRMDEALADD ve/veya ONCRMDEALUPDATE
    • Application Token → panele
  3. Deal + Contact alanları

    • Telefon Contact’ta; E.164 tercih (+90…)
    • Custom: örn. UF_CRM_AIRPORT, UF_CRM_FLIGHT_TIME
    • Field map ile B2B path’lerine bağlayın (patient.phone, …)
  4. Huni / Automation (opsiyonel)

    • Başarı/hata aşamaları
    • “Track Incoming Webhook” trigger → trigger_code panele
  5. Lisans

    • On-premise outgoing için aktif lisans gerekir; demo’da çalışmayabilir

B2B panel adımları

  1. /integrations/bitrix — portal, incoming code, outgoing token
  2. Default event + workflow key (örn. FLIGHT_CHANGED / flight-change)
  3. Field map satırları
  4. on_success / on_failure aksiyonu
  5. Aktif işaretle → Kaydet (otomatik WebhookSubscription oluşur)
  6. Deal ID ile Önizle

PUBLIC_APP_BASE_URL (örn. https://app.b2bworker.com) absolute handler URL’leri için önerilir.

API özeti

MethodPathAuth
GET/PUT/api/v1/integrations/bitrix/JWT
POST/api/v1/integrations/bitrix/preview/JWT
POST/api/v1/integrations/bitrix/ensure-subscription/JWT
POST/api/v1/integrations/bitrix/hooks/{org_id}/Bitrix application_token
POST/api/v1/integrations/bitrix/result/{org_id}/X-Signature (subscription secret)

Field map örneği (flight-change)

BitrixB2B payload
(deal ID otomatik)deal.bitrix_id
CONTACT.PHONEpatient.phone
CONTACT.NAMEpatient.name
UF_CRM_AIRPORTflight.airport
UF_CRM_FLIGHT_TIMEflight.time

Sınırlamalar

  • Bitrix outgoing webhook retry zayıf — handler’ınız hızlı 2xx dönmeli
  • 201 event kabulü ≠ WhatsApp teslim (Meta 24s / template kuralları geçerli)
  • MVP: tek portal / org, yalnızca Deal
  • Marketplace app / OAuth sonraki faz

İlgili: testcrm ↔ app, Webhooks, Eventler