Page 1

Connect Common APIs & Connect Common Object Model Chris Omland http://www.linkedin.com/in/omland Š RightNow Technologies, Inc.


My Introduction RightNow 2008 as Technical Product Mgr 2010 Product Mgr, COE

Background B.S. Computer Science Master Business Administration

Personal Interests Ski, Snowmobile, Bike, Waterskiing


Session Goals Understanding of AppBuilder Preparation for other RDC sessions Enable future learning


Questions


RightNow CX

Intent Guide

CX for Facebook

Web / Mobile Self-Service

Support Community

Chat / Co-Browse

Innovation Community

Email Management

Voice Voice Experience Experience Manager Manager Dynamic Dynamic Agent Agent Desktop Desktop

Cloud Monitor

Customer Feedback Service Service

Sales Sales

Marketing Marketing

Analytics

App Builder Knowledge Foundation | Natural Language Search Mission Critical Operations


RightNow CX Cloud Platform App Builder

Š RightNow Technologies, Inc.


App Builder Adaptive open standard technologies & design interfaces Design, Build & Connect App Builder

Custom Objects

Connect APIs

Experience Design

Extend RightNow CX apps to support unique business processes

Leverage open standards-based capabilities to rapidly and cost-effectively integrate

Easily configure RightNow CX for unified and engaging experiences across all channels


Build Any Object RightNow Custom Objects enables Administrators and Integrators to build & extend the Apps with Custom Objects that support unique business processes Custom Objects

Web

Contact Center

Unique

Social


RightNow Object Designer RightNow Custom Object Designer enables Administrators and Integrators to build and manage Custom Objects directly in the application Custom Objects

Menus

Styles

Parent

Fields

Child Association Notes

Index Labels


Connect Any API RightNow Connect delivers open standards-based API’s to rapidly and cost-effectively integrate the RightNow CX Cloud Platform into anything Connect

CX Cloud Platform Website Voice

Desktop Marketing

SAP

PHP

SOAP

ADD-IN

Sales

Service


Connect WSDL & PHP API’s RightNow Connect PHP is for PHP code executing on RightNow servers RightNow Connect Web Services for SOAP is for code executing on non-RightNow servers Connect

ACCESS

INTEGRATE

DEVELOP

C R U D WSDL & CRUD PHP API

LEVERAGE


Desktop Add-In Framework RightNow Connect Add-In Framework enables Developers and Integrators to extend the Agent Desktop and create unified experiences Connect


Partner Ecosystem Best-of-Breed Technology providers with proven repeatable integrations into the CX Cloud Platform Connect

85+ Partners 1+ Billion Integration transactions per year


Connect Common Object Model


Connect Common Object Model A standard object model used across each of RightNow’s public APIs* Fields Permissions Data types

Each language binding has unique aspects Lists vs. Arrays References Etc… *Not all public APIs have moved to the Connect Common Object Model


Our Goal A single object model for developers to learn Easy for developers Logical class hierarchy Labels & id’s Intuitive

Establish a solid foundation for the future


RightNow Data Model

RightNow Database


RightNow Data Model Customer Portal

Agent Desktop

RightNow Database

Community


RightNow Data Model Customer Portal

PHP

Agent Desktop

SOAP

ADD-IN

RightNow Database

External Applications

SOAP


RightNow Data Model Customer Portal

PHP

Agent Desktop

SOAP

ADD-IN

Connect Common Object Model

RightNow Database

External Applications

SOAP


Understanding Connect Common Object Model


Object Categories Primary Objects

Contacts

Incidents

Organization

Custom Objects

Objects with a unique ID (primary key) that support Sub-Objects direct CRUD operations Standalone objects Once created they exist until deleted May have relationship to other primary objects • Contacts & Organizations

All inherit from base class RNObject Accessible by RightNow Object Query Language


Primary Objects (Incident & Contact)

0..*

*Not complete object model


Primary Objects (May 2010) Service Answers Contacts Incidents Organizations Tasks

Sales Opportunities

Management & Configuration Account Sales Product Service Categories Service Disposition Service Product


Object Categories Primary Objects

Sub-Objects

Contact

Notes

Incident

Threads

Organization

Custom Object

Address

Email

Subordinate to primary objects, primary objects contain sub-objects Lifecycle is based on lifecycle of primary object If primary object is deleted all sub-objects are deleted

Sub-objects are only managed through CRUD of the related primary object


Sub-Objects

*Not complete object model


Sub-Objects (May 2010) AccountCTISettings AccountOptions AccountSalesSettings AccountServiceSettings AccountSpeedDial AccountSpeedDialList Address AnswerLink AnswerNotification Banner CategoryNotification ContactMarketingSettings ContactSalesSettings ContactServiceSettings CRMModules Email FileAttachment

PersonFullName FileAttachmentAnswer PersonName FileAttachmentCommon Phone FileAttachmentIncident ProductNotification FileAttachmentShared Quote GroupAccount QuoteLineItem IncidentContact SalesProductSchedule IncidentContactDelta SLAInstance InheritOptions StageWithStrategy Label StatusWithType TaskMarketingSettings LabelRequired TaskSalesSettings MonetaryValue TaskServiceSettings Note Thread OpportunityContact TimeBilled OpportunityContactDelta TypedAddress OpportunityContactList OrganizationSalesSettings OrganizationServiceSettings


