Skip to content

Instantly share code, notes, and snippets.

@hashsnap-net
Last active May 31, 2022 03:18
Show Gist options
  • Save hashsnap-net/921b6c407839880ec08237089e78dd0d to your computer and use it in GitHub Desktop.
Save hashsnap-net/921b6c407839880ec08237089e78dd0d to your computer and use it in GitHub Desktop.
파이프드라이브 API 설명

조직, 고객, 거래 생성

파이프드라이브에서 '거래'란 무엇입니까?

  • '거래(Deal)' = 조직(Organization) 혹은 고객(Person)과 연계되어 진행되는 업무
  • 이 업무는 파이프라인 단계를 따라 진행하여 최종적으로 성사 혹은 실패 처리됩니다.

거래가 구성되는 세가지 형태

파이프드라이브에서 거래는 조직 혹은 고객과 연결되어야 하므로 다음 세가지 형태가 가능합니다.

example

  1. 거래-조직 연결: (일반적으로 널리 사용하지 않음)
  2. 거래-고객 연결: B2C 영업처럼 고객이 개인 고객일 경우
  3. 거래-조직-고객 모두 연결: B2B 영업에서 상대 조직의 특정 직원과 영업을 진행하는 경우

이 문서의 목적

이 문서에서는 파이프드라이브 API를 이용하여 3번과 같은 형태로 조직(Organization), 고객(Person), 거래(Deal)를 모두 생성하는 방법을 설명합니다.

예를 들어, 한국전자홍길동 과장과 거래를 진행한다면 다음과 같은 데이터를 순서대로 생성해야 합니다.

  1. 조직: 거북선 전자
  2. 고객: 이순신 과장
  3. 거래: 거북선 전자 거래

참고

  • 모든 API Endpoint 호출은 cURL을 이용하여 진행합니다.
  • cURL 옵션에 대해서는 여기를 참고하세요.
  • 이 예제는 Mac OS X 의 터미널에서 cURL 실행했을 때 정상적으로 동작함을 확인했습니다.
  • 파이프드라이브 API를 호출하는 방식은 모든 프로그래밍 언어로 쉽게 구현할 수 있습니다.

이 문서의 구성

  1. 파이프드라이브 API 토큰 얻기
  2. API 호출 주소
  3. 파이프드라이브 사용자 ID 얻기
  4. 파이프라인 단계 찾기
  5. 파이프드라이브 조직 추가
  6. 파이프드라이브 인명 추가
  7. 파이프드라이브 거래 추가
  8. 파이프드라이브 거래 추가 (사용자 지정 필드 접근)

파이프드라이브 API 토큰 얻기

  1. 우측 상단 프로필 아이콘 클릭하고 '설정' 클릭 API-token-1

  2. 설정 - 개인 환경 설정 - API 아래의 개인 API 토큰 에서 토큰 복사 API-token-2

주의: 보안을 위해 API 토큰은 외부에 공개하지 않도록 주의해주세요.

API 토큰이 없다면

  1. 관리자가 API 사용 권한을 주지 않았다면, 위와 같이 진행해도 API 항목이 보이지 않습니다. cannot-find-API-1

  2. 사용자에게 API 권한을 주려면, 관리자 계정으로 로그인하여 설정 - 사용자 관리 - 권한 설정 거쳐서 사용자가 속한 그룹 선택하고 cannot-find-API-2

  3. API 사용 항목을 ON 상태로 변경합니다. cannot-find-API-3

참고문서

API 호출 주소

API 호출 주소는 https://{company-domain}.pipedrive.com/api/v1 으로 시작합니다.

예를 들어, 내가 로그인하는 파이프드라이브 도메인이 https://my-private-domain.pipedrive.com 이면, 이 도메인에 대한 API 호출 주소는 https://my-private-domain.pipedrive.com/api/v1 로 시작합니다.

  1. API 접근 대상은 영어 복수(複數) 로 주어집니다. 예를 들어, deal 관련된 API는 다음과 같습니다.

    https://{company-domain}.pipedrive.com/api/v1/deals

  2. API 접근 대상을 지정하려면 ID를 덧붙입니다. 예를 들어, 123deal에 접근하는 API는 다음과 같습니다.

    https://{company-domain}.pipedrive.com/api/v1/deals/123

  3. 2번의 하위 아이템에 접근하려면 여기에 해당 아이템을 덧붙입니다. 예를 들어, 123deal의 '활동'에 접근하는 API는 다음과 같습니다.

    https://{company-domain}.pipedrive.com/api/v1/deals/123/activities

  4. 위에서 얻은 API 토큰은 다음과 같이 API 주소의 맨 뒤에 파라미터 형태로 추가합니다.

    https://{company-domain}.pipedrive.com/api/v1/deals/123?api_token={my-precious-api-token}

