coss 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/coss/billing/types/usage_billing_request_meter.rb +7 -0
- data/lib/coss/client.rb +21 -1
- data/lib/coss/domains/client.rb +54 -2
- data/lib/coss/domains/types/create_domain_request.rb +2 -0
- data/lib/coss/domains/types/list_domains_request.rb +11 -0
- data/lib/coss/domains/types/update_domain_request.rb +13 -0
- data/lib/coss/email/client.rb +7 -0
- data/lib/coss/email/subaccounts/client.rb +322 -0
- data/lib/coss/email/subaccounts/types/create_subaccount_request.rb +19 -0
- data/lib/coss/email/subaccounts/types/create_subaccount_request_quotas.rb +18 -0
- data/lib/coss/email/subaccounts/types/delete_subaccounts_request.rb +13 -0
- data/lib/coss/email/subaccounts/types/get_subaccounts_request.rb +13 -0
- data/lib/coss/email/subaccounts/types/list_subaccounts_request.rb +15 -0
- data/lib/coss/email/subaccounts/types/reinstate_subaccounts_request.rb +13 -0
- data/lib/coss/email/subaccounts/types/stats_subaccounts_request.rb +17 -0
- data/lib/coss/email/subaccounts/types/update_subaccount_request.rb +23 -0
- data/lib/coss/email/subaccounts/types/update_subaccount_request_quotas.rb +18 -0
- data/lib/coss/email/subaccounts/types/update_subaccount_request_status.rb +16 -0
- data/lib/coss/email/suppressions/client.rb +7 -1
- data/lib/coss/email/suppressions/types/check_suppressions_request.rb +2 -0
- data/lib/coss/email/suppressions/types/create_suppression_request.rb +2 -0
- data/lib/coss/email/suppressions/types/export_suppressions_request.rb +2 -0
- data/lib/coss/email/suppressions/types/import_suppressions_request.rb +2 -0
- data/lib/coss/email/suppressions/types/list_suppressions_request.rb +2 -0
- data/lib/coss/email/types/list_email_request.rb +2 -0
- data/lib/coss/forms/client.rb +233 -0
- data/lib/coss/forms/submissions/client.rb +229 -0
- data/lib/coss/forms/submissions/types/file_submissions_request.rb +17 -0
- data/lib/coss/forms/submissions/types/get_submissions_request.rb +15 -0
- data/lib/coss/forms/submissions/types/list_submissions_request.rb +19 -0
- data/lib/coss/forms/submissions/types/release_submissions_request.rb +15 -0
- data/lib/coss/forms/submissions/types/remove_submissions_request.rb +15 -0
- data/lib/coss/forms/types/create_form_request.rb +33 -0
- data/lib/coss/forms/types/create_form_request_contacts.rb +23 -0
- data/lib/coss/forms/types/create_form_request_files.rb +17 -0
- data/lib/coss/forms/types/create_form_request_hosted.rb +19 -0
- data/lib/coss/forms/types/create_form_request_notifications.rb +13 -0
- data/lib/coss/forms/types/create_form_request_spam.rb +19 -0
- data/lib/coss/forms/types/create_form_request_spam_captcha.rb +14 -0
- data/lib/coss/forms/types/create_form_request_spam_on_review.rb +14 -0
- data/lib/coss/forms/types/create_form_request_submitter.rb +15 -0
- data/lib/coss/forms/types/get_forms_request.rb +11 -0
- data/lib/coss/forms/types/list_forms_request.rb +13 -0
- data/lib/coss/forms/types/remove_forms_request.rb +11 -0
- data/lib/coss/forms/types/update_form_request.rb +35 -0
- data/lib/coss/forms/types/update_form_request_contacts.rb +23 -0
- data/lib/coss/forms/types/update_form_request_files.rb +17 -0
- data/lib/coss/forms/types/update_form_request_hosted.rb +19 -0
- data/lib/coss/forms/types/update_form_request_notifications.rb +13 -0
- data/lib/coss/forms/types/update_form_request_spam.rb +19 -0
- data/lib/coss/forms/types/update_form_request_spam_captcha.rb +14 -0
- data/lib/coss/forms/types/update_form_request_spam_on_review.rb +14 -0
- data/lib/coss/forms/types/update_form_request_submitter.rb +15 -0
- data/lib/coss/inboxes/client.rb +234 -0
- data/lib/coss/inboxes/messages/client.rb +259 -0
- data/lib/coss/inboxes/messages/types/get_attachment_messages_request.rb +17 -0
- data/lib/coss/inboxes/messages/types/get_messages_request.rb +15 -0
- data/lib/coss/inboxes/messages/types/list_messages_request.rb +19 -0
- data/lib/coss/inboxes/messages/types/list_messages_request_direction.rb +16 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request.rb +31 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request_bcc.rb +17 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request_cc.rb +17 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request_tags_item.rb +15 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request.rb +31 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_bcc.rb +17 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_cc.rb +17 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_tags_item.rb +15 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_to.rb +17 -0
- data/lib/coss/inboxes/threads/client.rb +147 -0
- data/lib/coss/inboxes/threads/types/delete_threads_request.rb +15 -0
- data/lib/coss/inboxes/threads/types/get_threads_request.rb +15 -0
- data/lib/coss/inboxes/threads/types/list_threads_request.rb +17 -0
- data/lib/coss/inboxes/types/create_inbox_request.rb +17 -0
- data/lib/coss/inboxes/types/delete_inboxes_request.rb +11 -0
- data/lib/coss/inboxes/types/get_inboxes_request.rb +11 -0
- data/lib/coss/inboxes/types/list_inboxes_request.rb +13 -0
- data/lib/coss/inboxes/types/update_inbox_request.rb +13 -0
- data/lib/coss/risk/client.rb +46 -0
- data/lib/coss/risk/types/risk_phone_check_request.rb +11 -0
- data/lib/coss/sign/client.rb +39 -0
- data/lib/coss/sign/documents/client.rb +177 -0
- data/lib/coss/sign/documents/types/get_documents_request.rb +13 -0
- data/lib/coss/sign/documents/types/list_documents_request.rb +15 -0
- data/lib/coss/sign/documents/types/remove_documents_request.rb +13 -0
- data/lib/coss/sign/documents/types/upload_sign_document_request.rb +15 -0
- data/lib/coss/sign/requests/client.rb +409 -0
- data/lib/coss/sign/requests/types/audit_trail_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/cancel_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/create_sign_request_request.rb +31 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_documents_item.rb +17 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_documents_item_content.rb +15 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_documents_item_document_id.rb +13 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_signers_item.rb +23 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_signers_item_delivery.rb +16 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_signing_order.rb +16 -0
- data/lib/coss/sign/requests/types/get_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/list_requests_request.rb +17 -0
- data/lib/coss/sign/requests/types/remind_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/remove_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/send_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/signed_document_requests_request.rb +13 -0
- data/lib/coss/sign/sessions/client.rb +69 -0
- data/lib/coss/sign/sessions/types/create_sign_session_request.rb +17 -0
- data/lib/coss/sign/settings/client.rb +92 -0
- data/lib/coss/sign/settings/types/update_sign_settings_request.rb +25 -0
- data/lib/coss/sign/settings/types/update_sign_settings_request_theme.rb +17 -0
- data/lib/coss/sign/templates/client.rb +374 -0
- data/lib/coss/sign/templates/types/create_sign_builder_session_request.rb +15 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request.rb +33 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signers_item.rb +23 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signers_item_delivery.rb +16 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signing_order.rb +16 -0
- data/lib/coss/sign/templates/types/create_sign_template_request.rb +25 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_documents_item.rb +17 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_documents_item_content.rb +15 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_documents_item_document_id.rb +13 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item.rb +17 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_anchor.rb +31 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_anchor_type.rb +21 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_document.rb +33 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_document_type.rb +21 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_roles_item.rb +15 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_signing_order.rb +16 -0
- data/lib/coss/sign/templates/types/get_templates_request.rb +13 -0
- data/lib/coss/sign/templates/types/list_templates_request.rb +15 -0
- data/lib/coss/sign/templates/types/remove_templates_request.rb +13 -0
- data/lib/coss/sign/templates/types/update_sign_template_request.rb +27 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_documents_item.rb +17 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_documents_item_content.rb +15 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_documents_item_document_id.rb +13 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item.rb +17 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_anchor.rb +31 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_anchor_type.rb +21 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_document.rb +33 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_document_type.rb +21 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_roles_item.rb +15 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_signing_order.rb +16 -0
- data/lib/coss/types/billing_limits.rb +2 -0
- data/lib/coss/types/billing_usage_item_meter.rb +7 -0
- data/lib/coss/types/billing_webhook_event_three_data_meter.rb +7 -0
- data/lib/coss/types/contact_source.rb +1 -0
- data/lib/coss/types/contact_webhook_event_data_source.rb +1 -0
- data/lib/coss/types/credit_meter.rb +7 -0
- data/lib/coss/types/credit_meters_item.rb +7 -0
- data/lib/coss/types/deleted_form.rb +13 -0
- data/lib/coss/types/deleted_form_object.rb +11 -0
- data/lib/coss/types/deleted_form_submission.rb +13 -0
- data/lib/coss/types/deleted_form_submission_object.rb +11 -0
- data/lib/coss/types/deleted_inbox.rb +13 -0
- data/lib/coss/types/deleted_inbox_object.rb +11 -0
- data/lib/coss/types/deleted_inbox_thread.rb +13 -0
- data/lib/coss/types/deleted_inbox_thread_object.rb +11 -0
- data/lib/coss/types/deleted_sign_document.rb +13 -0
- data/lib/coss/types/deleted_sign_document_object.rb +11 -0
- data/lib/coss/types/deleted_sign_request.rb +13 -0
- data/lib/coss/types/deleted_sign_request_object.rb +11 -0
- data/lib/coss/types/deleted_sign_template.rb +13 -0
- data/lib/coss/types/deleted_sign_template_object.rb +11 -0
- data/lib/coss/types/domain.rb +4 -0
- data/lib/coss/types/email.rb +2 -0
- data/lib/coss/types/email_summary.rb +2 -0
- data/lib/coss/types/email_webhook_event_data.rb +2 -0
- data/lib/coss/types/error_body.rb +2 -0
- data/lib/coss/types/form.rb +47 -0
- data/lib/coss/types/form_contacts.rb +21 -0
- data/lib/coss/types/form_field.rb +21 -0
- data/lib/coss/types/form_field_input.rb +21 -0
- data/lib/coss/types/form_field_input_type.rb +22 -0
- data/lib/coss/types/form_field_type.rb +22 -0
- data/lib/coss/types/form_files.rb +15 -0
- data/lib/coss/types/form_hosted.rb +19 -0
- data/lib/coss/types/form_list.rb +13 -0
- data/lib/coss/types/form_list_object.rb +11 -0
- data/lib/coss/types/form_notifications.rb +11 -0
- data/lib/coss/types/form_object.rb +11 -0
- data/lib/coss/types/form_spam.rb +17 -0
- data/lib/coss/types/form_spam_captcha.rb +12 -0
- data/lib/coss/types/form_spam_on_review.rb +12 -0
- data/lib/coss/types/form_submission.rb +43 -0
- data/lib/coss/types/form_submission_data_value.rb +13 -0
- data/lib/coss/types/form_submission_file.rb +17 -0
- data/lib/coss/types/form_submission_list.rb +13 -0
- data/lib/coss/types/form_submission_list_object.rb +11 -0
- data/lib/coss/types/form_submission_object.rb +11 -0
- data/lib/coss/types/form_submission_risk.rb +14 -0
- data/lib/coss/types/form_submission_risk_decision.rb +13 -0
- data/lib/coss/types/form_submission_spam_reason.rb +14 -0
- data/lib/coss/types/form_submission_status.rb +14 -0
- data/lib/coss/types/form_submission_webhook_event.rb +19 -0
- data/lib/coss/types/form_submission_webhook_event_data.rb +27 -0
- data/lib/coss/types/form_submission_webhook_event_data_data_value.rb +13 -0
- data/lib/coss/types/form_submission_webhook_event_data_spam_reason.rb +14 -0
- data/lib/coss/types/form_submission_webhook_event_data_status.rb +14 -0
- data/lib/coss/types/form_submission_webhook_event_object.rb +11 -0
- data/lib/coss/types/form_submission_webhook_event_type.rb +12 -0
- data/lib/coss/types/form_submitter.rb +13 -0
- data/lib/coss/types/inbox.rb +31 -0
- data/lib/coss/types/inbox_kind.rb +12 -0
- data/lib/coss/types/inbox_list.rb +13 -0
- data/lib/coss/types/inbox_list_object.rb +11 -0
- data/lib/coss/types/inbox_message.rb +55 -0
- data/lib/coss/types/inbox_message_direction.rb +12 -0
- data/lib/coss/types/inbox_message_list.rb +13 -0
- data/lib/coss/types/inbox_message_list_object.rb +11 -0
- data/lib/coss/types/inbox_message_object.rb +11 -0
- data/lib/coss/types/inbox_message_received_webhook_event.rb +19 -0
- data/lib/coss/types/inbox_message_received_webhook_event_data.rb +33 -0
- data/lib/coss/types/inbox_message_received_webhook_event_object.rb +11 -0
- data/lib/coss/types/inbox_message_received_webhook_event_type.rb +11 -0
- data/lib/coss/types/inbox_message_status.rb +16 -0
- data/lib/coss/types/inbox_message_summary.rb +39 -0
- data/lib/coss/types/inbox_message_summary_direction.rb +12 -0
- data/lib/coss/types/inbox_message_summary_object.rb +11 -0
- data/lib/coss/types/inbox_message_summary_status.rb +16 -0
- data/lib/coss/types/inbox_object.rb +11 -0
- data/lib/coss/types/inbox_thread.rb +29 -0
- data/lib/coss/types/inbox_thread_list.rb +13 -0
- data/lib/coss/types/inbox_thread_list_object.rb +11 -0
- data/lib/coss/types/inbox_thread_object.rb +11 -0
- data/lib/coss/types/inbox_thread_summary.rb +27 -0
- data/lib/coss/types/inbox_thread_summary_object.rb +11 -0
- data/lib/coss/types/invoice_line_meter.rb +7 -0
- data/lib/coss/types/log_drain_source.rb +3 -0
- data/lib/coss/types/log_source.rb +3 -0
- data/lib/coss/types/risk_phone_carrier.rb +13 -0
- data/lib/coss/types/risk_phone_check.rb +23 -0
- data/lib/coss/types/risk_phone_check_degraded_item.rb +12 -0
- data/lib/coss/types/risk_phone_check_line_type.rb +22 -0
- data/lib/coss/types/risk_phone_check_object.rb +11 -0
- data/lib/coss/types/risk_phone_sim_swap.rb +13 -0
- data/lib/coss/types/send_email_request.rb +2 -0
- data/lib/coss/types/sign_builder_session.rb +19 -0
- data/lib/coss/types/sign_builder_session_object.rb +11 -0
- data/lib/coss/types/sign_document.rb +27 -0
- data/lib/coss/types/sign_document_anchors_item.rb +20 -0
- data/lib/coss/types/sign_document_list.rb +13 -0
- data/lib/coss/types/sign_document_list_object.rb +11 -0
- data/lib/coss/types/sign_document_object.rb +11 -0
- data/lib/coss/types/sign_document_pages_item.rb +11 -0
- data/lib/coss/types/sign_event.rb +31 -0
- data/lib/coss/types/sign_event_actor.rb +14 -0
- data/lib/coss/types/sign_event_details.rb +23 -0
- data/lib/coss/types/sign_event_list.rb +13 -0
- data/lib/coss/types/sign_event_list_object.rb +11 -0
- data/lib/coss/types/sign_event_object.rb +11 -0
- data/lib/coss/types/sign_event_type.rb +22 -0
- data/lib/coss/types/sign_field.rb +33 -0
- data/lib/coss/types/sign_field_input.rb +13 -0
- data/lib/coss/types/sign_field_input_anchor.rb +23 -0
- data/lib/coss/types/sign_field_input_anchor_type.rb +17 -0
- data/lib/coss/types/sign_field_input_document.rb +25 -0
- data/lib/coss/types/sign_field_input_document_type.rb +17 -0
- data/lib/coss/types/sign_field_object.rb +11 -0
- data/lib/coss/types/sign_field_type.rb +17 -0
- data/lib/coss/types/sign_request.rb +47 -0
- data/lib/coss/types/sign_request_documents_item.rb +15 -0
- data/lib/coss/types/sign_request_list.rb +13 -0
- data/lib/coss/types/sign_request_list_object.rb +11 -0
- data/lib/coss/types/sign_request_object.rb +11 -0
- data/lib/coss/types/sign_request_signed_document.rb +11 -0
- data/lib/coss/types/sign_request_signing_order.rb +12 -0
- data/lib/coss/types/sign_request_status.rb +16 -0
- data/lib/coss/types/sign_request_webhook_event.rb +19 -0
- data/lib/coss/types/sign_request_webhook_event_data.rb +23 -0
- data/lib/coss/types/sign_request_webhook_event_data_signer.rb +18 -0
- data/lib/coss/types/sign_request_webhook_event_data_signer_status.rb +15 -0
- data/lib/coss/types/sign_request_webhook_event_data_status.rb +16 -0
- data/lib/coss/types/sign_request_webhook_event_object.rb +11 -0
- data/lib/coss/types/sign_request_webhook_event_type.rb +17 -0
- data/lib/coss/types/sign_session.rb +21 -0
- data/lib/coss/types/sign_session_object.rb +11 -0
- data/lib/coss/types/sign_settings.rb +23 -0
- data/lib/coss/types/sign_settings_object.rb +11 -0
- data/lib/coss/types/sign_settings_theme.rb +13 -0
- data/lib/coss/types/sign_signer.rb +33 -0
- data/lib/coss/types/sign_signer_authentication.rb +12 -0
- data/lib/coss/types/sign_signer_delivery.rb +12 -0
- data/lib/coss/types/sign_signer_object.rb +11 -0
- data/lib/coss/types/sign_signer_status.rb +15 -0
- data/lib/coss/types/sign_template.rb +33 -0
- data/lib/coss/types/sign_template_documents_item.rb +17 -0
- data/lib/coss/types/sign_template_documents_item_pages_item.rb +11 -0
- data/lib/coss/types/sign_template_fields_item.rb +31 -0
- data/lib/coss/types/sign_template_fields_item_type.rb +17 -0
- data/lib/coss/types/sign_template_list.rb +13 -0
- data/lib/coss/types/sign_template_list_object.rb +11 -0
- data/lib/coss/types/sign_template_object.rb +11 -0
- data/lib/coss/types/sign_template_roles_item.rb +11 -0
- data/lib/coss/types/sign_template_signing_order.rb +12 -0
- data/lib/coss/types/subaccount.rb +27 -0
- data/lib/coss/types/subaccount_list.rb +13 -0
- data/lib/coss/types/subaccount_list_object.rb +11 -0
- data/lib/coss/types/subaccount_object.rb +11 -0
- data/lib/coss/types/subaccount_quotas.rb +13 -0
- data/lib/coss/types/subaccount_reputation.rb +15 -0
- data/lib/coss/types/subaccount_reputation_status.rb +13 -0
- data/lib/coss/types/subaccount_stats.rb +17 -0
- data/lib/coss/types/subaccount_stats_day.rb +23 -0
- data/lib/coss/types/subaccount_stats_object.rb +11 -0
- data/lib/coss/types/subaccount_status.rb +13 -0
- data/lib/coss/types/subaccount_webhook_event.rb +19 -0
- data/lib/coss/types/subaccount_webhook_event_data.rb +21 -0
- data/lib/coss/types/subaccount_webhook_event_data_previous_status.rb +13 -0
- data/lib/coss/types/subaccount_webhook_event_data_status.rb +13 -0
- data/lib/coss/types/subaccount_webhook_event_object.rb +11 -0
- data/lib/coss/types/subaccount_webhook_event_type.rb +14 -0
- data/lib/coss/types/suppression.rb +2 -0
- data/lib/coss/types/usage_meter.rb +7 -0
- data/lib/coss/types/verification.rb +39 -0
- data/lib/coss/types/verification_channel.rb +12 -0
- data/lib/coss/types/verification_check.rb +13 -0
- data/lib/coss/types/verification_check_object.rb +11 -0
- data/lib/coss/types/verification_failure.rb +12 -0
- data/lib/coss/types/verification_list.rb +13 -0
- data/lib/coss/types/verification_list_object.rb +11 -0
- data/lib/coss/types/verification_object.rb +11 -0
- data/lib/coss/types/verification_reasons_item.rb +12 -0
- data/lib/coss/types/verification_send.rb +17 -0
- data/lib/coss/types/verification_send_channel.rb +12 -0
- data/lib/coss/types/verification_send_route.rb +14 -0
- data/lib/coss/types/verification_status.rb +16 -0
- data/lib/coss/types/verification_tags_item.rb +11 -0
- data/lib/coss/types/verification_webhook_event.rb +19 -0
- data/lib/coss/types/verification_webhook_event_data.rb +25 -0
- data/lib/coss/types/verification_webhook_event_data_channel.rb +12 -0
- data/lib/coss/types/verification_webhook_event_data_failure.rb +11 -0
- data/lib/coss/types/verification_webhook_event_data_reasons_item.rb +12 -0
- data/lib/coss/types/verification_webhook_event_data_status.rb +16 -0
- data/lib/coss/types/verification_webhook_event_data_tags_item.rb +11 -0
- data/lib/coss/types/verification_webhook_event_object.rb +11 -0
- data/lib/coss/types/verification_webhook_event_type.rb +13 -0
- data/lib/coss/types/webhook_test_event_event.rb +8 -0
- data/lib/coss/verify/client.rb +248 -0
- data/lib/coss/verify/types/cancel_verify_request.rb +11 -0
- data/lib/coss/verify/types/check_verification_request.rb +17 -0
- data/lib/coss/verify/types/get_verify_request.rb +11 -0
- data/lib/coss/verify/types/list_verify_request.rb +17 -0
- data/lib/coss/verify/types/list_verify_request_status.rb +18 -0
- data/lib/coss/verify/types/start_verification_request.rb +21 -0
- data/lib/coss/verify/types/start_verification_request_channel.rb +14 -0
- data/lib/coss/verify/types/start_verification_request_tags_item.rb +13 -0
- data/lib/coss/version.rb +1 -1
- data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_event_types_item.rb +17 -0
- data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_event_types_item.rb +17 -0
- data/lib/coss/webhook_events/types/create_test_webhook_event_request_type.rb +17 -0
- data/lib/coss/webhook_listeners/types/create_webhook_listener_request_event_types_item.rb +17 -0
- data/lib/coss.rb +309 -0
- data/reference.md +7422 -2479
- metadata +310 -1
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
class Client
|
|
6
|
+
# @param client [Coss::Internal::Http::RawClient]
|
|
7
|
+
#
|
|
8
|
+
# @return [void]
|
|
9
|
+
def initialize(client:)
|
|
10
|
+
@client = client
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# The environment's inboxes, newest first. Pass the last `id` as `after` to get the next page while `has_more` is
|
|
14
|
+
# true.
|
|
15
|
+
#
|
|
16
|
+
# @param request_options [Hash]
|
|
17
|
+
# @param params [Hash]
|
|
18
|
+
# @option request_options [String] :base_url
|
|
19
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
21
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
22
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
23
|
+
# @option params [Integer, nil] :limit
|
|
24
|
+
# @option params [String, nil] :after
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# client.inboxes.list
|
|
28
|
+
#
|
|
29
|
+
# @return [Coss::Types::InboxList]
|
|
30
|
+
def list(request_options: {}, **params)
|
|
31
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
32
|
+
query_params = {}
|
|
33
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
34
|
+
query_params["after"] = params[:after] if params.key?(:after)
|
|
35
|
+
|
|
36
|
+
request = Coss::Internal::JSON::Request.new(
|
|
37
|
+
base_url: request_options[:base_url],
|
|
38
|
+
method: "GET",
|
|
39
|
+
path: "v1/inboxes",
|
|
40
|
+
query: query_params,
|
|
41
|
+
request_options: request_options
|
|
42
|
+
)
|
|
43
|
+
begin
|
|
44
|
+
response = @client.send(request)
|
|
45
|
+
rescue Net::HTTPRequestTimeout
|
|
46
|
+
raise Coss::Errors::TimeoutError
|
|
47
|
+
end
|
|
48
|
+
code = response.code.to_i
|
|
49
|
+
if code.between?(200, 299)
|
|
50
|
+
(response.body.to_s.empty? ? nil : Coss::Types::InboxList.load(response.body))
|
|
51
|
+
else
|
|
52
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
53
|
+
raise error_class.new(response.body, code: code)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Gives an agent (or anyone) its own email address in the API key's environment: `username@<the environment's
|
|
58
|
+
# inbound domain>`, which needs no DNS setup, or an address at one of the environment's receiving domains
|
|
59
|
+
# (`domain`). Mail to it is kept as threads, and each message that arrives sends an `inbox.message.received`
|
|
60
|
+
# webhook. With a `client_id` that already has an inbox, that inbox is returned (200) instead of a new one.
|
|
61
|
+
#
|
|
62
|
+
# @param request_options [Hash]
|
|
63
|
+
# @param params [Coss::Inboxes::Types::CreateInboxRequest]
|
|
64
|
+
# @option request_options [String] :base_url
|
|
65
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
66
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
67
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
68
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
69
|
+
#
|
|
70
|
+
# @example
|
|
71
|
+
# client.inboxes.create(
|
|
72
|
+
# username: "support-agent",
|
|
73
|
+
# display_name: "Acme Support",
|
|
74
|
+
# client_id: "agent-42"
|
|
75
|
+
# )
|
|
76
|
+
#
|
|
77
|
+
# @return [Coss::Types::Inbox]
|
|
78
|
+
def create(request_options: {}, **params)
|
|
79
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
80
|
+
headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
|
|
81
|
+
request = Coss::Internal::JSON::Request.new(
|
|
82
|
+
base_url: request_options[:base_url],
|
|
83
|
+
method: "POST",
|
|
84
|
+
path: "v1/inboxes",
|
|
85
|
+
headers: headers,
|
|
86
|
+
body: Coss::Inboxes::Types::CreateInboxRequest.new(params).to_h,
|
|
87
|
+
request_options: request_options,
|
|
88
|
+
max_retries: 0
|
|
89
|
+
)
|
|
90
|
+
begin
|
|
91
|
+
response = @client.send(request)
|
|
92
|
+
rescue Net::HTTPRequestTimeout
|
|
93
|
+
raise Coss::Errors::TimeoutError
|
|
94
|
+
end
|
|
95
|
+
code = response.code.to_i
|
|
96
|
+
if code.between?(200, 299)
|
|
97
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Inbox.load(response.body))
|
|
98
|
+
else
|
|
99
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
100
|
+
raise error_class.new(response.body, code: code)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# @param request_options [Hash]
|
|
105
|
+
# @param params [Hash]
|
|
106
|
+
# @option request_options [String] :base_url
|
|
107
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
108
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
109
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
110
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
111
|
+
# @option params [String] :inbox_id
|
|
112
|
+
#
|
|
113
|
+
# @example
|
|
114
|
+
# client.inboxes.get(inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz")
|
|
115
|
+
#
|
|
116
|
+
# @return [Coss::Types::Inbox]
|
|
117
|
+
def get(request_options: {}, **params)
|
|
118
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
119
|
+
request = Coss::Internal::JSON::Request.new(
|
|
120
|
+
base_url: request_options[:base_url],
|
|
121
|
+
method: "GET",
|
|
122
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}",
|
|
123
|
+
request_options: request_options
|
|
124
|
+
)
|
|
125
|
+
begin
|
|
126
|
+
response = @client.send(request)
|
|
127
|
+
rescue Net::HTTPRequestTimeout
|
|
128
|
+
raise Coss::Errors::TimeoutError
|
|
129
|
+
end
|
|
130
|
+
code = response.code.to_i
|
|
131
|
+
if code.between?(200, 299)
|
|
132
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Inbox.load(response.body))
|
|
133
|
+
else
|
|
134
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
135
|
+
raise error_class.new(response.body, code: code)
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Deletes the inbox and its threads. The received emails and emails they held stay in the environment until their
|
|
140
|
+
# retention ends, and mail to the address is still received by the environment (without a thread or
|
|
141
|
+
# `inbox.message.received` webhook).
|
|
142
|
+
#
|
|
143
|
+
# @param request_options [Hash]
|
|
144
|
+
# @param params [Hash]
|
|
145
|
+
# @option request_options [String] :base_url
|
|
146
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
147
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
148
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
149
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
150
|
+
# @option params [String] :inbox_id
|
|
151
|
+
#
|
|
152
|
+
# @example
|
|
153
|
+
# client.inboxes.delete(inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz")
|
|
154
|
+
#
|
|
155
|
+
# @return [Coss::Types::DeletedInbox]
|
|
156
|
+
def delete(request_options: {}, **params)
|
|
157
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
158
|
+
request = Coss::Internal::JSON::Request.new(
|
|
159
|
+
base_url: request_options[:base_url],
|
|
160
|
+
method: "DELETE",
|
|
161
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}",
|
|
162
|
+
request_options: request_options
|
|
163
|
+
)
|
|
164
|
+
begin
|
|
165
|
+
response = @client.send(request)
|
|
166
|
+
rescue Net::HTTPRequestTimeout
|
|
167
|
+
raise Coss::Errors::TimeoutError
|
|
168
|
+
end
|
|
169
|
+
code = response.code.to_i
|
|
170
|
+
if code.between?(200, 299)
|
|
171
|
+
(response.body.to_s.empty? ? nil : Coss::Types::DeletedInbox.load(response.body))
|
|
172
|
+
else
|
|
173
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
174
|
+
raise error_class.new(response.body, code: code)
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Changes the name messages from the inbox are sent with. Its address never changes.
|
|
179
|
+
#
|
|
180
|
+
# @param request_options [Hash]
|
|
181
|
+
# @param params [Coss::Inboxes::Types::UpdateInboxRequest]
|
|
182
|
+
# @option request_options [String] :base_url
|
|
183
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
184
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
185
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
186
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
187
|
+
# @option params [String] :inbox_id
|
|
188
|
+
#
|
|
189
|
+
# @example
|
|
190
|
+
# client.inboxes.update(
|
|
191
|
+
# inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz",
|
|
192
|
+
# display_name: "Acme Help"
|
|
193
|
+
# )
|
|
194
|
+
#
|
|
195
|
+
# @return [Coss::Types::Inbox]
|
|
196
|
+
def update(request_options: {}, **params)
|
|
197
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
198
|
+
request_data = Coss::Inboxes::Types::UpdateInboxRequest.new(params).to_h
|
|
199
|
+
non_body_param_names = %w[inbox_id]
|
|
200
|
+
body = request_data.except(*non_body_param_names)
|
|
201
|
+
|
|
202
|
+
request = Coss::Internal::JSON::Request.new(
|
|
203
|
+
base_url: request_options[:base_url],
|
|
204
|
+
method: "PATCH",
|
|
205
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}",
|
|
206
|
+
body: body,
|
|
207
|
+
request_options: request_options
|
|
208
|
+
)
|
|
209
|
+
begin
|
|
210
|
+
response = @client.send(request)
|
|
211
|
+
rescue Net::HTTPRequestTimeout
|
|
212
|
+
raise Coss::Errors::TimeoutError
|
|
213
|
+
end
|
|
214
|
+
code = response.code.to_i
|
|
215
|
+
if code.between?(200, 299)
|
|
216
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Inbox.load(response.body))
|
|
217
|
+
else
|
|
218
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
219
|
+
raise error_class.new(response.body, code: code)
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
# @return [Coss::Threads::Client]
|
|
224
|
+
def threads
|
|
225
|
+
@threads ||= Coss::Inboxes::Threads::Client.new(client: @client)
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# @return [Coss::Messages::Client]
|
|
229
|
+
def messages
|
|
230
|
+
@messages ||= Coss::Inboxes::Messages::Client.new(client: @client)
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
end
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
class Client
|
|
7
|
+
# @param client [Coss::Internal::Http::RawClient]
|
|
8
|
+
#
|
|
9
|
+
# @return [void]
|
|
10
|
+
def initialize(client:)
|
|
11
|
+
@client = client
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Messages of every thread, newest first, with a preview instead of their bodies (retrieve one for those). Pass
|
|
15
|
+
# the last `id` as `after` to get the next page while `has_more` is true.
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [Hash]
|
|
18
|
+
# @param params [Hash]
|
|
19
|
+
# @option request_options [String] :base_url
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
21
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
22
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
23
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
24
|
+
# @option params [String] :inbox_id
|
|
25
|
+
# @option params [Integer, nil] :limit
|
|
26
|
+
# @option params [String, nil] :after
|
|
27
|
+
# @option params [Coss::Inboxes::Messages::Types::ListMessagesRequestDirection, nil] :direction
|
|
28
|
+
#
|
|
29
|
+
# @example
|
|
30
|
+
# client.inboxes.messages.list(inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz")
|
|
31
|
+
#
|
|
32
|
+
# @return [Coss::Types::InboxMessageList]
|
|
33
|
+
def list(request_options: {}, **params)
|
|
34
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
35
|
+
query_params = {}
|
|
36
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
37
|
+
query_params["after"] = params[:after] if params.key?(:after)
|
|
38
|
+
query_params["direction"] = params[:direction] if params.key?(:direction)
|
|
39
|
+
|
|
40
|
+
request = Coss::Internal::JSON::Request.new(
|
|
41
|
+
base_url: request_options[:base_url],
|
|
42
|
+
method: "GET",
|
|
43
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/messages",
|
|
44
|
+
query: query_params,
|
|
45
|
+
request_options: request_options
|
|
46
|
+
)
|
|
47
|
+
begin
|
|
48
|
+
response = @client.send(request)
|
|
49
|
+
rescue Net::HTTPRequestTimeout
|
|
50
|
+
raise Coss::Errors::TimeoutError
|
|
51
|
+
end
|
|
52
|
+
code = response.code.to_i
|
|
53
|
+
if code.between?(200, 299)
|
|
54
|
+
(response.body.to_s.empty? ? nil : Coss::Types::InboxMessageList.load(response.body))
|
|
55
|
+
else
|
|
56
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
57
|
+
raise error_class.new(response.body, code: code)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Starts a thread with a message from the inbox's address, sent like any email (its `email_id` has its delivery
|
|
62
|
+
# events and webhooks; never tracked). Replies to it arrive in the same thread. Live inboxes send only from
|
|
63
|
+
# receiving domains under one of the organization's verified domains (`can_send`); sandbox ones always can, and
|
|
64
|
+
# deliver nothing. Recipients count against the send quota.
|
|
65
|
+
#
|
|
66
|
+
# @param request_options [Hash]
|
|
67
|
+
# @param params [Coss::Inboxes::Messages::Types::SendInboxMessageRequest]
|
|
68
|
+
# @option request_options [String] :base_url
|
|
69
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
70
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
71
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
72
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
73
|
+
# @option params [String] :inbox_id
|
|
74
|
+
# @option params [String, nil] :idempotency_key
|
|
75
|
+
#
|
|
76
|
+
# @example
|
|
77
|
+
# client.inboxes.messages.send_(
|
|
78
|
+
# inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz",
|
|
79
|
+
# idempotency_key: "welcome-user-123",
|
|
80
|
+
# to: "jane@example.com",
|
|
81
|
+
# subject: "Your order",
|
|
82
|
+
# text: "Hi Jane, your order has shipped."
|
|
83
|
+
# )
|
|
84
|
+
#
|
|
85
|
+
# @return [Coss::Types::InboxMessage]
|
|
86
|
+
def send_(request_options: {}, **params)
|
|
87
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
88
|
+
request_data = Coss::Inboxes::Messages::Types::SendInboxMessageRequest.new(params).to_h
|
|
89
|
+
non_body_param_names = %w[inbox_id Idempotency-Key]
|
|
90
|
+
body = request_data.except(*non_body_param_names)
|
|
91
|
+
|
|
92
|
+
headers = {}
|
|
93
|
+
headers["Idempotency-Key"] = params[:idempotency_key] if params[:idempotency_key]
|
|
94
|
+
|
|
95
|
+
request = Coss::Internal::JSON::Request.new(
|
|
96
|
+
base_url: request_options[:base_url],
|
|
97
|
+
method: "POST",
|
|
98
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/messages",
|
|
99
|
+
headers: headers,
|
|
100
|
+
body: body,
|
|
101
|
+
request_options: request_options
|
|
102
|
+
)
|
|
103
|
+
begin
|
|
104
|
+
response = @client.send(request)
|
|
105
|
+
rescue Net::HTTPRequestTimeout
|
|
106
|
+
raise Coss::Errors::TimeoutError
|
|
107
|
+
end
|
|
108
|
+
code = response.code.to_i
|
|
109
|
+
if code.between?(200, 299)
|
|
110
|
+
(response.body.to_s.empty? ? nil : Coss::Types::InboxMessage.load(response.body))
|
|
111
|
+
else
|
|
112
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
113
|
+
raise error_class.new(response.body, code: code)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# The message with its text, HTML and `extracted_text`. An outbound message's delivery is its email's
|
|
118
|
+
# (`email_id`).
|
|
119
|
+
#
|
|
120
|
+
# @param request_options [Hash]
|
|
121
|
+
# @param params [Hash]
|
|
122
|
+
# @option request_options [String] :base_url
|
|
123
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
124
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
125
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
126
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
127
|
+
# @option params [String] :inbox_id
|
|
128
|
+
# @option params [String] :message_id
|
|
129
|
+
#
|
|
130
|
+
# @example
|
|
131
|
+
# client.inboxes.messages.get(
|
|
132
|
+
# inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz",
|
|
133
|
+
# message_id: "imsg_01k7c8m4s1d3c9x0z4e6g7h8j9"
|
|
134
|
+
# )
|
|
135
|
+
#
|
|
136
|
+
# @return [Coss::Types::InboxMessage]
|
|
137
|
+
def get(request_options: {}, **params)
|
|
138
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
139
|
+
request = Coss::Internal::JSON::Request.new(
|
|
140
|
+
base_url: request_options[:base_url],
|
|
141
|
+
method: "GET",
|
|
142
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/messages/#{URI.encode_uri_component(params[:message_id].to_s)}",
|
|
143
|
+
request_options: request_options
|
|
144
|
+
)
|
|
145
|
+
begin
|
|
146
|
+
response = @client.send(request)
|
|
147
|
+
rescue Net::HTTPRequestTimeout
|
|
148
|
+
raise Coss::Errors::TimeoutError
|
|
149
|
+
end
|
|
150
|
+
code = response.code.to_i
|
|
151
|
+
if code.between?(200, 299)
|
|
152
|
+
(response.body.to_s.empty? ? nil : Coss::Types::InboxMessage.load(response.body))
|
|
153
|
+
else
|
|
154
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
155
|
+
raise error_class.new(response.body, code: code)
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# An inbound message's attachment, always as `application/octet-stream` (its declared type is the attachment's
|
|
160
|
+
# `content_type`): treat it as untrusted.
|
|
161
|
+
#
|
|
162
|
+
# @param request_options [Hash]
|
|
163
|
+
# @param params [Hash]
|
|
164
|
+
# @option request_options [String] :base_url
|
|
165
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
166
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
167
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
168
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
169
|
+
# @option params [String] :inbox_id
|
|
170
|
+
# @option params [String] :message_id
|
|
171
|
+
# @option params [String] :attachment_id
|
|
172
|
+
#
|
|
173
|
+
# @example
|
|
174
|
+
# client.inboxes.messages.get_attachment(
|
|
175
|
+
# inbox_id: "inbox_id",
|
|
176
|
+
# message_id: "message_id",
|
|
177
|
+
# attachment_id: "attachment_id"
|
|
178
|
+
# )
|
|
179
|
+
#
|
|
180
|
+
# @return [untyped]
|
|
181
|
+
def get_attachment(request_options: {}, **params)
|
|
182
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
183
|
+
request = Coss::Internal::JSON::Request.new(
|
|
184
|
+
base_url: request_options[:base_url],
|
|
185
|
+
method: "GET",
|
|
186
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/messages/#{URI.encode_uri_component(params[:message_id].to_s)}/attachments/#{URI.encode_uri_component(params[:attachment_id].to_s)}",
|
|
187
|
+
request_options: request_options
|
|
188
|
+
)
|
|
189
|
+
begin
|
|
190
|
+
response = @client.send(request)
|
|
191
|
+
rescue Net::HTTPRequestTimeout
|
|
192
|
+
raise Coss::Errors::TimeoutError
|
|
193
|
+
end
|
|
194
|
+
code = response.code.to_i
|
|
195
|
+
return response.body if code.between?(200, 299)
|
|
196
|
+
|
|
197
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
198
|
+
raise error_class.new(response.body, code: code)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
# Replies in the message's thread from the inbox's address: to its sender (its `Reply-To` first), or to an
|
|
202
|
+
# outbound message's recipients again for a follow-up; `reply_all` adds everyone else on it. The subject gets
|
|
203
|
+
# `Re:`, and `In-Reply-To`/`References` let the recipient's mail client thread it. Sent like any email, counted
|
|
204
|
+
# against the send quota.
|
|
205
|
+
#
|
|
206
|
+
# @param request_options [Hash]
|
|
207
|
+
# @param params [Coss::Inboxes::Messages::Types::ReplyInboxMessageRequest]
|
|
208
|
+
# @option request_options [String] :base_url
|
|
209
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
210
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
211
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
212
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
213
|
+
# @option params [String] :inbox_id
|
|
214
|
+
# @option params [String] :message_id
|
|
215
|
+
# @option params [String, nil] :idempotency_key
|
|
216
|
+
#
|
|
217
|
+
# @example
|
|
218
|
+
# client.inboxes.messages.reply(
|
|
219
|
+
# inbox_id: "inbox_01k7c8m4q2f3e9v6t5r1n0p8yz",
|
|
220
|
+
# message_id: "imsg_01k7c8m4s1d3c9x0z4e6g7h8j9",
|
|
221
|
+
# idempotency_key: "welcome-user-123",
|
|
222
|
+
# text: "Sorry about that, Jane! A new one is on its way."
|
|
223
|
+
# )
|
|
224
|
+
#
|
|
225
|
+
# @return [Coss::Types::InboxMessage]
|
|
226
|
+
def reply(request_options: {}, **params)
|
|
227
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
228
|
+
request_data = Coss::Inboxes::Messages::Types::ReplyInboxMessageRequest.new(params).to_h
|
|
229
|
+
non_body_param_names = %w[inbox_id message_id Idempotency-Key]
|
|
230
|
+
body = request_data.except(*non_body_param_names)
|
|
231
|
+
|
|
232
|
+
headers = {}
|
|
233
|
+
headers["Idempotency-Key"] = params[:idempotency_key] if params[:idempotency_key]
|
|
234
|
+
|
|
235
|
+
request = Coss::Internal::JSON::Request.new(
|
|
236
|
+
base_url: request_options[:base_url],
|
|
237
|
+
method: "POST",
|
|
238
|
+
path: "v1/inboxes/#{URI.encode_uri_component(params[:inbox_id].to_s)}/messages/#{URI.encode_uri_component(params[:message_id].to_s)}/reply",
|
|
239
|
+
headers: headers,
|
|
240
|
+
body: body,
|
|
241
|
+
request_options: request_options
|
|
242
|
+
)
|
|
243
|
+
begin
|
|
244
|
+
response = @client.send(request)
|
|
245
|
+
rescue Net::HTTPRequestTimeout
|
|
246
|
+
raise Coss::Errors::TimeoutError
|
|
247
|
+
end
|
|
248
|
+
code = response.code.to_i
|
|
249
|
+
if code.between?(200, 299)
|
|
250
|
+
(response.body.to_s.empty? ? nil : Coss::Types::InboxMessage.load(response.body))
|
|
251
|
+
else
|
|
252
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
253
|
+
raise error_class.new(response.body, code: code)
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class GetAttachmentMessagesRequest < Internal::Types::Model
|
|
8
|
+
field :inbox_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :message_id, -> { String }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :attachment_id, -> { String }, optional: false, nullable: false
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class GetMessagesRequest < Internal::Types::Model
|
|
8
|
+
field :inbox_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :message_id, -> { String }, optional: false, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class ListMessagesRequest < Internal::Types::Model
|
|
8
|
+
field :inbox_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :after, -> { String }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :direction, -> { Coss::Inboxes::Messages::Types::ListMessagesRequestDirection }, optional: true, nullable: false
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
module ListMessagesRequestDirection
|
|
8
|
+
extend Coss::Internal::Types::Enum
|
|
9
|
+
|
|
10
|
+
INBOUND = "inbound"
|
|
11
|
+
OUTBOUND = "outbound"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class ReplyInboxMessageRequest < Internal::Types::Model
|
|
8
|
+
field :inbox_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :message_id, -> { String }, optional: false, nullable: false
|
|
11
|
+
|
|
12
|
+
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "Idempotency-Key"
|
|
13
|
+
|
|
14
|
+
field :reply_all, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :cc, -> { Coss::Inboxes::Messages::Types::ReplyInboxMessageRequestCc }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :bcc, -> { Coss::Inboxes::Messages::Types::ReplyInboxMessageRequestBcc }, optional: true, nullable: false
|
|
19
|
+
|
|
20
|
+
field :text, -> { String }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :html, -> { String }, optional: true, nullable: false
|
|
23
|
+
|
|
24
|
+
field :attachments, -> { Internal::Types::Array[Coss::Types::SendEmailAttachment] }, optional: true, nullable: false
|
|
25
|
+
|
|
26
|
+
field :tags, -> { Internal::Types::Array[Coss::Inboxes::Messages::Types::ReplyInboxMessageRequestTagsItem] }, optional: true, nullable: false
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class ReplyInboxMessageRequestBcc < Internal::Types::Model
|
|
8
|
+
extend Coss::Internal::Types::Union
|
|
9
|
+
|
|
10
|
+
member -> { String }
|
|
11
|
+
|
|
12
|
+
member -> { Internal::Types::Array[String] }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class ReplyInboxMessageRequestCc < Internal::Types::Model
|
|
8
|
+
extend Coss::Internal::Types::Union
|
|
9
|
+
|
|
10
|
+
member -> { String }
|
|
11
|
+
|
|
12
|
+
member -> { Internal::Types::Array[String] }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class ReplyInboxMessageRequestTagsItem < Internal::Types::Model
|
|
8
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :value, -> { String }, optional: false, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Inboxes
|
|
5
|
+
module Messages
|
|
6
|
+
module Types
|
|
7
|
+
class SendInboxMessageRequest < Internal::Types::Model
|
|
8
|
+
field :inbox_id, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "Idempotency-Key"
|
|
11
|
+
|
|
12
|
+
field :to, -> { Coss::Inboxes::Messages::Types::SendInboxMessageRequestTo }, optional: false, nullable: false
|
|
13
|
+
|
|
14
|
+
field :cc, -> { Coss::Inboxes::Messages::Types::SendInboxMessageRequestCc }, optional: true, nullable: false
|
|
15
|
+
|
|
16
|
+
field :bcc, -> { Coss::Inboxes::Messages::Types::SendInboxMessageRequestBcc }, optional: true, nullable: false
|
|
17
|
+
|
|
18
|
+
field :subject, -> { String }, optional: false, nullable: false
|
|
19
|
+
|
|
20
|
+
field :text, -> { String }, optional: true, nullable: false
|
|
21
|
+
|
|
22
|
+
field :html, -> { String }, optional: true, nullable: false
|
|
23
|
+
|
|
24
|
+
field :attachments, -> { Internal::Types::Array[Coss::Types::SendEmailAttachment] }, optional: true, nullable: false
|
|
25
|
+
|
|
26
|
+
field :tags, -> { Internal::Types::Array[Coss::Inboxes::Messages::Types::SendInboxMessageRequestTagsItem] }, optional: true, nullable: false
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|