Integrations and APIs for Service

Get Involved. Join the Conversation.


  • Pramod Vasudeva Murthy
    RunAnalytics in C#, PHP, .NET and XML75.0
    Topic posted July 9, 2016 by Pramod Vasudeva MurthyBlack Diamond: 60,000+ Points 
    RunAnalytics in C#, PHP, .NET and XML

    Dear RN Lovers,

    Recently I have got a bunch of requests/clarifications on method called "RunAnalytics" used across various platforms(Addins, PHP and CWSS).

    Sharing a code block which illustrates how to pass different parameters to filter on various platforms.

    - VIP

    Feb 2016
    C# Code to create custom object on RightNow65.0
    Topic posted February 26, 2018 by SAJI MATHEWGold Medal: 3,500+ Points 
    C# Code to create custom object on RightNow

    I think most of the developers come across the requirement to integrate third-party application with RN system. Sometimes we might need to create entries in the Custom object. Here is the sample code to create custom object entries in RN CO.

    Code Snippet:
  • Pramod Vasudeva Murthy
    File attachment operations - C#, Java and SOAP65.0
    Topic posted May 30, 2017 by Pramod Vasudeva MurthyBlack Diamond: 60,000+ Points 
    File attachment operations - C#, Java and SOAP

    Dear RN Fraternity,

    Recently I had to work with Fileattachment operations via C# using Web Services. This included a Custom object and Standard Object file attachments. I searched in community and the info was scattered. So, I stretched a bit and created a single source code to upload and download files from/to a directory.

    I am also sharing same in Java and SOAP requests and responses as well.


    PS: I had tested this code and is currently running in prod, so this is error free wink


    May 2016
    C# code to create an incidents on RightNow55.0
    Topic posted February 26, 2018 by SAJI MATHEWGold Medal: 3,500+ Points 
    C# code to create an incidents on RightNow

    Here I’m sharing the C# code to create incidents on RightNow. I think this code snippet will be helpful for those who wants to integrate 3rd party .Net application with RightNow CRM. 

    Code Snippet:
  • Mike Waldron
    REST APIs: PATCH hangs - What do you do?55.0
    Topic posted July 14, 2016 by Mike WaldronGold Medal: 3,500+ Points 
    REST APIs: PATCH hangs - What do you do?

    I was wondering this, but I figured it out, so I thought I'd share. It's in the documentation, but it's not easy to find (search for "HTTP Tunneling"):

    In cases where the browser or client application does not support PATCH requests, or network intermediaries block PATCH requests, HTTP tunneling can be used with a POST request by supplying an X-HTTP-Method-Override header.

    For example, making a POST request to the incident with ID 22:

    with the header:

    X-HTTP-Method-Override: PATCH

    and body:

    "subject": "Test Subject"

    updates the incident's subject to Test Subject.

    That fixed me right up.

  • Jason Owens
    Issues migrating from 1.3 to 1.4 - Anyone else upgrade?45.0
    Topic posted December 14, 2017 by Jason OwensBlue Ribbon: 750+ Points 
    Issues migrating from 1.3 to 1.4 - Anyone else upgrade?

    Does anyone happen to have a list of changes from 1.3 to 1.4? The more I dig into this the more concerned i am about it breaking my addins.

    So far i've found:


    And now it looks like properties are being removed from objects???


    According to the documentation the Incident.Product object should have a Parents field:

    And in 1.3 I can get an Incident.Product.Parents list

    However after switching to 1.4 the parents property is gone:


    This field is not listed in any of the release notes going back to 2015 as depreciated or removed, so I'm concerned there may be other fields that were removed from 1.4.


    Does anyone have experience upgrading from 1.3 to 1.4 and can provide pointers on what exactly has changed and fields were removed? Pretty much every call to the RightNowSyncPortClient had to be changed moving to 1.4, so i'm hesitant to do any more work on my project until i know what else is broken.





    May 2017
  • Walter Kamp
    Aug 17 Soap API APIAccessRequestHeader required115.0
    Topic posted September 21, 2017 by Walter KampSilver Medal: 2,000+ Points 
    Aug 17 Soap API APIAccessRequestHeader required

    We're working on a SOAP integration with OSC Aug '17 version and see that since this version we have to send an "APIAccessRequestHeader" as well. We can manage to get it working, but I tried to find information about this in the API documentation, but can't find anything about this new header we have to send.
    Anyone having some information about this new 'feature'?

    Walter Kamp

    Service Cloud Aug 17
  • Allan Schrum
    ROQL::queryObjects() vs ROQL::query()5.0
    Topic posted September 8, 2015 by Allan SchrumGold Crown: 30,000+ Points 
    ROQL::queryObjects() vs ROQL::query()

    A common topic is: when do I use QueryObjects versus using QueryCSV in Connect Web Services for SOAP. The equivalent question in Connect for PHP is: when do I use ROQL::queryObjects() versus using ROQL::query(). I'll use ROQL::queryObjects() and ROQL::query() for this discussion as it comes up more in the context of Connect for PHP.

    First, what is the difference between ROQL::query() and ROQL::queryObjects()? Perhaps some pseudo code will demonstrate how ROQL::queryObjects() works:

    $result = RNCPHP\ROQL::queryObjects( "SELECT Contact FROM Contact WHERE Organization.LookupName = 'Oracle' " );


    $result = array();
    $rrs = RNCPHP\ROQL::query( "SELECT ID FROM Contact WHERE Organization.LookupName = 'Oracle' " );
    while ( $rrs && $rr = $rrs->next() )
        while ( $row = $rr->next() )
            $result[] = RNCPHP\Contact::fetch( $row['ID'] );
        unset( $rr );
    unset( $rrs);

    As you can see there is a flurry of activity created by the ROQL::queryObjects() request. So what is the advantage of this approach? Sure, you have the whole object, but do you need the whole object? If you are only trying to find out the first and last name of the Contact this seems like a large penalty to pay when a simple ROQL::query() would suffice:

    $rrs = RNCPHP\ROQL::query( "SELECT Name.First, Name.Last FROM Contact WHERE Organization.LookupName = 'Oracle' ");

    Another point I often hear is: I like to use objects - I support object oriented programming. Therefore, ROQL::queryObjects() is the API to use.

    In general, I agree, but I temper that with how the objects are used for the purpose at hand. Suppose I wanted to make The Cool Web Page that shows all those Contacts that belong to Oracle? I just want to display their first and last name in a paged format with 500 people per page. I'll ORDER BY ID so that I get a repeatable output that pages easily. For that first page to be displayed, what would the two different approaches look like? And what is the cost of each?

    Using ROQL::queryObjects() it would be something like (and I'll leave the HTML output as an exercise for you):

    $results = RNCPHP\ROQL::queryObjects( "SELECT Contact FROM Contact WHERE Organization.LookupName = 'Oracle' ORDER BY ID" );

    Now that I have my result I iterate over each object and output each first and last name. How much work was done? The resource that really embodies the concept of "work" is the database, so let's look at it from that point of view. Using the pseudo-code above, I need 1 query for the list of IDs, followed by 500 Contact::fetch() calls, each call returning information using a query from the database. Thus this approach has a "cost" of 501 queries. That seems like a lot given this is a page of simple data. What's the cost of the ROQL::query() approach?

    $rrs = RNCPHP\ROQL::query( "SELECT Name.First, Name.Last FROM Contact WHERE Organization.LookupName = 'Oracle' ORDER BY ID" );

    One query. Same information. That is 501 vs. 1 in terms of cost. As there is nothing for free it would make sense that the approach that costs less is the approach that should be chosen. ROQL::query() wins!

    So usage is the big driver of why we would want to use ROQL::queryObjects() instead of ROQL::query(). My "Rule of Thumb" for its use is this: are you calling save() on these objects?

    If you are trying to save() these objects by making bulk changes, then ROQL::queryObjects() make sense. Otherwise, use ROQL::query() as you'll then get the data you need with the most efficient set of queries possible.




    All since 10.5 when Connect was first released
  • Vikram Kaledhonkar
    Reminder: ODBC Export removal on November 1, 201545.0
    Topic posted June 8, 2015 by Vikram KaledhonkarBlue Ribbon: 750+ Points 
    Reminder: ODBC Export removal on November 1, 2015

    Oracle Service Cloud team would like to remind everyone that the ODBC Export functionality has been deprecated since December 2011 ( and is scheduled to be removed on November 1, 2015.

    If your organization is currently using ODBC Export feature to access Oracle Service Cloud, we want to encourage you to make plans immediately to migrate to replacement ODBC functionality before the November 1, 2015 disablement date.

    There are couple of recommended approaches in order to migrate away from ODBC export feature.

    1)            You can build a data extract integration using Connect APIs that are provided as part of Oracle Service Cloud. Connect APIs, in addition to being more secure, offer backwards compatibility that ODBC export feature does not.

    2)            Customer who wish to take advantage of standard SQL skills can use 3rd party (Progress DataDirect) ODBC/JDBC drivers that allow standard SQL queries to be run against Oracle Service Cloud database. Since this is built on Connect APIs, it conforms to full application security and provides backwards compatibility against database schema changes between releases. Here are more details on Progress driver:

    If you have any questions, we would be happy to discuss with you.

    - Vikram Kaledhonkar

  • Pramod Vasudeva Murthy
    Product_Categories Links25.0
    Topic posted May 19, 2015 by Pramod Vasudeva MurthyBlack Diamond: 60,000+ Points 
    Product_Categories Links

    Hi All,

    Here is a small piece of code to retrieve Products of a Category. Hope this helps:

    Nov 2014
    Code Snippet:

Filter by Date

< < December 2019 > >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Filter by Type