CF7 및 ActiveCampaign: Account 필드가 보이지 않는 이유
ActiveCampaign에서는 Account 필드가 보입니다.
Contact Form 7 (CF7) 플러그인에서 이를 매핑하려고 시도합니다.
하지만 필드가 전혀 나타나지 않습니다.
플러그인 업데이트를 기다린다고 해서 해결되지 않습니다. 이것은 버그가 아닙니다.
이는 ActiveCampaign의 데이터 구조 방식 때문에 발생하는 현상입니다.
ActiveCampaign에서 Contact와 Account는 서로 다른 개념입니다.
- Contact는 개인입니다. 이름, 이메일, 전화번호를 가집니다.
- Account는 기업입니다. 웹사이트, 산업군, 매출 정보를 가집니다.
CF7 플러그인을 사용하면 Contacts API와 통신하게 됩니다. 이때 플러그인은 개인(person)에 대한 필드 목록을 요청합니다.
Account 필드는 Contact 필드가 아닙니다. 이는 다른 API 엔드포인트에 속해 있습니다. 이것이 매퍼(mapper)에서 해당 필드를 찾을 수 없는 이유입니다.
대부분의 플러그인은 단 한 단계만 처리합니다. Contact를 생성하고 거기서 멈춥니다.
Contact를 Account에 연결하려면 다음 세 단계가 필요합니다:
- Contact를 생성하거나 업데이트합니다.
- Account를 생성합니다.
- Contact ID를 Account ID에 연결합니다.
이를 위해서는 세 번의 별도 API 호출이 필요합니다. 대부분의 기본적인 플러그인은 이 기능을 지원하도록 설계되지 않았습니다.
이를 해결하는 세 가지 방법은 다음과 같습니다:
사용자 정의 필드(Custom Field) 사용 ActiveCampaign의 Contact 객체에 "Company"라는 이름의 사용자 정의 필드를 만듭니다. 그러면 플러그인에서 이 필드를 인식할 수 있습니다. 여기에 회사 이름을 매핑하면 됩니다. 단, 이는 단순한 텍스트 필드일 뿐이며 실제 Account 레코드는 아니라는 점에 유의하십시오.
ActiveCampaign 자동화(Automations) 사용 먼저 폼 데이터를 Contact 레코드에 매핑합니다. 그런 다음 ActiveCampaign 자동화를 사용합니다. 자동화 기능을 통해 회사 이름을 찾아 Contact를 Account에 자동으로 연결할 수 있습니다. 이 방식은 설정을 단순하게 유지해 줍니다.
직접 API 연동(Direct API Integration) 사용 Contact Form to API와 같은 도구를 사용합니다. 이를 통해 API 호출을 체인(chain) 형태로 연결할 수 있습니다. 첫 번째 호출의 응답 값을 다음 요청으로 전달할 수 있습니다.
개발자라면 wp_remote_post 함수를 사용하여 이 세 단계를 수동으로 처리하는 커스텀 PHP 함수를 작성할 수 있습니다.