Questions?


NamedID’s


NamedID Intro


Understanding NamedID Two Primary Fields ID (long) Name (String)

Convenience for Developers Setting Displaying


Types of NamedID


NamedIDHierarchy Allows for Hierarchy Use name or id of leaf

Set Parent by Name or ID for uniqueness Example Uses Product / Category on Incident Manager on Account


NamedIDDelta Used to alter items in a list by Name or ID Action Attribute • Add & Remove

Example Uses Visible Interfaces Access Levels


Questions?


Managing Relationships


Primary & Sub-Objects Primary objects often contain 1:N sub-objects Incidents  Threads Contacts  Notes


Primary Objects & Sub-Objects Connect Web Services for SOAP Leverage list wrappers to support 1:N Manage list items through an action attribute

*Not complete object model


Primary Objects & Sub-Objects Connect for PHP Lists are represented as Arrays No need for list wrappers


Primary Objects & Primary Objects Some primary objects reference other primary objects Contact ďƒ Organization


Primary Objects & Primary Objects Connect Web Services for SOAP Primary object relationships are managed through NamedID • Contact.Organization is a NamedID

Connect PHP Primary object relationships are managed through object references • Contact.Organization is an Organization


Object Fields & Customizable Menus


Setting Custom Menu Field Values Custom menu fields have a NamedID data type Fields can be set by ID or by Name (label) Labels are interface/language specific Types of NamedID NamedIDHierarchy NamedIDDelta


Questions?


Generic Objects


Typed vs. Generic Typed Object: Contact Contact newContact = new Contact(); PersonName personName = new PersonName(); personName.setFirst(“Chris”); peronsName.setLast(“Omland”); newContact.setPersonName(personName); ….

Generic Object: GenericObject GenericObject genericContact = new GenericObject(); //Set the object type to contact RNObjectType objType = new RNObjectType(); objType.setTypeName("Contact"); genericContact.setObjectType(objType); GenericField lastGenericField = createGenericField("Last", createStringDataValue("Omland"), DataTypeEnum.STRING); GenericField firstGenericField = createGenericField("First", createStringDataValue("Chris"), DataTypeEnum.STRING); GenericField[] personNameFieldList = new GenericField[] { lastGenericField, firstGenericField }; GenericField nameGenericField = createGenericField("Name", createObjectDataValue("PersonName", personNameFieldList), DataTypeEnum.OBJECT);


Generic Object Model

*Not complete object model


Sample XML <n0:RNObjects xsi:type="n1:GenericObject"> <n1:ObjectType> <n1:Namespace>objects_ws_rightnow_com_v1</n1:Namespace> <n1:TypeName>Contact</n1:TypeName> </n1:ObjectType> <n1:GenericFields name="Name" dataType="OBJECT"> <n1:DataValue> <n1:ObjectValue xsi:type="n1:GenericObject"> <n1:ObjectType> <n1:Namespace>objects_ws_rightnow_com_v1</n1:Namespace> <n1:TypeName>PersonName</n1:TypeName> </n1:ObjectType> <n1:GenericFields name="First" dataType="STRING"> <n1:DataValue> <n1:StringValue>Chris</n1:StringValue> </n1:DataValue> </n1:GenericFields> <n1:GenericFields name="Last" dataType="STRING"> <n1:DataValue> <n1:StringValue>Omland</n1:StringValue> </n1:DataValue> </n1:GenericFields> </n1:ObjectValue> </n1:DataValue> </n1:GenericFields> â&#x20AC;Ś.


Why Generic Objects? Dynamic programming vs. static programming Runtime discovery of data types

Flexible integrations Forward compatible integrations


Questions?


Custom Objects


Web Services vs. PHP Connect Web Services for SOAP Custom Objects are represented through a generic interface

Connect for PHP Custom objects are strongly typed objects


Meta-data


Meta-data Data that describes data Object type Object fields Constraints

Programmatic version of object model docs Used by anyone working with generic objects & dynamic programming


Meta-data APIs GetMetaData Obtain all the meta-data for all objects

GetMetaDataForClass Obtain meta-data for a specific set of classes

GetMetaDataLastChangeTime Obtain the time of the last change to metadata


Meta-Data Class


Meta-data Attributes


Meta-data Relationships


Questions?


Whatâ&#x20AC;&#x2122;s New


May 2011 Key Highlights Month

May

May 2011 Key Highlights

• AnalyticsReport • AnalyticsReportColumn • AnalyticsReportFilter • AnalyticsReportFilterAttributes •AnalyticsReportSearchFilter • Contact • ChannelUsername • Product & Category Linking • Variables


Aug 2011 Key Highlights Month

Aug

Aug 2011 Key Highlights •Purchased Product •Standard Content •Sales Territory •Custom Attributes


Learning More


Developer Guide â&#x20AC;&#x201C; Object Model

Developer guide has a section dedicated to the new object model Object Model Overview Core Objects (Primary, Sub & NamedID) List Objects Message Objects

Refer to the developer guide if you need more detail on any objects


Developer Community


Questions?


Thank You!

Š RightNow Technologies, Inc.

Rightnow 3  

Rightnow 3 material

Read more
Read more
Similar to
Popular now
Just for you