SharinPix Mobile App: Online mode

This article demonstrates how to construct a SharinPix URL or deeplink that allows access to online features such as SharinPix images, albums and search within the SharinPix mobile app itself. 

The SharinPix online mode has the the following deeplink format:

sharinpix://online?token=<SharinPix Token>&host=app.sharinpix.com

Note: 

  • The section <SharinPix Token> should be replaced by the desired SharinPix token.
  • The SharinPix online mode is also compatible with SharinPix universal links. The SharinPix online mode format for universal links is as follows:

https://app.sharinpix.com/native_app/online?token=<SharinPix Token>&host=app.sharinpix.com

Limitations:

The SharinPix Online mode works only when there's an active internet connection.

Title Parameter

The title parameter can be added to the SharinPix online mode deeplink to display a title on the page within the SharinPix mobile app.

The deeplink format with a title parameter (View Album) is as follows:

sharinpix://online?token=<SharinPix Token>&title=View%20Album&host=app.sharinpix.com

Being a URL, the space is encoded to be %20.

Online Mode Use Case Examples

The above deeplink can take SharinPix various types of SharinPix token such as token that allows:

  • Access a specific SharinPix album. The code snippet below demonstrates how to generate a token that will open a SharinPix album:
trigger SharinPixWorkOrderTrigger on WorkOrder (after insert, before update) {
    sharinpix.Client clientInstance = sharinpix.Client.getInstance();
    String token;
    List<WorkOrder> updatedWOrders = new List<WorkOrder>();
    for (WorkOrder wOrder : Trigger.new) {
        if (String.isBlank(wOrder.SharinPix_Token__c)) {
            token = sharinpix.Client.getInstance().token(
                new Map<String, Object> {
                    'Id' => wOrder.Id,
                    'exp' => 0,
                    'path' => '/pagelayout/' + wOrder.Id,
                    'abilities' => new Map<String, Object> {
                        wOrder.Id => new Map<String, Object> {
                            'Access' => new Map<String, Boolean> {
                                'see' => true,
                                'image_list' => true,
                                'image_upload' => true,
                                'image_delete' => true
                            }
                        },
                        'Display' => new Map<String, Object> {
                            'tags'=> true
                        }
                    },
                    'anonymousUser' => true
                }
            );
            if (Trigger.isInsert) {
                updatedWOrders.add(new WorkOrder(
                    Id = wOrder.Id,
                    SharinPix_Token__c = token
                ));
            } else {
                wOrder.SharinPix_Token__c = token;
            }
            
        }
    }
    if (Trigger.isInsert) { update updatedWOrders; }
}
Click to copy
  • Access a specific SharinPix image for viewing or annotation. For more information on how to generate a token that will open a scpecific image, refer to this article: Open a specific image in Full View
  • Access to a SharinPix Search. The code snippet below demonstrates how to generate a token that will open a SharinPix search:
List<Contact> contacts = [SELECT Id FROM Contact WHERE AccountId =: accountId];
String queryStr = '';
for (Contact contact : contacts) {
	queryStr += '"' + contact.Id + '" ';
}

String token = sharinpix.Client.getInstance().token(
                new Map<String, Object> {
                    'path' => '/search?search_bar=false',
                    'q' => queryStr,
                    'download' => true
                }
            );
Click to copy

Tip:

For more information on the SharinPix Search implementation, refer to the following article:

Using your personalized Search

0 Comments

Add your comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.