View Source ExPipedrive.ActivityTypes (ex_pipedrive v0.2.0)

API v1 client for Pipedrive activity types.

Activity types remain on /api/v1/activityTypes; there is no /api/v2 equivalent and no single-type get endpoint. Use list/1 and get/2 (client-side lookup) for reads; create/2, update/3, and delete/2 for admin writes (admin OAuth scope).

Example

{:ok, types} = ExPipedrive.ActivityTypes.list(client)
{:ok, type} = ExPipedrive.ActivityTypes.get(client, 1)

{:ok, custom} =
  ExPipedrive.ActivityTypes.create(client, %{
    name: "Video call",
    icon_key: "camera",
    color: "aeb31b"
  })

{:ok, custom} =
  ExPipedrive.ActivityTypes.update(client, custom.id, %{order_nr: 10})

{:ok, :ok} = ExPipedrive.ActivityTypes.delete(client, custom.id)

Summary

Functions

Creates an activity type via POST /api/v1/activityTypes.

Deletes (soft-deletes) an activity type via DELETE /api/v1/activityTypes/:id.

Fetches an activity type by id (client-side over list/1).

Lists activity types via GET /api/v1/activityTypes.

Updates an activity type via PUT /api/v1/activityTypes/:id.

Functions

@spec create(Tesla.Client.t(), map()) ::
  {:ok, ExPipedrive.ActivityType.t()} | {:error, ExPipedrive.Error.t()}

Creates an activity type via POST /api/v1/activityTypes.

Requires :name and :icon_key. Optional :color (6-char HEX without #) and :order_nr.

Returns {:ok, %ActivityType{}}.

@spec delete(Tesla.Client.t(), pos_integer()) ::
  {:ok, :ok} | {:error, ExPipedrive.Error.t()}

Deletes (soft-deletes) an activity type via DELETE /api/v1/activityTypes/:id.

Returns {:ok, :ok}.

@spec get(Tesla.Client.t(), pos_integer()) ::
  {:ok, ExPipedrive.ActivityType.t()} | {:error, ExPipedrive.Error.t()}

Fetches an activity type by id (client-side over list/1).

Pipedrive has no GET /activityTypes/:id. Returns {:ok, %ActivityType{}} or {:error, %Error{kind: :not_found}}.

@spec list(Tesla.Client.t()) ::
  {:ok, [ExPipedrive.ActivityType.t()]} | {:error, ExPipedrive.Error.t()}

Lists activity types via GET /api/v1/activityTypes.

Returns {:ok, [%ActivityType{}]}.

Link to this function

list_activity_types(client)

View Source
@spec list_activity_types(Tesla.Client.t()) ::
  {:ok, [ExPipedrive.ActivityType.t()]} | {:error, ExPipedrive.Error.t()}

Alias for list/1.

Link to this function

update(client, id, attrs)

View Source
@spec update(Tesla.Client.t(), pos_integer(), map()) ::
  {:ok, ExPipedrive.ActivityType.t()} | {:error, ExPipedrive.Error.t()}

Updates an activity type via PUT /api/v1/activityTypes/:id.

Accepted attrs: :name, :icon_key, :color, :order_nr.

Returns {:ok, %ActivityType{}}.