Custom SMS module

I have started to create new sms adapter for smsteknik. I copied Massenversand “module” for starting point. I have just replaced all masseversand → smsteknik. When I install this package and run

zammad run rake zammad:package:migrate
zammad run rake assets:precompile
systemctl restart zammad

zammad wont start and I cannot figure out why.

My environment is

This is Zammad version 5.3.0-1670421755.60c0505c.focal
Ubuntu 20.04
Mariadb 10.6

Here is my smsteknik.szpm

{
  "name": "SMSTeknik",
  "version": "1.0.0",
  "vendor": "Onnisys Oy",
  "license": "MIT",
  "url": "https://ww.onnisys.fi/",
  "buildhost": "zammad.onnisys.local",
  "builddate": "2022-12-06 15:53:00 UTC",
  "change_log": [
    {
      "version": "1.0.0",
      "date": "2022-12-06 15:53:00 UTC",
      "log": "Initial version."
    }
  ],
  "description": [
    {
      "language": "en",
      "text": "Adding one way SMS for SMS Teknik"
    }
  ],
  "files": [
    {
      "location": "app/models/channel/driver/sms/smsteknik.rb",
      "permission": 644,
      "encode": "base64",
      "content": "IyBDb3B5cmlnaHQgKEMpIDIwMTItMjAyMiBPbm5pc3lzIE95LCBodHRwczovL3d3dy5vbm5pc3lzLmZpLwoKY2xhc3MgQ2hhbm5lbDo6RHJpdmVyOjpTbXM6OlNNU1Rla25payA8IENoYW5uZWw6OkRyaXZlcjo6U21zOjpCYXNlCiAgTkFNRSA9ICdzbXM     vc21zdGVrbmlrJy5mcmVlemUKCiAgZGVmIHNlbmQob3B0aW9ucywgYXR0ciwgX25vdGlmaWNhdGlvbiA9IGZhbHNlKQogICAgUmFpbHMubG9nZ2VyLmluZm8gIlNlbmRpbmcgU01TIHRvIHJlY2lwaWVudCAje2F0dHJbOnJlY2lwaWVudF19IgoKICAgIHJldHVybiB0cnVlIGlm     IFNldHRpbmcuZ2V0KCdpbXBvcnRfbW9kZScpCgogICAgUmFpbHMubG9nZ2VyLmluZm8gIkJhY2tlbmQgc2VuZGluZyBTTVNUZWtuaWsgU01TIHRvICN7YXR0cls6cmVjaXBpZW50XX0iCiAgICBiZWdpbgogICAgICBzZW5kX2NyZWF0ZShvcHRpb25zLCBhdHRyKQoKICAgICAgd     HJ1ZQogICAgcmVzY3VlID0+IGUKICAgICAgbWVzc2FnZSA9ICJFcnJvciB3aGlsZSBwZXJmb3JtaW5nIHJlcXVlc3QgdG8gZ2F0ZXdheSBVUkwgJyN7dXJsfSciCiAgICAgIFJhaWxzLmxvZ2dlci5lcnJvciBtZXNzYWdlCiAgICAgIFJhaWxzLmxvZ2dlci5lcnJvciBlCiAgIC     AgIHJhaXNlIG1lc3NhZ2UKICAgIGVuZAogIGVuZAoKICBkZWYgc2VuZF9jcmVhdGUob3B0aW9ucywgYXR0cikKICAgIHVybCA9IGJ1aWxkX3VybChvcHRpb25zLCBhdHRyKQoKICAgIHJldHVybiBpZiBTZXR0aW5nLmdldCgnZGV2ZWxvcGVyX21vZGUnKQoKICAgIHJlc3BvbnN     lID0gRmFyYWRheS5nZXQodXJsKS5ib2R5CiAgICByZXR1cm4gaWYgcmVzcG9uc2UubWF0Y2g/KCdPSycpCgogICAgbWVzc2FnZSA9ICJSZWNlaXZlZCBub24tT0sgcmVzcG9uc2UgZnJvbSBnYXRld2F5IFVSTCAnI3t1cmx9JyIKICAgIFJhaWxzLmxvZ2dlci5lcnJvciAiI3tt     ZXNzYWdlfTogI3tyZXNwb25zZS5pbnNwZWN0fSIKICAgIHJhaXNlIG1lc3NhZ2UKICBlbmQKCiAgZGVmIHNlbGYuZGVmaW5pdGlvbgogICAgewogICAgICBuYW1lOiAgICAgICAgICdTTVNUZWtuaWsnLAogICAgICBhZGFwdGVyOiAgICAgICdzbXMvc21zdGVrbmlrJywKICAgI     CAgbm90aWZpY2F0aW9uOiBbCiAgICAgICAgeyBuYW1lOiAnb3B0aW9uczo6Z2F0ZXdheScsIGRpc3BsYXk6IF9fKCdHYXRld2F5JyksIHRhZzogJ2lucHV0JywgdHlwZTogJ3RleHQnLCBsaW1pdDogMjAwLCBudWxsOiBmYWxzZSwgcGxhY2Vob2xkZXI6ICdodHRwczovL2dhdG     UxLmdveXlhbW9iaWxlLmNvbS9zbXMvc2VuZHNtcy5hc3AnLCBkZWZhdWx0OiAnaHR0cHM6Ly9nYXRlMS5nb3l5YW1vYmlsZS5jb20vc21zL3NlbmRzbXMuYXNwJyB9LAogICAgICAgIHsgbmFtZTogJ29wdGlvbnM6OnRva2VuJywgZGlzcGxheTogX18oJ1Rva2VuJyksIHRhZzo     gJ2lucHV0JywgdHlwZTogJ3RleHQnLCBsaW1pdDogMjAwLCBudWxsOiBmYWxzZSwgcGxhY2Vob2xkZXI6ICdYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCcgfSwKICAgICAgICB7IG5hbWU6ICdvcHRpb25zOjpzZW5kZXInLCBkaXNw     bGF5OiBfXygnU2VuZGVyJyksIHRhZzogJ2lucHV0JywgdHlwZTogJ3RleHQnLCBsaW1pdDogMjAwLCBudWxsOiBmYWxzZSwgcGxhY2Vob2xkZXI6ICcwMDQ5MTcxMDAwMDAwMCcgfSwKICAgICAgXQogICAgfQogIGVuZAoKICBwcml2YXRlCgogIGRlZiBidWlsZF91cmwob3B0a     W9ucywgYXR0cikKICAgIHBhcmFtcyA9IHsKICAgICAgYXV0aFRva2VuOiBvcHRpb25zWzp0b2tlbl0sCiAgICAgIGdldElEOiAgICAgMSwKICAgICAgbXNnOiAgICAgICBhdHRyWzptZXNzYWdlXSwKICAgICAgbXNndHlwZTogICAnYycsCiAgICAgIHJlY2VpdmVyOiAgYXR0cl     s6cmVjaXBpZW50XSwKICAgICAgc2VuZGVyOiAgICBvcHRpb25zWzpzZW5kZXJdCiAgICB9CgogICAgIiN7b3B0aW9uc1s6Z2F0ZXdheV19PyN7VVJJLmVuY29kZV93d3dfZm9ybShwYXJhbXMpfSIKICBlbmQKZW5kCg=="
    }
  ]
}

Hi,

We have built an SMS Teknik plugin for Zammad.
We followed this thread, together with the blogpost in the last reply.

Best regards

I just managed to figure out my mistake. Class name should not be in CamelCase. I had SmsTeknik and the loader tried to find class called Smsteknik.

I think this will help in future that someone else doesnt make same mistake :slight_smile:

By the way… Are you willing to share your module or is it top secret?

Hi Juha,

Im glad you got it working.

Its not much to share, we made the plugin just to test packages in Zammad and to see if we could integrate SMSTeknik in Zammad, when we first started with Zammad in the beginning of 2021.
There is still some corrections that is needed to make it nice and pretty. We are not using the plugin in our daily operations currently.

Best regards