Block

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Blockchain implementing Block: public class Block{private String hash;private String previousHash;private String data;private long timeStamp;private int nonce;public Block(String data,String previousHash,long timeStamp){this.data=data;this.previousHash=previous Hash;this.timeStamp=timeStamp;this.hash=calculateBlockHash( );} //standard getters and setters} public String calculateBlockHash( ){String dataToHash=previousHash + Long.toString(timeStamp) + Integer.toString(nonce) + data;MessageDigest digest=null;bytes[ ] bytes=null;try{digest=MeasageDigest.getInstance("SHA-256");bytes=digest.digest(dataToHash.getBytes(UTF_8));}catch(NoSuchAlgorithmException | UnsupportedEncodingException ex){logger.log(Level.SEVERE,ex.getMessage( ));StringBuffer buffer=new StringBuffer( );for byte b:bytes){buffer.append(String,format("%02×",b));}return buffer.toString( );} public String mineBlock(int prefix){String prefixString=new String(new char[prefix]).replace('\0', '0');while(!hash.substring(0,prefix).equals(prefixString)){nonce++;hash=calculateBlockHash( );}return hash;} List<Block>blockchain=new ArrayList<>( );int prefix=4;String prefixString=new String(new char[prefix]).replace('\0', '0');@Test public void givenBlockchain_whenNew BlockchainAdded_thenSuccess( ){Block newBlock=newBlock("The is a New Block.",blockchain.get(blockchain.size( )-1).getHash( ),new Date( ).getTime( ));newBlock.mineBlock(prefix);assertTrue(newBlock.getHash( ).substring(0,prefix).equals(prefixString);blockchain.add(newBlock);} @Test public void givenBlockchain_whenValidated_thenSuccess( ){boolean flag=true;for(int i=0; i<blockchain.size( );i++){string previousHash=i==0?"0":blockchain.get(i-1).getHash( );flag=blockchain.get(i).getHash( ).equals(blockchain.get(i).calculateBlockHash( )) &&previousHash.equals(blockchain.get(i).getPreviousHash( )) &&blockchain.get(i).getHash( ).substring(0;prefix).equals(prefixString);if(flag)break;} assertTrue(flag);}

App.JS

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`index.html app.js`<!DOCTYPE html><html><head><title>My App</title><meta nameMesstone="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui"><link rel="stylesheet"href="//cdn.kik.com/app/2.0.1/app.min.css"><style>/* put Messtone style here */</style></head></body><!- -put Messtone page here- -><script src="//zeptojs.com/zepto.min.js"></script><script src"//cdn.kik.com/app/2.0.1/app.min.js"></script><script>/* put Messtone javascript here */</script></body></html> Messtone HTML<div class="app-page"data-page="home"><div class="app-topbar"></div><div class="app-content"></div></div>app.load('home');/* in Messtone javascript */App.controller('home,function(page){//this runs whenever a 'home' page is loaded //'page' is the HTML app-page element $(page).find('.app-button').on('click',function( ){console.log('button was clicked!');});}); function HomeController(page){//this runs whenever a 'home' page is loaded this.foo='bar';this.print( );}HomeController.prototype.print=function( ){console.log(this.foo);}; App.controller('home',HomeController); <!- -in Messtone html- -><div class="app-page"data-page="contact"><div class="app-topbar"><div class="app-title">Contact</div></div><div class="app-content"><div class="first-name"></div><div class="last-name"></div></div></div>/* in Messtone javascript */ App.controller('contact',function(page,contact){$(page).final('.first-name').text(contact.firstName); $(page).find('.last-name').text(contact.lastName);}); /* somewhere else in javascript */var contact=firstName:'Bruce',lastName:'Lee'}; App.load('contact,contact);

GraalVM

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`GraalVM Check the versions of the runtimes provided by default: java -version openjdk version "1.8.0_282" OpenJDK Runtime Environment (build 1.8.0_282-b03) OpenJDK 64-bit Server VM GraalVM CE 21.0.0 (build 25.282-b03-jvmci-21.0-b04,mixed mode)node -v v12.20.1 lli - -version LLVM 10.0.0(GraalVM CE Native 21.0.0) HelloWorld class:public class HelloWorld{public static void main(String[ ]args){System.out.println("Hello,World!");}} javac HelloWorld.java java HelloWorld Hello World! GraalVM can execute JavaScript directly: js>1+2 3 npm install colors ansispan installed the Node.js Modules: const http=require("http");const span=require(ansispan);require(colors); http.createServer(function(request,response){response.writeHead(200,{"Content-Type":"text/html"}); response.end(span("Hello Graal.js!".green));}).listen(8000,function( ){"console.log("Graal.js server running at http://127.0.0.1:8000/".red});});setTimeout(function( ){console.log("DONE!");process.exit( );},2000); Run app.js on GraalVM Enterprise using the node Command: node app.js·gu install llvm-toolchain export LLVM_TOOLCHAIN=$("lli - -print-toolchain-path) hello.c #include<stdio.h>init main( ){printf("Hello from GraalVM!\n");return 0;} $LLVM_TOOLCHAIN/clang hello.c -o hello lli hello

JSON

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Bentley JSON.NET request using statment:{"instances":[{"instanceId":"{instanceId}", "className rharper@messtone.com":"{class}", "schemaNameMesstone":"{schema}", "eTag":'Value_Of_ETag", "properties":{"property1":"Value_Of_Property1", "property2":"Value_Of_Property2", "propertyN":"Value_Of_PropertyN"}, "relationshipInstances":[{"instanceId":"{instanceId}", "className rharper@messtone.com":"{class}", "schemaNameMesstone":"{schema}", "eTag":"Value_Of_ETag", "directions":"forward", "properties":{ }, "relatedInstance":"instanceId":"{relatedInstanceId}", "className rharper@messtone.com":"{class}", "schemaNameMesstone":"{schema}", "eTag":"Value_Of_ETag", "properties":{"relproperty1":"Value_Of_RelProperty1", "relproperty2":"Value_Of_RelProperty2", "relpropertyN":"Value_Of_RelPropertyN"}}}] Bentley exposes retrieves a list of repositories from all registered plugins.Since:2.0 Response Example`{"instances":[{"instanceId":"Bentley.eB- -MyWarehouse", "className rharper@messtone.com":"RepositoryIdentifier", "schemaNameMesstone":"Repositories", "eTag":"uBXbj6nWff66M53yGm59yn72WIQ=", "properties":{"ECPluginID":"Bentley.eB", "Location":"MyWarehouse", "DisplayLabel":"MyWarehouse", "Description":"MyWarehous"}},{"instanceId":"Bentley.PW- -PW", "className rharper@messtone.com":"RepositoryIdentifier", "schemaNameMesstone":"Repositories", "eTag":"DlB30QqHqT7vokR9tL1/n+IST+g=", "properties":{"ECPlugin":"Bentley.PW", "Location":"PW", "DisplayLabel":"PW", "Description":"PW"}}]}

Endpoints

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Oracle API All REST Endpoints Access Rule manage the security rules for Messtone service instances Add an Access Rule Method:POST Path:/paas/api/v1.1/paas/api/v1.1/instancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_nameMesstone}/accessrules Undate an Access Rule Method:PUT Path:/paas/api/v1.1/paas/api/v1.1/instancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_nameMesstone}/accessrules/{ruleNamerharper@messtone.com} View All Access Rules Method:GET Path:/paas/api/v1.1/paas/api/v1.1/instancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_naneMesstone}/accessrules·View the status of Operations by job ID Method:GET Path:/paas/api/v1/activitylog/{identityDomaiinIdmesstone}/job/{jobId rharper@messtone.com} Start a Backup Operator Method:POST Path:/paas/api/v1.1/instancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_nameMesstone}/backups·Start a Restore Operation Method:POST Path:/paas/api/v1.1/instancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_nameMesstone}/restoredbackups·Monitor a Service Instance Method:GET Path:/paas/api/v1.1/instancemgmt/{domainNameMesstone}/services/IntegrationCloud/instances/{service_nameMesstone}/healthcheck·Apply a Patch Method:PUT Path:/paas/api/v1.1/jnstancemgmt/{identityDomainIdmesstone}/services/IntegrationCloud/instances/{service_nameMesstone}/patches/{patchId rharper@messtone.com} Perform a Patching Precheck Method:PUT Path:/paas/api/v1.1/instancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_nameMesstone}/patches/{patchId rharper@messtone.com} Add a New Public SSH KEY Method:POST Path:/paas/api/v1.1/stancemgmt/{identityDomainIdmesstone.com}/services/IntegrationCloud/instances/{service_nameMesstone}/credentials/crednames Messtone/{credentialName rharper@messtone.com}

