Hi,
Found what looks like a bug in api.activity.create in Civi 4.0.8 . I'm passing an array of 2 activities. The first is an update so I'm passing an id parameter. The second is a new activity, so I'm not passing the id parameter. However api.activity.create carries the id parameter over to the 2nd activity, so this acts as an update too. The net result is that the 2nd activity overwrites the 1st activity instead of creating a new one.
Parameters passed:
(
[version] => 3
[debug] => 1
[contact_id] => 110815
[contact_type] => Individual
[has_js] => 1
[check_permissions] => 1
[subject] => Blah
[api.activity.create] => Array
(
[0] => Array
(
[activity_date_time] => 20120123122225
[custom_25] => 20110601103000
[subject] => Test-payment-completed-4
[custom_27] => 105003
[custom_26] => 20110501103140
[custom_28] => 250
[custom_29] => GBP
[activity_type_id] => 39
[status_id] => 2
[custom_18] => Enrolled
[id] => 495
[source_contact_id] => $value.id
[target_contact_id] => $value.id
)
[1] => Array
(
[activity_date_time] => 20120123123054
[custom_25] => 20110801103000
[subject] => Test-payment-incomplete-5
[custom_27] => 100104
[custom_26] => 20110701103000
[custom_28] => 300
[custom_29] => EUR
[activity_type_id] => 39
[status_id] => 7
[custom_18] => Hot
[source_contact_id] => $value.id
[target_contact_id] => $value.id
)
)
)
Result:
{
"is_error":0,
"version":3,
"count":1,
"id":110815,
"values":{
"110815":{
"id":"110815",
"contact_type":"Individual",
"contact_sub_type":null,
"do_not_email":null,
"do_not_phone":null,
"do_not_mail":null,
"do_not_sms":null,
"do_not_trade":null,
"is_opt_out":null,
"legal_identifier":null,
"external_identifier":null,
"sort_name":"France8, Test",
"display_name":"Test France8",
"nick_name":null,
"legal_name":null,
"image_URL":null,
"preferred_communication_method":null,
"preferred_language":"en_GB",
"preferred_mail_format":null,
"hash":null,
"api_key":null,
"first_name":null,
"middle_name":null,
"last_name":null,
"prefix_id":null,
"suffix_id":null,
"email_greeting_id":null,
"email_greeting_custom":null,
"email_greeting_display":null,
"postal_greeting_id":null,
"postal_greeting_custom":null,
"postal_greeting_display":null,
"addressee_id":null,
"addressee_custom":null,
"addressee_display":null,
"job_title":null,
"gender_id":null,
"birth_date":null,
"is_deceased":null,
"deceased_date":null,
"household_name":null,
"primary_contact_id":null,
"organization_name":null,
"sic_code":null,
"user_unique_id":null,
"api.activity.create":[{
"is_error":0,
"version":3,
"count":1,
"id":495,
"values":[{
"id":"495",
"source_contact_id":"110815",
"source_record_id":null,
"activity_type_id":39,
"subject":"Test-payment-completed-4",
"activity_date_time":"20120123122225",
"duration":null,
"location":null,
"phone_id":null,
"phone_number":null,
"details":null,
"status_id":2,
"priority_id":null,
"parent_id":null,
"is_test":null,
"medium_id":null,
"is_auto":null,
"relationship_id":null,
"is_current_revision":null,
"original_id":null,
"result":null,
"is_deleted":null,
"campaign_id":null,
"engagement_level":null
}]
},
{
"is_error":0,
"version":3,
"count":1,
"id":495,
"values":[{
"id":"495",
"source_contact_id":"110815",
"source_record_id":null,
"activity_type_id":39,
"subject":"Test-payment-incomplete-5",
"activity_date_time":"20120123123054",
"duration":null,
"location":null,
"phone_id":null,
"phone_number":null,
"details":null,
"status_id":7,
"priority_id":null,
"parent_id":null,
"is_test":null,
"medium_id":null,
"is_auto":null,
"relationship_id":null,
"is_current_revision":null,
"original_id":null,
"result":null,
"is_deleted":null,
"campaign_id":null,
"engagement_level":null
}]
}]
}
}
}
Note that in the input params, id 495 is specified only for the first activity but in the result, it is specified for both activities.
Dave J