This file contains all notable changes to this project. This project adheres to Semantic Versioning.
This change log follows the conventions of keepachangelog.com.
- BREAKING change:: Generated
delete_*
method has been refactored to receive theid
of the record to be dettached or deleted - instead of the resource per se -, for instance:deal.delete_product(attached_product_id)
. This is because the API behaves different depending on the endpoint, like in case of#DELETE /deals/{id}/products/{product_attachment_id}
that receives an id corresponding to the attachment id (not a product, but a different record).
- Modify
has_many
to generate methods toadd
anddelete
resources. ie.add_participant
,add_product
,delete_product
- Add
Pipedrive::Participant
resource and add the association toPipedrive::Deal
- BREAKING CHANGE: Removed
delete_attached_product
in favor ofdelete_product
passing a hash of params instead of an instance ofPipedrive::Resource
- BREAKING CHANGE:
add_product
changed method signature because of the changes introduced inhas_many
- The codebase paginates until fetching all the fields so the diccionary of custom fields is complete (checkout
lib/pipedrive/fields
for more info)
- Update
LeadLabel
resource to use PATCH method (as according to the API doc)
- Add the capability to override the HTTP method used to update a resource
- Update
Lead
resource to use PATCH method (as according to the API doc)
- Added
find
method for user to work for thefind
endpoint of the Pipedrive API
- Implement
empty?
(orno_content?
) method on all the models when the response is No content (204 HTTP code) - Add option to treat 204 HTTP code (No Content) as 404 HTTP code (Not found)
- Add
find_by_deal
method toSubscription
to allow finding of subscriptions bydeal_id
.
- Add the new resource
Pipedrive::OrganizationField
- Add activities (as a
has_many
relationship) toPipedrive::Person
- Provide better error information also maping the status code to a class according to https://pipedrive.readme.io/docs/core-api-concepts-http-status-codes (check lib/pipedrive/errors.rb)
- Add
Subscription
resource with additionalcreate_recurring
,update_recurring
andcancel_recurring
methods. - Changed faraday dependency to allow more flexibility
- Add
delete_attached_product
method toDeal
- Add metadata to
has_many
relations that store the returned data(API) without transformation, as it is.
- Add
deals
toPerson
- Add
Pipedrive.debug_http_body
for debugging the http payload - Fix bugs with
POST
/PUT
endpoints
- Add
Pipedrive.debug
so basic debug info is not displayed out of the box. - Add
Pipedrive.debug_http
for debugging http traffic. - Fix bug in some resources when no fields filtering was provided.
- Fix bug introduced by v1.2.0 where
has_many
removed the chance to pass extra parameters.
- Some endpoints like
deals/:id/products
allow to expand the response withinclude_product_data
that include an attrproduct
with all the data - including the custon fields - of the products. The deafult for that option isfalse
or0
. I personally think this is redundant, so this version overrides this behavior by passingtrue
or1
and deleging the attrproduct
by merging its content with the body itself, at the end/products
should returnproducts
. On future versions this option would be passed to thehas_many
method, likehas_many :products, class_name: "Product", include_data: false
- Add Lead, LeadLabel, LeadLabel and Goal models.
- Add capability to merge organizations, people and deals. See the doc here.
- Fixes unitialized constant error when the class_name within has_many definition doesn't contain the namespace
- Initial release