Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
webservice access to vtiger using a ruby gem
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
script
test
.gitignore
History.txt
Manifest.txt
PostInstall.txt
README.rdoc
Rakefile
mimi test.csv
test.csv
test2.csv
test3.csv
testing.txt
vtiger.gemspec

README.rdoc

vtiger

This gem provides access to vtiger from ruby. It uses the vtiger web services to access the data in vtiger system.

See the binary files to test the system.

DESCRIPTION:

There are a set of base commands (eg hpttp get, http post, login, challenge etc) And commands which are more specific to the actual usage such as addlead, describe object

Options can be passed as hash or preset using a Class variable (which is why the cattr_accessor definition is required from activesupport)

Vtiger::API.api_settings = {

  :username => 'admin',
  :key => 'ssss'
  :url => 'democrm.estormtech.com'
}

FEATURES/PROBLEMS:

many commands to add via webservices including add trouble ticket, add contact etc. queries, describe object list entities many commands are supported

are all running

Now has find_by_email_id

SYNOPSIS:

	 Vtiger::Api.api_settings = {
     :username => 'admin',
     :key => 'ssss',
     :url => 'democrm.estormtech.com',
     :element_type => 'Contacts'
   }
 cmd = Vtiger::Commands.new()
 challenge=cmd.challenge({})
 login=cmd.login({})
  cmd.add_lead  etc...

REQUIREMENTS:

now using yajl as replacement to json.gem

DIRECT DB ACCESS

Can now directly access Vtiger DB to run some queries. See base.rb campaignlist etc.

INSTALL:

find userid from vtiger_users (supposed to be in preferences section) select username,accessKey from vtiger_users;

== USAGE with new factory

api ={

      :username => 'admin',
    :key => 'xxxx',
     # :username => 'admin',
     # :key => 'xxxx',
      :url => 'democrm.estormtech.com',
    }
cmd = Vtiger::Commands.vtiger_factory(api)

tokens are stored in

vtiger_ws_userauthtoken

Usage:

Server Types: list types on the server

list_types.rb -u democrm.estormtech.com  -n scott -k xxxxx

Describe Object:

describe_object.rb -u crm.estormtech.com  -n admin  -k xx  -e Contacts

Getting the custom field ids

describe_object.rb -u crm.estormtech.com  -n admin  -k xxx  -e Contacts | grep for the label name

Testing via Curl

Testing via curl

curl -d username=scott -d accessKey=xxx http://crm.yoururl.com/webservice.php?operation=login

Name“:”3a8b6b834a63eb909ecfa“,”userId“:”19x5“,”version“:”0.2“,”vtigerVersion“:”5.1.0 RC“}}

List types

{

"success": true,
"result": {
  "types": [
    "Calendar",
    "Leads",
    "Accounts",
    "Contacts",
    "Potentials",
    "Products",
    "Documents",
    "Emails",
    "HelpDesk",
    "Faq",
    "Vendors",
    "PriceBooks",
    "Quotes",
    "PurchaseOrder",
    "SalesOrder",
    "Invoice",
    "Campaigns",
    "Events",
    "Users",
    "ServiceContracts",
    "PBXManager",
    "Services",
    "Groups",
    "Currency",
    "DocumentFolders"
  ],
  "information": {
    "Calendar": {
      "isEntity": true,
      "label": "Calendar",
      "singular": "To Do"
    },
    "Leads": {
      "isEntity": true,
      "label": "Leads",
      "singular": "Lead"
    },
    "Accounts": {
      "isEntity": true,
      "label": "Accounts",
      "singular": "Account"
    },
    "Contacts": {
      "isEntity": true,
      "label": "Contacts",
      "singular": "Contact"
    },
    "Potentials": {
      "isEntity": true,
      "label": "Potentials",
      "singular": "Potential"
    },
    "Products": {
      "isEntity": true,
      "label": "Products",
      "singular": "Product"
    },
    "Documents": {
      "isEntity": true,
      "label": "Documents",
      "singular": "Document"
    },
    "Emails": {
      "isEntity": true,
      "label": "Email",
      "singular": "Email"
    },
    "HelpDesk": {
      "isEntity": true,
      "label": "Trouble Tickets",
      "singular": "Ticket"
    },
    "Faq": {
      "isEntity": true,
      "label": "FAQ",
      "singular": "Faq"
    },
    "Vendors": {
      "isEntity": true,
      "label": "Vendors",
      "singular": "Vendor"
    },
    "PriceBooks": {
      "isEntity": true,
      "label": "Price Books",
      "singular": "PriceBook"
    },
    "Quotes": {
      "isEntity": true,
      "label": "Quotes",
      "singular": "Quote"
    },
    "PurchaseOrder": {
      "isEntity": true,
      "label": "Purchase Order",
      "singular": "PurchaseOrder"
    },
    "SalesOrder": {
      "isEntity": true,
      "label": "Sales Order",
      "singular": "SalesOrder"
    },
    "Invoice": {
      "isEntity": true,
      "label": "Invoice",
      "singular": "Invoice"
    },
    "Campaigns": {
      "isEntity": true,
      "label": "Campaigns",
      "singular": "Campaign"
    },
    "Events": {
      "isEntity": true,
      "label": "Events",
      "singular": "Event"
    },
    "Users": {
      "isEntity": true,
      "label": "Users",
      "singular": "User"
    },
    "ServiceContracts": {
      "isEntity": true,
      "label": "Service Contracts",
      "singular": "Service Contract"
    },
    "PBXManager": {
      "isEntity": true,
      "label": "PBX Manager",
      "singular": "SINGLE_PBXManager"
    },
    "Services": {
      "isEntity": true,
      "label": "Services",
      "singular": "Service"
    },
    "Groups": {
      "isEntity": false,
      "label": "Groups",
      "singular": "Groups"
    },
    "Currency": {
      "isEntity": false,
      "label": "Currency",
      "singular": "Currency"
    },
    "DocumentFolders": {
      "isEntity": false,
      "label": "DocumentFolders",
      "singular": "DocumentFolders"
    }
  }
}

} ————-finished processing!!!

Something went wrong with that request. Please try again.