cancel
Showing results for 
Search instead for 
Did you mean: 

Communicate from Excel with ctrlX CORE

Communicate from Excel with ctrlX CORE

bclapperton
New Contributor

With MLPI we had a sample Excel spreadsheet talking to an MLC. Is there any chance of someone creating a sample spreadsheet using the REST API to talk to a CtrlX?

1 REPLY 1

CodeShepherd
Community Moderator
Community Moderator

Moved to own topic from "MLPI with ctrlX"

As you can use the REST API via VisualBasic in Microsoft Excel it is still possible to do the same. I shortly created some code to get a web token from our authentication server in a ctrlX COREvirtual:

Microsoft Excel - connection dataMicrosoft Excel - connection data

Option Explicit

Sub GetToken()
    Dim strToken As String
    Dim objServerRequest As Object
    
    'Request a token via REST
    Set objServerRequest = CreateObject("MSXML2.SERVERXMLHTTP")
    With objServerRequest
        .Open "POST", "https://" + Range("C3").Value + "/identity-manager/api/v1/auth/token"
        .SetRequestHeader "Content-Type", "application/json"
        .setOption 2, 13056 'SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2 ; SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 0x3300
        .Send "{""name"":""" + Range("C4").Value + """,""password"":""" + Range("C5").Value + """}"
        'waiting for response
        While objServerRequest.readyState <> 4
            DoEvents
        Wend
        'Create token from response string
        strToken = Mid(.ResponseText, 22)
        strToken = Mid(strToken, 1, (InStr(1, strToken, """") - 1))
        strToken = "Bearer " + strToken
        Debug.Print "SERVERXMLHTTP: " + strToken
    End With
End Sub

Afterwards this token can be used for all subsequent request. See "Using REST API of ctrlX CORE".

If there is a need for special functions/features to be used in VBA feel free to ask here or create on your own.

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist