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.
Alias for list/1.
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{}]}.
@spec list_activity_types(Tesla.Client.t()) :: {:ok, [ExPipedrive.ActivityType.t()]} | {:error, ExPipedrive.Error.t()}
Alias for list/1.
@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{}}.