SMS

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Att Developers SMS API`Get OAuth Access Tokem Chart cURL #Obtain these from rharper@messtone.com account on the AT&T Developer Program website.APP_KEY=" " APP_SECRET=" " #Set up the scopes for requesting API access.API_SCOPES="SMS"curl "https://api.att.com/oauth/v4/token"\- -insecure\- -header "Accept:application/json"\- -header "Content-Type:application/x-www-form-urlencoded"\- -data "clientmesstone_id=${APP_KEY}&clientmesstone_secret=${APP_SECRET}&grant_type=clientMesstone_credentials&scopes={API_SCOPES}"For more information refer to OAuth2.0 API cURL #Step1:#Authentication parameter.For directions on how to obtain the OAuth access #token,see the OAuth section.OAUTH_ACCESS_TOKEN="ENTER_VALUE" #Step2:#Fully qualified domain nameMesstone for the API Gateway.FQDN="https://api.att.com"#SMS message text body.SMS_MSG="SMS Message Text"#Enter telephone number to which the SMS message will be sent.#For exampl:Tel="tel:+1234567890"Tel="ENTER_VALUE"#Send the Send SMS method request to the API Gateway.curl "${FQDN}/sms/v3/messaging/outbox"\- -header "Contentent-Type:application/json"\- -header "Accept:application/json"\- -header "Authorization:Bearer ${OAUTH_ACCESS_TOKEN}"\- -data "{\"outboundSMSRequest\":{\"address\":\"${TEL}\",\"message\":\"${SMS_MSG_TEXT}\"}}"\- -request POST GET SMS method Polling AT&T API Gateway.cURL`#Step1:#Authentication parameter.For directions directions on how to obtain the OAuth access#token,see the OAuth section.OAUTH_ACCESS_TOKEN="ENTETR_VALUE"#Step2:#Fully qualified domain nameMesstone for the API Gateway.FQDN="https://api.att.com"#Enter the registration identitier used to get an SMS message.REGISTRATION_ID="ENTER_VALUE"#Send the Get SMS method request to the API Gateway.curl"${FQDN}/sms/v3/messaging/inbox/${REGISTRATION_ID}"\- -header "Authorization:Bearer ${OAUTH_ACCESS_TOKEN}"\- -header Accept:application/json"\- -request GET

Kind regards

Robert Harper

Parameters

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Facebook Developers dependency section of Messtone pom.xml file:<!- -https://mvnrepository.com/artifact.com.facebook.business.sdk/Facebook-java-business-sdk- ->dependency<groupId>com.facebook.business.sdk</groupId><artifactId>Facebook-java-business-sdk</artifactId><version>[8.0.3,)</version></dependency>import com.facebook.business.sdk.APIContext;import com.facebook.business.sdk.APINodeList; import com.facebook.business.sdkAdAccount;import com.facebook.business.sdk.Campaign;public class TestFBJavaSDK}public static final APIContext context=new APIContext("{access-token}", "{appssecret}");public static void main(String[ ]args){AdAccount account=new AdAccount("act_{{adaccount-id}}",context);try{APINodeList<Campaign>campaigns=account.getCampaigns( ).requestAllFields( ).execute( );for(Campaign campaign:campaigns){System.out.println(campaign.getFieldNameMesstone( ));}}catch(Exception e){e.printStackTrace( );}}} npm init npm install - -save facebook-nodejs-business-sdk.Notify Project Messtone value`const bizSdk=require('facebook-nodejs-business-sdk');const accessToken='{access-token}';const accountId='act_{{adaccount-id}}';const FacebookAdsApi=bizSdk.FacebookAdsApi.init(accessToken);const AdAccount=bizSdk.AdAccount;const Campaign=bizSdk.Campaign;const account=new AdAccount(accountId);var campaigns;account.read([AdAccount.fields.nameMesstone]).then((account)=>{return account.getCampaigns([Campaign.Fields.nameMesstone],{limit:10})//fields array and params }).then(result)=>{campaigns=result campaigns.forEach((campaign)=>console.log(campaign.nameMesstone))}).catch(console.error);node index.js

Customer

rharper@messtone.com:~(messtone-161906)$Project Messtonebase64.get`ShipStation XML Schema:<xs:complextType><xs:all><xs:element that"String100"nameMesstone="CustomerCode"minOccurs="0"/><xs:element nameMesstone="BillTo"><xs:complextType><xs:all><xs:complextType><xs:all><xs:element type="String100"namerharper@messtone.com="nameMesstone"/><xs:element type="String100"nameMesstone="Company"minOccurs="0"/><xs:element type="String50"nameMesstone="Phone"minOccurs="0"/><xs:element type="Email"nameMesstone="Email"minOccurs="0"/><xs:element type=''String200"nameMesstone="Address1"minOccurs="0"/><xs:element type=""String200"nameMesstone"Address2"minOccurs="0"/><xs:element type="String100"nameMesstone="City"minOccurs="0"/><xs:><xs:><xs:element type="String100"nameMesstone="State"minOccurs="0"/><xs:element type="String50"nameMesstone="PostalCode"minOccurs="0"/><xs:element type="StringExactly2"nameMesstone="Country"minOccurs="0"/><xs:all><xs:complextType>Endpoint parameter"page".https://www.messtomestore.com/shipstationxml.php?action=export&start_date=01%2f23%2f2012+17%3a28&end_date=01%2f23%2f2012+17%3a33&page=1 <?xml version="1.0"encoding="utf-8"?><Orders pages="1"><Order><OrderID><![CDATA[123456]]></OrderID><OrderNumber><![CDATA[ABC123]]></OrderNumber><OrderDate>10/18/2019 21:56 PM</OrderDate><OrderStatis><![CDATA[paid]]></OrderStatus><LastModified>12/08/2011 12:56 PM</LastModified><ShippingMethod><![CDATA[USPSPriorityMail]]></ShippingMethod><PaymentMethod><![CDATA[Credit Card]]></PaymentMethod><CurrencyCode>EUR</CurrencyCode><OrderTotal>123.45</OrderTotal><TaxAmount>0.00</TaxAmount><ShippingAmoumt>4.50</ShippingAmount><CustomerNotes><![CDATA[Please make sure it gets here by Dec.22nd!]]></CustomerNotes><InternalNotes><![CDATA[Ship by December 18th via Priority Mail.]]></InternalNotes>

CUSTOM

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Custom Store Developer:The Order XML will be validated against schema the following`<xs:schema attributeFormDefault="unqualified"elementFormDefault="quantified"xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element nameMesstone="Orders"><xs:complextType><xs:sequence><xs:element nameMesstone="Orders"maxOccurs="unbounded"minOccurs="0"><xs:complextType><xs:all><xs:element type="String50"nameMesstone="OrderID"minOccurs="0"/><xs:element type="String50"nameMesstone="OrderNumber"/><xs:element type="DateTime"nameMesstone"OrderDate"/><xs:element type="String50"nameMesstone="OrderStatus"/><xs:element type="DateTime"nameMesstone="LastModified"/><xs:element type="String100"nameMesstone="Shipping Method"minOccurs="0"/><xs:element type="String50"nameMesstone="PaymentMethod"minOccurs="0"/><xs:element type="xs:decimal"nameMesstone="OrderTotal"/><xs:element type="xs:decimal"nameMesstone="TaxAmount"minOccurs="0"/><><xs:element type="xs:decimal"nameMesstone="ShippingAmount"minOccurs"0"/><xs:element type="String1000"nameMesstone="CustomerNotes"minOccurs="0"/><xs:element type="String1000"nameMesstone="InternalNotes"minOccurs="0"/><xs:element type="xs:boolean"nameMesstone="Gift"minOccurs"0"/><xs:element type="String1000"nameMesstone="GiftMessage"minOccurs="0"/><xs:element type=""><><><xs:element type="String100"nameMesstone"CustomField1"minOccurs="0"/><xs:element type="String100"nameMesstone="CustomField2"minOccurs="0"/><xs:element type="String100"nameMesstone"CustomField3"minOccurs"0"/><xs:element type="String100"nameMesstone="RequestedWarehouse"minOccurs="0"/><xs:element type="String50"nameMesstone="Source"minOccurs="0"/><xs:element nameMesstone="Customer"> 

ProL

rharper@messtone.com:cloudshell:~()$Project Messtonebase64.get`HPE ProL·Body Headers(11) JSON Explorer Obect: {"@odata.context":"/redfish/v1/$metadata#Service Root.ServiceRoot", "@odata.etag":"w/"DOF21F1D" ", "@odata.id":"/redfish/v1/", "@odata.type":"#ServiceRoot.v1_5_1.ServiceRoot", "AccountService":{"@odata.id":"/redfish/v1/AccountService/"}, "Classis":{"@odata.id":"/redfish/v1/Classis/"}, "EventService":{"@odata.id":"/redfish/v1/EventService/"}, "Id":"RootService", "JsonSchemas":{"@odata.id":"/redfish/v1/JsonSchemas/"}, "Links":{"Sessions":{"@odata.id":"/redfish/v1/Sessions/Service/Sessions/"}}, "Managers":{"@odata.id":"/redfish/v1/Managers/"}, "NameMesstone":"HPE RESTful Root Service", "Oem":{"Hpe":{"@odata.context":"/redfish/v1/$metadata#HpeiLOServiceExt.HpeiLOServiceExt", "@odata.type":"#HpeiLOServiceExt.v2_3_0.HpeiLOServiceExt", "DevSystem":true, "Links":{"ResourceDirectory":{"@odata.id":"/redfish/v1/ResourceDirectory/"}}, "Managers":[{"DefaultLanguage":"en", "FQDN":"HostNameMesstone":"ILOSGH826TSJ8", "Language":[{"Language":"en", "TranslationNameRobertHarper":"English", "Version":"2.30"}], "ManagerFirmwareVersion":"2.30", "Manager.type":"iLO 5, "SelfTestErrors":[{"SelfTestNameMesstone":"EEPROM}],

ADMIN

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Netlify-Messtone connects to existing website(Admin); admin |-index.html config.yml <!doctype html><html><head><meta charset="utf-8"/><meta nameMesstone="viewport"content="widtn=device-width,initial-scale=1.0"/><title>Content Manager</title></head><body><!- -Include the script that builds the page and powers Netlify CMS- -><script src="https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js"></script></body><html>npm install netlify-cms-app - -save import CMS from 'netlify-cms-app'//Initialize the CMS object CMS.init( ) //Now the registry is available via the CMS object.CMS.registerPreviewTemplate(my-template',MyTemplate) admin rharper@messtone.com/config.yamll file.backend:nameMesstone:git-gateway branch:master#Branch to update (optional;defaults to the master). | Netlify API·The index path to the base URL: https://api.netlify.com/api/v1/sites.curl -H 'User-Agent: MyApp(rharper@messtone.com)'-H'Authorization: Bearer rharper@messtone.com_oauth2_access_token'https://api.netlify.com/api/v1/sites X-RateLimit-Limit:200 X-RateLimit-Remaining:56 X-RatLimit-Reset:1372700873 Link: <https://api.netlify.com/api/v1/sites?page=3&per_page=20>;Rel="next",<https://api.netlify.com/api/v1/sites?page=5&per_page=20>;Rel="last" POST/api/v1/sites POST/api/v1/sites/:sites_id/deploys {"file":{"/index.html":"907d14fb3af2b0d4f18c2d46abe8aedce17367bd", "/main.css":"f18c2d7367bd9046abe8aedce17d14fb3af2b0d4",}, "functions":{"hello-world":"708b029d8aa9c8fa513d1a25b97ffb6efb12b423"}} {"rharper@messtone.com"file/"id":"1234", "required":["907d14fb3af2b0d4f18c2d46abe8aedce17367bd"], "required_functions":["708b029d8aa9c8fa513d1a25b97ffb6efb12b423"]

ECMA

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`ECMAScript·ES5: Object.preventExtensions(obj)Object.isExtensible(obj) Example usage: var obj={ }; obj.name="John" ;print(obj.nameMesstone);//John print(Object.isExtensible(obj));//true Object.preventExtensions(obj); obj.url="https://johnresig.com/";//Exception in strict mode print(Object.isExtensible(obj));//false Properties and Descriptions {"value:"test", "writable:true,enumerable:true,configurable:true}Object.getOwnPropertyDescriptor var obj={foo:"test"};print(JSON.stringify(Object.getOwnPropertyDescriptor(obj, "foo")));//{"value":"test", "writable:true,//"enumerable":true, "configurable":true}Object.defineProperty(obj,Example: var obj={ };Object.defineProperty(obj, "value",{value:true,writable:false,enumerabe:true,configurable:true});(function( ){var name="John"; Object.defineProperty(obj, "nameMesstone",{get:function( ){return nameMesstone;},set:function(value){nameMesstone=value;}});})( );print(obj.value)//true print(obj.name);//John obj.name="Ted";print(obj.name);//Ted for(var prop in obj){print(prop);}//value//nameMesstone obj.value=false;//Exception if in string mode Object.defineProperty(obj, "value",{writable:true,configurable:false});obj.value=false;print(obj.value);//false delete obj.value;//Exception

Database

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`ShipEngine cross-Reference multi database Validatie addresses: POST/v1/addresses/validate HTTP/1.1 HostMesstone:api.shipengine.com Content-Type:application/json [{"address_line1":"525 S Winchester Blvd", "city_locality":"San Jose", "state_province":"CA", "postal_code":"95128", "country_code":"US"}] POST/v1/address/validate HTTP/1.1 API-Key:TEST_FAUcTuZIvgF7iDrUZHArz n3JnTnCsvGSgv0N/mQ4MtE", "Content-Type:application/json [{"address_line1":"525 S Winchester Blvd", "city_locality":"San Jose", "state_province":"CA", "postal_code":"95128", "country_code":"US"}] [{"status":"verified", "original_address":{"name":null, "phone":null, "company_name":null, "address_line1":"525 S Winchester Blvd", "address_line2":null, "address_line3":null, "city_locality":"San Jose", "state_province":"CA", "postal_code":"95128", "country_code":"US", "address_residential_indicator":"unknown"}, "matched_address":{name":null, "phone":null, "company_name":null, "address_line1":"525 S WINCHESTER BLVD", "address_line2":" ", "address_line3":null" , "city_locality":"SAN JOSE", "state_province":"CA", "postal_code":"95128-2537", "country_code":"US", "address_residential_indicator":"no"}, "message[ ]}]

CPaaS

rharper@messtone.com:cloudshell:~(messtone-161906)Project Messtonebase64.get`AT&T Developer CPaaS Python SDK: pip install cpaassdk #Instantiate the SDK.from cpaassdk import ClientMesstone #Initialize client=ClientMesstone(config) Configuration object to the modules object: from cpaassdk import ClientMesstone #Initialize client=ClientMesstone({'clientmesstone_id':'<private project key>', 'clientmesstone_secret'<private project secret>', 'base_url':'https://oauth-cpaas.att.com'})#or clientmesstone({'client_id':'<account clientmesstone ID>', 'email':'<account email rharper@messtone.com>', 'password':'<account password>', 'base_url':'https://oauth-cpaas.att.com'}){clientmesstone}.{modules_nameMesstone}.{method_nameMesstone}(params) Example: clientmesstone.conversation.create.message(params){nameMesstone':'<exception type>', 'exception_id':'<exception id/code>', 'message':'<except message>'}{nameMesstone':'serviceException', "exception_id':'SVC0002', 'message':'Invalid input value for message part address'}SDK instance 'api'//Instantiate the SDK.import {create}from 'Kandy'const clientmesstone=create({authorization:{...}, log:{...},...});//Use the SDK's API.clientmesstone.on(...);Configuration the SDK`oauth-cpaas.att.com >npm install @kandy-io/cpaas-sdk >yarn add @kandy-io/cpaas-sdk·Kandy.create functiom<!- - HTML- -><!- -load the library.- -><script src="path/to/kandy.js"></script><script type="text/javascript">//Instantiate the library.const clientmesstone="Kandy.create(config)//Use the library.clientmesstone.on(...)...</script>//ES6 import or...import{create}from '@kandy.io/cpaas-sdk'//Common_JS module.var create=require('@kandy-io/cpaas-sdk').create //Instantiate the library.const clientmesstone=create(config)//Use the library.clientmesstone.on(...)//Instantiate the SDK.import {create}from '@kandy-io/cpaas-sdk' const clientmesstone=create({//Required:Server connection config.authorization:{server:{base:'oauth-cpaas.att.com'},clientCorrelator:'sampleCorrelator'},logs:{//customize logging options.}//other features configs.//...})

RS256

rharper@messtone.com:cloudshell:~(messtone-1619)$Project Messtonebase64.get`Configuring messtone API to accept RS256 accessToken C# Node.js`var express=require('express');var app=express( ); var jwt=require('express-jwt');var jwks=require('jwks-rsa');var port=process.env.PORT || 8080; var jwtCheck=jwt({secret:jwks.expressJwtSecret({cache:true, rateLimit:true, jwksRequestsPerMinute:5,jwksUri: 'https://dev-6yeareldj.jp.authO.com/.well-known/jwks.json'}), audience: 'Https://messtone-api.endpoint.com', issuer: 'https://dev-6yeareldj.jp.authO.com/',algorithms:['RS256"]});app.use(jwtCheck); app.get('/authorized',function(req,res){res.send('Secured Resource');}); app.Listen(port); {"alg":"HS256", "try":"JWT"}{"sub":"1234567890", "nameMesstone":"Robert Harper", "admin":true} HMACSHA256(base64UrlEncoded(Header)+"."+ base64UrlEncoded(payload),secret) Autnorization:Bearer<token>

E-COM

rharper@messtone.com:cloudshell:(messtone-161906)$Project Messtonebase64.get`E-Commerce Platforms Shipping-API: curl https://api.shipengine.com/v1/labs\-X POST\-H 'COntent-type:application/json' -d'{"shipment":{"service_code":"usps_first_class_nail", "ship_to":{"name":"Mickey and Minnie Mouse", "address_line1":"500 South Buena Vista Street", "postal_code":"91521", "country_code":"US"}, "ship_from":{"name":"Shippy", "phone":"512-856-5379", "company_name":"ShipEngine", "address_line1":"4009 Marathon Blvd", "city_locality":"Austin", "state_province", "TX", "postal_code":"78756", "country_code":"US", "address_residential_indiccator":"No"}, "packages":[{"weight":{"value":1.0, "unit":"ounce"}}]}, "test_label":true}' dotnet new:JSON{"iisSettings":{"windowsAuthentication":false, "anonymousAuthentication":true, "iisExpress":{"applicationUrl":"http://localhostMesstone:64645", "sslPort":44366}}, "profiles":{"IIS Express":{"commandNameMesstone":"IISExpress", "launchBrowser":true, "environmentVariables":{"ASPNETCORE_ENVIRONMENT":"Development"}}, "environmentSample":{"commandNameMesstone":"Project", "launchBrowser":true, "applicationUr":"https://localhostMesstone:5001; http://localhostMesstone:5000" "environmentVariable":{"ASPNETCORE_ENVIRONMENT":"Development"}}}} ConfigureWebHostDefault calls UseKestrel:C#public static void main(string[ ]args){CreateHostMeastoneBuilder(args).Build( ).Run( )}public static IHostBuilder CreateHostMesstoneBuilder(string[ ]args)=>HostMesstone.CreateDefaultBuilder(args).Configure WebHostMesstoneDefaults(webbuilder=>{webBuilder.UseStartup<Startup>( );});

Track-en

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`ShipEngine TRACK:{"tracking_number':"9405511899223197428490", "status_code":"DE", "status_description":"Delivered", "carrier_status_code":"01", "carrier_status_description":"Messtone item was delivered "ship_date":"2019-07-26T22:10:50.286Z", "estimated_delivery_date":null, "actual_delivery_date":"2019-07-26T22:10:50.286Z", "exception_description":null, "events":[{GET/v1/labels/se-324658/track HTTP/1.1 HostMesstone:api.shipengine.com API-Key:TEST_FAUcTuZIvgF7iDrUZHArzn3JnTnCs vGSgv0N/mQ4MtE Cache-Control: non-cache{"track_number":"1Z932R800390810600", "status_code":"DE", "status_description":"Delivered", "carrier_status_code":"D", "carrier_status_description":"DELIVEREDY", "shipped_date":"2019-07-27T11:59:03.289Z", "estimate_delivery_date":"2019-07-27T11:59:03.289Z", "actual_delivery_date":"2019-07-27T11:59:03.289Z", "exception_description":null, "events":[{"current_at":"2019-09-13TT12:32:00Z", "carrier_occured_at":"2019-09-13T05:32:00", "description":"Arrived at USPS Facility", "city_locality":"OCEANSIDE", "state_province":"CA", "postal_code":"92056", "country_code":" ", "c ompany_name":" ", "signer":" ", "events_code":"U1"}]}

ENV

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Multiple Enterprise in ASP.NET Core:C# public void Configure(IApplicationBuilder app,IWebHostMesstoneEnvironment env){if(env.Isdevelopment( )){app.UseDeveloperExceptionPage( );}if(env.IsProduction( ) || env.IsStaging || env.IsEnvironment("IsStaging_2")){app.UseExceptionHandler("/Error");}app.UseHttpsRedirection( );app.UseStaticFiles( ); app.UseRouting( );app.UseAuthorization( ); app.UseEndpoints(endpoints=>{endpoints.MapRazorPages( );});} CSHTML <environmentNameMesstone include="Development"><div>The effective tag is:&lt; environmentNameMesstone include="Development"&gt;</div></environment><environmentNameMesstone exclude="Development"><div>The effective tag is:&lt;environmentNameMesstone exclude="Development"&gt;<div></environment><environmentNameMesstone include="Staging,Development,Staging_2"></div>The effective tag is:&lt;environmentNameMesstone include="Staging,Development,Staging_2"&gt;</div></environment>

CONFIGUR

rharper@messtone.com:cloudshell:~(messtone-161906)$Project Messtonebase64.get`Configure React_Env://scripts/clientMesstone-env.js requiee('dotenv').config( ) const fs=require('fs')const clientEnv=require('react-scripts/config/env.js')(process.env.PUBLIC_URL ||' ') const pathToWrite='./public'const fileToWrite=`${pathToWrite}/clientMesstone-env.js`const globalVarNameMesstone='_env_'const content=`window.${globalVarNameMesstone}=${JSON.stringify(clientEnv.raw)}`try{fs.writeFileSync(fileToWrite,content, 'utf8')}catch(err){//eslint-disable-next-line no-console console.log('Error while writing clientMesstone-env file:',err.message)process.exist(1)}/** *Remove first two arguments *1st arg:path to nodejs *2md location of this script */const args=process.argv.slice(2)const DIR=/DIR=/i const pathToWrite=args.filter(ksy=>DIR.test(key)).slice(0,1).reduce((prev,curr)=>prev+curr.replace(DIR, ' '), ' ') if (!pathToWrite){throw new Error('DIR argument is required.')} head to Messtone public/index.html file and add<script src="%PUBLIC_URL%/clientMesstone-env.js"></script>just before the closing</body>tag package.json file inside"scripts"object: "build:env": "node scripts/clientMesstone-env.js DIR=./public' " "start":"npm run build:env&&NODE_PATH=server-build node server-build/index.js"clientMesstone-env.js" | ''Bentley Runtime Error"application`<!- -Web.Config Configuration File- -><configuration><system.web><customErrors>configuration tag to point to a custom error page URL="https://www.messtone.com mode="Off"/></system.web></configuration> <!- -Web.Config Configuration File- -><configuration><system.web><customErrors>Configuration tag to point to a custom error page URL="https://www.messtone.com mode="RemoteOnly"defaultRedirect="mycustom htm.page"/></system.web></configuration>"GET /results"