참고문서

파이프드라이브 사용자 ID 얻기

다음과 같이 CURL 명령으로 User 관련 API Endpoint를 호출하면 파이프드라이브에 속한 모든 사용자의 ID를 얻을 수 있습니다.

$ curl -X GET \
  https://{company-domain}.pipedrive.com/api/v1/users?api_token={my-api-token}
{
  "success": true,
  "data": [
    {
      "id": 123,
      "name": "Alice P. Hacker",
      ...,
      "is_you": false
    },
    {
      "id": 555,
      "name": "Ben Bitdiddle",
      ...,
      "is_you":true
    },
    {
      "id": 987,
      "name": "Charlie Delta", 
      ...,
      "is_you":false
    }
  ],
  "additional_data":
  {
    "company_id": XXXXX
  }
}

고객 문의를 분야에 따라 분류하여 거래 소유자를 다르게 지정할 수 있습니다. 특정 종류의 거래를 Alice P. Hacker가 소유하도록 지정하려면 이 사용자의 ID 123 을 사용하세요.

참고문서

파이프라인 단계 찾기

어떤 파이프라인의 어떤 단계에 거래를 추가할지 결정하려면 해당 단계의 ID를 알아야 합니다.

다음과 같이 CURL 명령으로 파이프라인 단계 관련 API Endpoint를 호출하면 파이프드라이브에서 모든 거래 단계의 ID를 얻을 수 있습니다.

$ curl -X GET \
  https://{company-domain}.pipedrive.com/api/v1/stages?api_token={my-api-token}
{
  "success": true,
  "data": [
    {
      "id": 1,
      "order_nr": 1,
      "name": "Lead In",
      "active_flag": true,
      "deal_probability": 100,
      "pipeline_id": 1,
      "rotten_flag": false,
      "rotten_days": null,
      "add_time": "2021-04-11 07:52:27",
      "update_time": "2021-05-03 05:39:36",
      "pipeline_name": "Sandbox Pipeline",
      "pipeline_deal_probability": true
    },
    ...
  ]
}

위에서 알 수 있듯이 'Sandbox Pipeline' 이라는 파이프라인의 'Lead In' 단계는 1번이라는 ID 값을 가집니다. 특정 파이프라인의 특정 단계에 거래를 추가하려면 이 ID 값을 이용하세요.

참고문서

파이프드라이브 조직 추가

이제 모든 사전 준비가 끝났으므로 실제 API 호출하여 파이프드라이브에 데이터를 추가하겠습니다.

첫 시작은 조직(Organization) 추가입니다. 조직을 추가하려면 다음 두가지 정보가 필요합니다.

  1. name: 조직의 이름
  2. owner_id: 이 조직의 소유자

예:

  1. name: 거북선 전자
  2. owner_id: Alice P. Hacker의 ID 123
$ curl -d "name=거북선 전자&owner_id=123" \
  https://{company-domain}.pipedrive.com/api/v1/organizations?api_token={my-api-token}
{
  "success": true,
  "data": {
    "id": 41,
    "company_id": 99999,
    "owner_id": {
      "id": 123,
      "name": "Alice P. Hacker",
      "email": "alice@wonder.land",
      ...
    }
  }
}

결과에서 알 수 있듯이, 새로운 조직이 생성되었고 이 조직의 ID는 41번 입니다.

참고문서

파이프드라이브 인명 추가

다음으로 인명(person)을 추가하겠습니다. 인명을 추가하려면 다음 정보가 필요합니다.

  1. name: 추가할 person 의 이름
  2. owner_id: person의 소유자 ID
  3. org_id: person과 연동된 조직 ID
  4. email: person의 이메일
  5. phone: person의 전화번호

예:

  1. name: 이순신 과장
  2. owner_id: 앞서 검색한 Alice P. Hacker의 ID 123
  3. org_id: 앞서 생성한 '거북선 전자'의 41
  4. email: 이순신 과장 이메일 'soonsin@turtle.ship'
  5. phone: 이순신 과장 전화번호 010-1234-5678
$ curl -d "name=이순신 과장&owner_id=123&org_id=41&email=soonsin@turtle.ship&phone=010-1234-5678" \
https://{company-domain}.pipedrive.com/api/v1/persons?api_token={my-api-token}
{
  "success":true,
  "data": {
    "id": 54,
    "company_id": 999,
    "owner_id": {
      "id": 123,
      "name":"Alice P. Hacker",
      "email":"alice@wonder.land",
      "has_pic":1,
      "pic_hash":"576f537b1b87ee5817c4f8223ebc23df",
      "active_flag":true,
      "value":8824885
    },
    "org_id": {
      "name": "거북선 전자",
      "people_count":0,
      "owner_id":123,
      "address":null,
      "active_flag":true,
      "cc_email":"{your-company-domain}@pipedrivemail.com",
      "value":41
    },
    "name":"이순신 과장",
    ...
  }
}  

결과에서 알 수 있듯이, 새로운 person이 생성되었고 이 person 의 ID는 54번 입니다.

참고문서

파이프드라이브 거래 추가

마지막으로 거래를 추가하겠습니다. 거래를 추가하려면 다음과 같은 정보가 필요합니다.

  1. title: 거래의 제목
  2. user_id: 이 거래의 소유자 ID
  3. person_id: 이 거래에 연동할 person ID
  4. org_id: 이 거래에 연동할 조직의 ID
  5. stage_id: 이 거래를 추가할 파이프라인의 단계

주의 사항: 조직과 인명의 경우 소유자 파라미터가 owner_id 이지만, 거래의 경우는 user_id 입니다.

예:

  1. title: '거북선 전자 거래'
  2. user_id: Alice P. Hacker의 ID 123
  3. person_id: 앞서 생성한 '이순신 과장' ID 54
  4. org_id: 앞서 생성한 '거북선 전자' ID 41
  5. stage_id: 'Sandbox Pipeline' 의 'Lead In' ID 1

위 정보대로 조직을 생성하려면 다음과 같이 진행합니다.

$ curl -d "title=거북선 전자 거래&user_id=123&person_id=54&org_id=41&stage_id=1" \
https://{company-domain}.pipedrive.com/api/v1/deals?api_token={my-api-token}
{
  "success": true,
  "data": {
    "id": 43,
    "creator_user_id": {
      "id": 123,
      "name":"Alice P. Hacker",
      "email": "alice@wonder.land",
      ...
    },
    "user_id": {
      "id": 123,
      "name": "Alice P. Hacker",
      "email": "alice@wonder.land",
      ...
    },
    "person_id": ...,
    "org_id" ...
  }
}

결과에서 알 수 있듯이, 새로운 deal 이 생성되었고 deal 의 ID는 43번 입니다.

참고문서

파이프드라이브 거래 추가 (사용자 지정 필드 접근)

거래를 추가할 때 커스텀 필드 (사용자지정 필드) 값 채우는 방법 설명합니다.

사용자 지정 필드 정보 찾기

다음과 같이 진행하면 사용자 지정 필드에 접근할 수 있는 API 값을 얻을 수 있습니다.

  1. 설정 - 데이터필드 - 리드/거래 아래 '사용자 지정 필드' 에서 원하는 필드 선택
  2. 우측 '...' 클릭하여 API키 복사 선택

예를 들어, 거래 항목에 '사용인원' 이라는 사용자 지정 필드에 접근하려면 아래 스크린샷과 같이 진행하여 '사용인원' 필드의 API값을 얻습니다.

custom-field-access

사용자 지정 필드 값 추가

거래를 생성할 때 사용자 지정 필드 값을 추가하려면 해당 필드의 API키 값 및 원하는 값을 파라미터로 추가하면 됩니다.

예를 들어 위에서 생성한 거래에 '사용인원' 이라는 사용자 지정 필드에 10 이라는 숫자를 넣는다고 하면 이전의 5가지 정보외에 6번째 정보가 필요합니다.

  1. title: '거북선 전자 거래'
  2. user_id: Alice P. Hacker의 ID 123
  3. person_id: 앞서 생성한 '이순신 과장' ID 54
  4. org_id: 앞서 생성한 '거북선 전자' ID 41
  5. stage_id: 'Sandbox Pipeline' 의 'Lead In' ID 1
  6. 사용자 지정 필드 API키 값: '사용인원'에 해당하는 숫자 10

위에서 얻은 사용자 지정 필드 API키 값이 1234567890abcdefg 라는 값이면 다음과 같이 진행합니다.

$ curl -d "title=거북선전자 거래&user_id=123&person_id=54&org_id=41&stage_id=1&1234567890abcdefg=10" \
https://{company-name}.pipedrive.com/api/v1/deals?api_token={my-api-token}

이전과 비교하면 1234567890abcdefg=10 이 추가된 것을 알 수 있습니다.

참고문서

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment