Hi community,

 

We've this situation where we need to send all the attachments that are linked to Documents, including the byte[] data, to a SOAP based service.

We have two solutions in order to implement this:

  1. To send the attachments we could simply convert the byte[] data to base64 string and send it within the body of the SOAP message. Some of the files are more than 10MB, so this is not the best solution.
  2. The other solution is to use the MTOM message encoder, to send the attachments in multiple parts.

We have two questions:

  1. What are the best ways to send multiple attachments through SOAP based requests?
  2. If we choose to send the attachments using MTOM, how can we implement this?

Thanks in Advance.

 

Best Regards,

Pedro Pinheiro

 

 

Like 2

Like

1 comments

Hi Pedro,

 

Maybe it's better to call the https://<instance>/0/rest/FileService/GetFile/7B332DB9-3993-4136-AC32-09353333CC7A/fileId for all the files and receive a response from the third party service? You need to call this link for each record from the DocumentFile table (filed should be modified for each time with an actual Id of a record from the DocumentFile table). Previously we didn't have such requests and we have no practical example of the logic deployment. The link above is a base link used to download attachments when clicking them on the "Attachments" detail so you can try calling it in the webservice.

 

Best regards,

Oscar

Show all comments

Dear community,

 

I am using the following apps:

Aspose 

'Save Printable' (keep in mind that we tried with a script first but we switched to this for ease of use)

 

Whenever we trigger our business process manually, the pdf gets created automatically. Whenever the BP gets triggered by the portal, the attachment doesn't get converted. We still use the same BP with the same values.

 

Does anyone have any experience with this?

Thank you in advance!

 

Kind regards,

Yosef

Like 0

Like

6 comments

Hi Yosef,

 

Please note that the Aspose connector does not support generating pdf printables when triggered by the portal.

Kindly answer the following questions for the responsible team to further analyze your use-case:

1. What Creatio product and version are you working with?

2. Do you get  a .docx printable generated automatically when the BP is triggered by the portal?

3.  Could you provide us with a BP diagram to have a clearer idea of the use-case?

 

Thank you for your feedback!

Svetlana Kobizka,

 

We actually call the BP through API with a portal user in Creatio.

1. We use Creatio sales, marketing & service / 7.17.1

2. We get a PDF file but we can't open it. Changing it to .docx makes us able to read it as a word file.

3.

this is the initial process: https://prnt.sc/zz2kpg

We call the invoice through API and set it to "Complete". As soon as this happens, we trigger the following flow which is the subprocess: https://prnt.sc/zz2uut

 

Here we have the "save printable" block.

Everything works except when the status is set to complete through the portal API.

 

 

Kind regards,

Yosef

Hi Yosef,

 

Regarding the second issue, we need you to run a check-up and get back to us with the results.



Please set the printables generation to .docx printables in the subprocess in the 'Save printable' element. Run the business process and tell us if a .docx printable is successfully generated when the BP is triggered by the portal.

Alexander Demidov,

 

If we set the processs to docx, everything works. Right now, when we change the generated pdf (through portal) file to ".docx", we can open it in word.

 

Kind regards,

Yosef

I also noticed that we can't generate a pdf in the instance either unless we place an approval block: https://prnt.sc/106hzl7

Without the approval block, the pdf gets created but we're unable to open it unless we manually change it to ".docx" : https://prnt.sc/106i0bb

This process was triggered within Creatio.

 

 

Kind regards,

Yosef

Hi Yosef,

 

Thank you for the clarification. I have submitted this update to the responsible team.

Show all comments

Is it possible to create an email template (email templates lookup) that has fixed attachments such as a ms word or ms excel file? For my use case this would be for emails being sent OUT of Creatio from a synced mailbox TO external customers who do not access Creatio, instead they just receive an email to their normal email service such as gmail or outlook. 

Like 0

Like

1 comments

Dear Mitch,

 

Unfortunately, it cannot be done since email templates do not have required architecture for storing attachments. As a workaround, you can use this application: https://marketplace.creatio.com/template/send-email-attachments

 

Best regards,

Angela 

Show all comments

Hello all,

 

I am trying to create business process where the user is able to select an email template, decide whether or not they want to include the attachments from the object in the email (i.e. if they are sending from a document record, include the attachments from the document record), and then have the chance to customize the email before sending.

 

I have figured out a couple ways to include the attachments with the email but I can't figure out how to allow the user to select the template. Is there a way I can pass an email template into the "Send email" Process element? 

Like 0

Like

2 comments

Dear Kevin,

 

You can use Auto-generated page and show lookup with templates so the user could select them, or forward the user to Templates lookup. Process "Send email to case group" is a great example of how to fill macro values in the template and then send it as an email automatically. Check "Handle template for email with macros" element for more details. 

 

Best regards,

Angela

Hi Kevin,



I am curious what did you do to solve your problem?

I am experiencing a weird bug now actually. Every time i visit my business process it clears the templateId i set on advance mode.

 

Can you enlighten me?



Best Regards,

Solem

Show all comments

Hello, 

Is there any way to record voice note in contact section ? Instead of writing a note, my client needs to record his notes. 

Thank you

Like 1

Like

7 comments

Hello Sanae, 

 

There are no basic tools and features to realize your business task on a clean install of a standard Creatio product. It can be done only by means of development and customization, but unfortunately, we do not have any examples of its implementation.

 

Kind regards, 

Olga. 

Olga Avis,

Thank you for your reply. Have a nice day.

Sanae ADRAR,

 

If your client uses chrome only (no mobile app), I suggest that you find a voice recorder/transcriber extension that allows you to put the transcripted text in the [Note] text area.

 

Thank you

Mohamed

Mohamed Ouederni,

Thank you Mohamed!! I see that we can use it only with chrome. my client uses IE and the mobile but I will try it anyway. 

Thank you again.

Sanae ADRAR,

Hello, did you find a solution for mobile app?

Mykhailo Kniaziev,

 

There is no such functionality yet, but I will assign your case to this project to increase its priority.  

Show all comments

I imagine it is not likely that this is possible, but I did have an employee ask if there is away to run a search in Creatio that searches the contents of attached documents? Is there any such feature?

For example, if you attach a Microsoft Word document to the attachments detail of a case, then run a global search on a word that is in that document, will it return that as a search result?

Like 0

Like

4 comments

There is a marketplace add-on that does this: 

https://marketplace.creatio.com/app/full-text-search-creatio

Ryan

Hello Mitch,

Our R&D team has a task in "Planned" status registered on their side regarding full text search in files using Global Search feature. Currently the workaround is to use marketplace app Ryan provided you with. I will also make sure our R&D team could know about your community question so it could raise the priority of the problem.

Thank you for helping us to make our application better!

Regards,

Oscar

Oscar Dylan,

That's great news Oscar, thanks for the info.

Ryan

Ryan Farley,

Oscar Dylan,

Thank you both!

Show all comments

Hi Team

I created a Node.js script to upload attachments using FileApiService.

Here is my script:

var axios = require('axios');

var fs = require('fs');

establish_connection();

 

async function establish_connection()

{

        axios.post('https://company_name.bpmonline.com/ServiceModel/AuthService.svc/Login',

        {

            "UserName":"xxxxxxx",

            "UserPassword":"xxxxxxxxxxx"

            

        }).then (function (response){

            console.log('Imported credentials cookie from BPM Online!')

            c=response.headers['set-cookie']

            var bpm_loader=c[0]

            bpm_loader = bpm_loader.replace('BPMLOADER=','')

            bpm_loader=bpm_loader.split(';')[0]

            var aspx_auth=c[1]

            aspx_auth = aspx_auth.replace('.ASPXAUTH=','')

            aspx_auth=aspx_auth.split(';')[0]

            var bpm_csrf=c[2]

            bpm_csrf = bpm_csrf.replace('BPMCSRF=','')

            bpm_csrf=bpm_csrf.split(';')[0]

            var user_name=c[3]

            user_name = user_name.replace('UserName=','')

            user_name=user_name.split(';')[0]

            var auth = 'BPMLOADER='+bpm_loader+'; .ASPXAUTH='+aspx_auth+'; BPMCSRF='+bpm_csrf+'; UserName='+user_name+';';

            console.log('Authentication Successful!')

            upload_attachments(auth,bpm_csrf)

        }).catch(error => {

            console.log(error)

        })

}

async function upload_attachments(auth,bpm_csrf) {

  let myPdf = fs.readFileSync("./file_name.pdf");

  let myData = myPdf.toString("base64");

 

  let myBody = {

    Name: "test.pdf",

    Data: myData,

    TypeId: '529bc2f8-0ee0-df11-971b-001d60e938c6',//This indicates that the type of the attachment is file

    Version: "1",

    Usr_reference_column_id: 'xxxxxguid_of_the_record_xxxxxxxx'

  };

 

  let options = {

    method: "POST",

    url: 'https://company_name.bpmonline.com/0/rest/FileApiService/Upload',

    headers: {

        "fileapi14998570381414":"",

      "cache-control": "no-cache",

      "Accept-Encoding": "gzip, deflate",

      "Cache-Control": "no-cache",

      Accept: "*/*",

      "Content-Type": "application/json;odata=verbose",

      Cookie:auth,

      BPMCSRF:bpm_csrf,

      "entitySchemaName":"Usr_id_of_the_file_section"

    },

    body: myBody,

    json: true

  };

 

  request(options, function(error, response, body) {

    if(!error)

    {

        console.log('Success!')

        console.log(response)

    }

    else

    {

        console.log('Failed!')

        console.log(error)

    }

  });

}

 

References: 

1. https://community.bpmonline.com/questions/sending-blob-file-node

2. https://community.bpmonline.com/questions/upload-files-case

3. https://community.bpmonline.com/questions/how-upload-attachments-odata

4. https://community.terrasoft.ru/questions/realizacia-peredaci-pdf-dokumenta-po-protokolu-odata-s-ispolzovaniem-http-zaprosov

5. https://community.terrasoft.ru/questions/fileapiservice-zagruzka-dokumenta-v-faily-i-primecania-crm-sistemy

 

I am able to establish connection (Authorization is successful) and getting SUCCESS for the attachment. But in the response, I am receiving 'Request Error'.

 

Questions:

1. Is my URL correct?

2. Is the way I specified file section name correct?

3. Do I need to add/delete/change my request body?

4. Do I need to create a MODULE in ADVANCED SETTINGS?

 

NOTE: I am using BPM'Online Studio.

Like 0

Like

1 comments

It's hard to say how it should be done on Node.js. However, there is an easy way to find if your request is correct. Please install "telerik fiddler" and catch the request that you send to bpm'online. For example, send file.jpg. Then open bpm'online and add the same file for example to a contact. Catch the request with fiddler too. Then compare those two requests. Your task is to create a functionality that will send exactly the same request. 

If you need an example on JS, please put a break point into the "upload" method in the ConfigurationFileApi module (in a browser) and add a file to a contact. You'll see how bpm'online generates the request. Please try to do the same on Node.js. 

Show all comments

I figured out how to get the link for an attachment, but when I include it in a Send email system action, the link is automatically converted to an attachment, which is undesirable because the attachment is too large.  How do I include a link to an attachment in an email and have it remain text or a hyperlink?

Like 0

Like

2 comments

Dear Janine, 

According to the [Send email] element logic, your hyperlinks to bpm'online attachments will be automatically converted to actual attached files in the email, there is no way you can leave them as text links.

Regards, 

Svetlana

S.Kobizka,

The really annoying part is even if I remove https:// it still converts.  I'll have to put in more space to make it unrecognizable.

Show all comments

When I include an URL for an attachment in an email sent by bpm'online, the URL is converted to  cid: and an attachment is added to the URL.  However, I just want the URL displayed as text or a link to the file.  I tried including a space after https:// so that it would be recognized as an URL, but the same thing happened.  I tried using %252F for the forward slashes, but it wasn't converted back to text.  How do I stop attachment URLs from being converted to attachments when used in email templates and/or Send email actions?

Like 0

Like

1 comments

Dear Janine, 

Bpm'online R&D team has prepared a feature which will be available in the next release 7.15.1 which would allow our users to send emails with a link to attachments without getting them converted to cid format. 

Once the 7.15.1 version is released, please contact bpm'online support team in order to get this feature enabled. 

Kind regards, 

Roman

 

Show all comments

Hi Community,

In mobile application I am getting this error "Schema CaseFile is not found" when user of type "Portal User" is previweing the attachement in Case.

Any idea how can I configure this for user of type "Portal User"? By the way for user of type "Employee" attachment preview is working fine.

 

Like 0

Like

5 comments

Dear Fulgen,

As far as I understand you are using the marketplace application. We suggest you to approach the application developer directly via bpmonlinelabs@bpmonline.com for further consultations.

 

Best regards,

Dean

Dean Parrett,

Thanks for your reply Dean

I am not using using marketplace application, I am referring to the OOB attachments in Case (Please see screenshot below). Once you click on the attachment it will allow you to preview the attachment. This is working fine for users of type "Employee" but for users of type "Portal user" i'm getting this error "Schema CaseFile is not found" is there any configuration i need to set up? I already check CaseFie object, "Portal Users" has already access rights on it but I am still getting this error. 

Dear Fulgen,

The only suggestion we have is to debug the preview finctionality using mobile application emulator, analyze the functionality logic and implement it for portal users, since the out of the box version of the application doesn't allow portal users to use mobile app.Unfortauntely, we do not have any solution examples for this reason.



Best regards,

Dean

Dean Parrett,

Thanks Dean,

I tried to debug the preview functionality using mobile application. Both users of type 'Employee' and of type 'Portal users' has the same logic.  It is doing  select query in VwSysEntitySchemaInWorkspace object where filter is 'Name' is 'CaseFile'. This query is returning error "Schema CaseFile is not found" for users of type 'Portal Users'. Case File is already added in the List of objects available for portal users but still this error occurs. Is there any other configuration to where I need to add the 'CaseFile' schema  aside from List of objects available for portal users for this to work?

Dear Fulgen,

Since the portal users are not able to access the mobile app by default, we cannot debug the system and tell you exactly how the portal user should preview the files. Developing the mobile application for portal users purposes might be followed by multiple pitfalls. That is why this option is not available in out of the box version and we do not have any examples for the solution.

Best regards,

Dean

Show all comments