Hello,

 

I am following this guide (https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…) and I am stuck in the step 2 where I have to register the custom channel in the database.

 

I assume that firstly I need to add a record in the previously created table where I define a specific Username and Token that the external client will need to use in order to authenticate the messages sent within my custom channel. Therefore, I understand that the Id of the created record must be used in the [MsgSettingsId] column of the Channel table. However, I don't know what I must introduce in the [Source] column. As stated in the article:

 

[Source]: The channel ID in the messenger, such as the Facebook page ID or Telegram client ID. Lets you identify the recipient by a messenger message.

 

I noticed that for Facebook, that field stores the Facebook user ID that will be resolved in the URL ">https://facebook.com/[user_id] which redirects to /">https://www.facebook.com/people/[user-name]/[other_id] and in WhatsApp the URL is ">https://wa.me/[phone_number] which redirects to &text&type=phone_number&app_absent=0">https://api.whatsapp.com/send/?phone=%2B[phone_number]&text&type=phone_number&app_absent=0.

 

If I set a random string for the [Source] column and I try to check the information in the ChatSettings I get the following error when I click on the channel name:

 

"invalid channel type"

test

 

But what is the channel type? What does that mean and how is it resolved by Creatio?

 

In my case, I want to setup the communication between Creatio and a external chatbot. What exact value should I set in the [Source] column for my custom channel provider?

 

Regards

Like 0

Like

2 comments

Hi Alejandro! How are you? I hope you're well. The guide you are referring to is related to creating a new integration (channel) with a third-party messaging platform such as Viber, WeChat, etc. For my part I was able to develop a new channel following the guide. If you have questions, feel free to send me a message and we'll get in touch. Another option is to detail your goal and I can give you some tips on how to move forward.

Hello, 
You're right, MsgSettingsId should contain an ID from the record you insert into the table TestMsgSettings created previously. As for the Source, you can find the article on how to get the page ID, for example, https://help.salesforce.com/s/articleView?id=000389501&type=1. As for the other sources like your chatbot, if I'm not mistaken, the Source can be just a simple string, the error appears due to the fact that custom channels weren't expected in code, they need to be configured directly in the DB.

openChannelDialogService(t, n) {
                this.zone.run(()=>{
                    switch (t.typeId) {
                    case v.FacebookMessenger:
                        this.dialogService.open(D, n).subscribe();
                        break;
                    case v.Telegram:
                        this.dialogService.open(K, n).subscribe();
                        break;
                    case v.WhatsApp:
                        this.dialogService.open(X, n).subscribe();
                        break;
                    default:
                        console.error("invalid channel type")
                    }
                }
                )
            }

 

Show all comments

Hi there! We are developing an application and want to add a custom channel provider. We follow this guide, and stuck on 4. Implement the conversion of an incoming message step. 

 

After adding completely the same converted class and publishing it, we receive 

The type or namespace name 'OmnichannelProviders' could not be found (are you missing a using directive or an assembly reference?) compilation result. 

 

As the guide suggests, this class should be added to Custom package and it is working ok in this case, however we need to add it to our application's package so it can be exported and installed. Is it possible? 

Like 0

Like

2 comments
Best reply

Hello,

 

Have I understood everything correctly and you develop this functionality in an assembly-package? If you uncheck this package option "Compile into a separate assembly" do you have the same error message?

 

Thank you!

Hello,

 

Have I understood everything correctly and you develop this functionality in an assembly-package? If you uncheck this package option "Compile into a separate assembly" do you have the same error message?

 

Thank you!

Oleg Drobina,

Correct, we have this option enabled by default and haven't changed it.

After unchecking this checkbox everything works like a charm. 



Thank you very much! 

Show all comments