Source code for pypipedrive.models.activities

from typing import Any, List
from pypipedrive.api import V2
from pypipedrive.utils import warn_endpoint_legacy
from pypipedrive.orm.model import Model
from pypipedrive.orm import fields as F
from .activity_fields import ActivityFields
from .activity_types import ActivityTypes


[docs]class Activities(Model): """ Activities are appointments/tasks/events on a calendar that can be associated with a deal, a lead, a person and an organization. Activities can be of different type (such as call, meeting, lunch or a custom type - see ActivityTypes object) and can be assigned to a particular user. Note that activities can also be created without a specific date/time. See `Activities API reference <https://developers.pipedrive.com/docs/api/v1/Activities>`_. Get all activities (BETA) activities/collection. * GET[Cost:20] ``v1/activities`` **DEPRECATED** * GET[Cost:10] ``api/v2/activities`` Returns all activities. * GET[Cost:10] ``v1/activities/collection`` **DEPRECATED** Get details of an activity. * GET[Cost:2] ``v1/activities/{id}`` **DEPRECATED** * GET[Cost:1] ``api/v2/activities/{id}`` Add an activity. * POST[Cost:10] ``v1/activities`` **DEPRECATED** * POST[Cost:5] ``api/v2/activities`` Update an activity. * PUT[Cost:10] ``v1/activities/{id}`` **DEPRECATED** * PATCH[Cost:5] ``api/v2/activities/{id}`` Delete multiple activities in bulk. * DELETE[Cost:10] ``v1/activities`` **DEPRECATED** Delete an activity. * DELETE[Cost:6] ``v1/activities/{id}`` **DEPRECATED** * DELETE[Cost:3] ``api/v2/activities/{id}`` """ id = F.IntegerField("id", readonly=True) subject = F.TextField("subject") type = F.TextField("type") owner_id = F.IntegerField("owner_id") creator_user_id = F.IntegerField("creator_user_id") is_deleted = F.BooleanField("is_deleted", readonly=True) add_time = F.DatetimeField("add_time", readonly=True) update_time = F.DatetimeField("update_time", readonly=True) deal_id = F.IntegerField("deal_id") lead_id = F.TextField("lead_id") person_id = F.IntegerField("person_id") org_id = F.IntegerField("org_id") project_id = F.IntegerField("project_id") due_date = F.DateField("due_date") due_time = F.TimeField("due_time") duration = F.DurationField("duration") done = F.BooleanField("done") busy = F.BooleanField("busy") marked_as_done_time = F.DatetimeField("marked_as_done_time", readonly=True) location = F.AddressField("location") participants = F.ParticipantField("participants") attendees = F.AttendeeField("attendees") conference_meeting_client = F.TextField("conference_meeting_client", readonly=True) conference_meeting_url = F.TextField("conference_meeting_url", readonly=True) conference_meeting_id = F.TextField("conference_meeting_id", readonly=True) public_description = F.TextField("public_description") priority = F.IntegerField("priority") note = F.TextField("note") class Meta: entity_name = "activities" version = V2
[docs] @warn_endpoint_legacy @classmethod def fields(cls) -> List[ActivityFields]: """ Returns the list of field names for the Activities model. """ return ActivityFields.all()
[docs] @classmethod def batch_delete(cls, *args, **kwargs) -> Any: """ Delete multiple activities in bulk. """ raise NotImplementedError("ActivityFields.batch_delete() is not allowed.")
[docs] @warn_endpoint_legacy @classmethod def types(cls) -> List[ActivityTypes]: """ Returns the list of field types for the Activities model. """ return ActivityTypes.all()