Skip to content

KAZOO Support Channels

This documentation is curated by 2600Hz as part of the KAZOO open source project. Join our community forums here for peer support. Only features in the space are included as part of our 2600Hz Support Services plan.

Kazoo Attachments#

This application is meant to be used with storage plans.

How to create a new attachment handler?#

So you want to improve this app? That's wonderful!

Well, you just need to make sure the new attachment handler implements the gen_attachment behaviour so they must have two callbacks:

  • put_attachment/6

    • Settings::gen_attachment:settings(): Storage connection settings.
    • DbName::gen_attachment:db_name(): Database name where the attachment's parent document is stored.
    • DocId::gen_attachment:doc_id(): ID of the document to which the attachment will belong to.
    • AName::gen_attachment:att_name(): Attachment's file name.
    • Contents::gen_attachment:contents(): Attachment's content.
    • Options::gen_attachment:options(): Can be use to send metadata and/or attachment's description.
  • fetch_attachment/4

    • HandlerProps::gen_attachment:handler_props(): Attachment information like id and/or path (location) within the storage service.
    • DbName::gen_attachment:db_name(): Same as for put_attachment
    • DocId::gen_attachment:doc_id(): Same as for put_attachment
    • AName::gen_attachment:att_name(): Same as for put_attachment

Anyway, if you found yourself in trouble when implementing it, check the existing attachment handlers code and you should get a clue about how to do it yourself too.