Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-1656

Create v2 of CiviCRM api. Simple and more primitive, expose REST interface

    Details

    • Type: New Feature
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: 1.7
    • Fix Version/s: 1.7
    • Component/s: None
    • Labels:
      None

      Description

      From a comment by Dave Neary:

      http://wiki.civicrm.org/confluence/display/CRM/SOAP+Access+to+CiviCRM+API?focusedCommentId=9927#comment-9927

      First, the operations I'm interested in, in the context of integration into an email client (Thunderbird) are:

      • Integration with e-mail:
      • Check whether a full-name/email address is already part of the database
      • If not, add an email contact to the database (either from my address book or from a view of the email headers)
      • Integrate with address book:
      • Add a CiviCRM address book to my contacts
      • Search the address book
      • Integration with calendaring and actions:
      • Add emails as notes/emails/meeting minutes to CRM
      • Set up meetings in CRM from the calendar

      In fact, the type of integration I'm looking for is similar to that mentioned in Integration+with+Microsoft+Outlook (but even if I could just add contacts to the CRM from my mail, and have them available in my address book, that would be superb).

      Second: CiviCRM's SOAP interface needs a WSDL description to be useful in languages other than PHP - even in PHP I've seen issues where the client or server don't deformat the SOAP envelope into PHP objects correctly. Associative arrays are perhaps the worst possible way to pass information over the wire. The ideal would be to define an interface which uses only primitive types (numbers and strings).

      The API functions that need exposing are:

      • civicrm_get_contact (to search for a contact by full name/email address)
      • civicrm_add_contact (to add a contact with just the quick-add from an email)
      • Load a predefined mapping from CiviCRM contacts to mailbook contacts - from the address book, you would want all of the secondary information (addresses, IM nicks, comments, phone numbers) to get uploaded too - for this you'll need a field mapping. Could have a pre-defined name based on the client. Would be useful in any case for address-book importation from various clients.
      • civicrm_add_contact from the address book
      • Tagging - get a list of defined tags, and set a subset of them for a contact

      The rest can follow on later (scheduling meetings, adding emails to database, etc).

        Attachments

          Activity

            People

            • Assignee:
              kiran.jagtap Kiran Jagtap
              Reporter:
              lobo Donald A. Lobo
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: