-
Notifications
You must be signed in to change notification settings - Fork 48
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
270 additions
and
198 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
114 changes: 63 additions & 51 deletions
114
...cumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,76 @@ | ||
public with sharing class FireCreateServiceDocumentInvocableAction { | ||
private static final String API_VERSION = 'v58.0'; | ||
|
||
private static final String API_VERSION = 'v58.0'; | ||
private static final String CREATE_SERVICE_DOCUMENT_ACTION_PATH = | ||
'/services/data/' + | ||
API_VERSION + | ||
'/actions/standard/createServiceDocument'; | ||
|
||
private static final String CREATE_SERVICE_DOCUMENT_ACTION_PATH = '/services/data/'+ API_VERSION +'/actions/standard/createServiceDocument'; | ||
private static final String AUTHORIZATION_HEADER = 'Authorization'; | ||
private static final String AUTHORIZATION_BEARER_PREFIX = 'Bearer '; | ||
|
||
private static final String AUTHORIZATION_HEADER = 'Authorization'; | ||
private static final String AUTHORIZATION_BEARER_PREFIX = 'Bearer '; | ||
private static final String CONTENT_TYPE_HEADER = 'Content-Type'; | ||
private static final String CONTENT_TYPE_JSON = 'application/json'; | ||
|
||
private static final String CONTENT_TYPE_HEADER = 'Content-Type'; | ||
private static final String CONTENT_TYPE_JSON = 'application/json'; | ||
private static final String ACCEPT_HEADER = 'Accept'; | ||
|
||
private static final String ACCEPT_HEADER = 'Accept'; | ||
/** | ||
* recordId: recordId to generate service document for. WO/WOLI/SA id | ||
* templateId: The ID of Service document template to generate document for. The ID starts with '0M0' | ||
* locale: (Optional) Locale to generate the document in. Example valid formats: 'ru', 'ru_PL' | ||
* title: (Optional) Used to name the document saved | ||
*/ | ||
@future(callout=true) | ||
public static void TriggerCreateServiceDocumentInvocableAction( | ||
String recordId, | ||
String templateId, | ||
String locale, | ||
String title | ||
) { | ||
// System.debug('Attempting to queue Create Service Document'); | ||
// System.debug('RecordId: ' + recordId); | ||
// System.debug('TemplateId: ' + templateId); | ||
// System.debug('Locale: ' + locale); | ||
// System.debug('Title: ' + title); | ||
|
||
/** | ||
* recordId: recordId to generate service document for. WO/WOLI/SA id | ||
* templateId: The ID of Service document template to generate document for. The ID starts with '0M0' | ||
* locale: (Optional) Locale to generate the document in. Example valid formats: 'ru', 'ru_PL' | ||
* title: (Optional) Used to name the document saved | ||
*/ | ||
@future (callout=true) | ||
public static void TriggerCreateServiceDocumentInvocableAction(String recordId, String templateId, String locale, String title) { | ||
String sessionId = UserInfo.getSessionId(); | ||
|
||
// System.debug('Attempting to queue Create Service Document'); | ||
// System.debug('RecordId: ' + recordId); | ||
// System.debug('TemplateId: ' + templateId); | ||
// System.debug('Locale: ' + locale); | ||
// System.debug('Title: ' + title); | ||
HttpRequest httpRequest = new HttpRequest(); | ||
|
||
String sessionId = UserInfo.getSessionId(); | ||
httpRequest.setMethod('POST'); | ||
httpRequest.setEndpoint( | ||
URL.getOrgDomainUrl().toExternalForm() + | ||
CREATE_SERVICE_DOCUMENT_ACTION_PATH | ||
); | ||
httpRequest.setHeader( | ||
AUTHORIZATION_HEADER, | ||
AUTHORIZATION_BEARER_PREFIX + sessionId | ||
); | ||
httpRequest.setHeader(CONTENT_TYPE_HEADER, CONTENT_TYPE_JSON); | ||
httpRequest.setHeader(ACCEPT_HEADER, CONTENT_TYPE_JSON); | ||
|
||
HttpRequest httpRequest = new HttpRequest(); | ||
JSONGenerator jg = JSON.createGenerator(false); | ||
jg.writeStartObject(); | ||
jg.writeFieldName('inputs'); | ||
jg.writeStartArray(); | ||
|
||
httpRequest.setMethod('POST'); | ||
httpRequest.setEndpoint(URL.getOrgDomainUrl().toExternalForm() + CREATE_SERVICE_DOCUMENT_ACTION_PATH); | ||
httpRequest.setHeader(AUTHORIZATION_HEADER, AUTHORIZATION_BEARER_PREFIX + sessionId); | ||
httpRequest.setHeader(CONTENT_TYPE_HEADER, CONTENT_TYPE_JSON); | ||
httpRequest.setHeader(ACCEPT_HEADER, CONTENT_TYPE_JSON); | ||
|
||
JSONGenerator jg = JSON.createGenerator(false); | ||
jg.writeStartObject(); | ||
jg.writeFieldName('inputs'); | ||
jg.writeStartArray(); | ||
|
||
jg.writeStartObject(); | ||
jg.writeObjectField('recordId', recordId); | ||
jg.writeObjectField('templateId', templateId); | ||
if (locale != null) { | ||
jg.writeObjectField('locale', locale); | ||
} | ||
if (title != null) { | ||
jg.writeObjectField('title', title); | ||
} | ||
jg.writeEndObject(); | ||
jg.writeEndArray(); | ||
jg.writeEndObject(); | ||
jg.writeStartObject(); | ||
jg.writeObjectField('recordId', recordId); | ||
jg.writeObjectField('templateId', templateId); | ||
if (locale != null) { | ||
jg.writeObjectField('locale', locale); | ||
} | ||
if (title != null) { | ||
jg.writeObjectField('title', title); | ||
} | ||
jg.writeEndObject(); | ||
jg.writeEndArray(); | ||
jg.writeEndObject(); | ||
|
||
httpRequest.setBody( jg.getAsString() ); | ||
httpRequest.setBody(jg.getAsString()); | ||
|
||
Http http = new Http(); | ||
HttpResponse response = http.send(httpRequest); | ||
System.debug(response.getBody()); | ||
} | ||
} | ||
Http http = new Http(); | ||
HttpResponse response = http.send(httpRequest); | ||
System.debug(response.getBody()); | ||
} | ||
} |
4 changes: 2 additions & 2 deletions
4
...ples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls-meta.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> | ||
<apiVersion>58.0</apiVersion> | ||
<status>Active</status> | ||
</ApexClass> | ||
</ApexClass> |
Oops, something went wrong.