diff --git a/certified-connectors/Zoho TeamInbox/apiDefinition.swagger.json b/certified-connectors/Zoho TeamInbox/apiDefinition.swagger.json new file mode 100644 index 0000000000..f261fab095 --- /dev/null +++ b/certified-connectors/Zoho TeamInbox/apiDefinition.swagger.json @@ -0,0 +1,2042 @@ +{ + "swagger": "2.0", + "info": { + "title": "Zoho TeamInbox", + "description": "Create common inboxes for your teams and give them the comfort of working in a transparent workspace.", + "version": "1.0", + "contact": { + "name": "Zoho TeamInbox", + "email": "support@zohoteaminbox.com", + "url": "https://www.zoho.com/teaminbox/contact.html" + } + }, + "host": "teaminbox.zoho.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [], + "paths": { + "/api/v1/workspaces": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "soid": { + "x-ms-summary": "Unique ID", + "type": "string", + "description": "Unique ID of organisation" + }, + "name": { + "x-ms-summary": "Name", + "type": "string", + "description": "Name of the organisation" + }, + "is_default": { + "x-ms-summary": "Is Default", + "type": "boolean", + "description": "Is default" + } + } + } + } + } + } + } + }, + "summary": "Get organization", + "description": "Get all organizations including organization ID, name, under the specified user.", + "operationId": "Get_Workspace", + "parameters": [], + "x-ms-visibility": "internal" + } + }, + "/api/v1/workspaces/{workspace_id}/teams": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "x-ms-summary": "Team name", + "type": "string", + "description": "Name of the team" + }, + "description": { + "x-ms-summary": "Description", + "type": "string", + "description": "Description of team." + }, + "team_type": { + "x-ms-summary": "Team type", + "type": "string", + "description": "type of the team" + }, + "team_id": { + "x-ms-summary": "Team ID", + "type": "string", + "description": "unique ID of team" + }, + "member_count": { + "x-ms-summary": "Member count", + "type": "string", + "description": "total member count of the team" + } + } + } + } + } + } + } + }, + "summary": "Get teams details", + "description": "Get all teams created within the organization.", + "operationId": "Get_Teams", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-summary": "Organization", + "x-ms-url-encoding": "single", + "description": "Select organization or enter organization ID", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + } + ], + "x-ms-visibility": "internal" + } + }, + "/api/workspaces/{workspace_id}/teams/{team_id}/users": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role_name": { + "type": "string", + "description": "role_name" + }, + "role_id": { + "type": "string", + "description": "role_id" + }, + "name": { + "type": "string", + "x-ms-summary": "Name", + "description": "Name of the member" + }, + "email": { + "type": "string", + "x-ms-summary": "Email ID", + "description": "Email ID of the member" + }, + "zuid": { + "type": "string", + "x-ms-summary": "Member ID", + "description": "unique ID of the member" + } + } + }, + "description": "Member list of the team", + "x-ms-summary": "Member List" + } + } + } + } + }, + "summary": "Get team members", + "description": "Get list of members associated with a team.", + "operationId": "Get_Team_Members", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select organization or enter organization ID", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select team or enter team ID", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + } + ], + "x-ms-visibility": "internal" + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/inbox": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "created_time": { + "type": "string", + "x-ms-summary": "Created on", + "description": "Timestamp indicating when the Inbox was created." + }, + "settings": { + "type": "object", + "properties": { + "auto_unassign_on_archive": { + "type": "string", + "description": "auto_unassign_on_archive" + }, + "personal_default": { + "type": "string", + "description": "personal_default" + }, + "auto_assign": { + "type": "string", + "description": "auto_assign" + }, + "auto_add": { + "type": "string", + "description": "auto_add" + }, + "default_outgoing_channel": { + "type": "string", + "description": "default_outgoing_channel" + } + }, + "description": "settings" + }, + "name": { + "type": "string", + "description": "name" + }, + "description": { + "type": "string", + "description": "description" + }, + "created_at": { + "type": "string", + "description": "created_at" + }, + "id": { + "type": "string", + "description": "id" + }, + "team_id": { + "type": "string", + "description": "team_id" + }, + "created_by": { + "type": "string", + "description": "created_by" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "type": "string", + "description": "role" + }, + "is_personal_outoing_allowed": { + "type": "string", + "description": "is_personal_outoing_allowed" + }, + "zuid": { + "type": "string", + "description": "zuid" + } + } + }, + "description": "users" + }, + "updated_time": { + "type": "string", + "description": "updated_time" + }, + "updated_at": { + "type": "string", + "description": "updated_at" + }, + "updated_by": { + "type": "string", + "description": "updated_by" + } + } + }, + "description": "data" + }, + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "code" + }, + "description": { + "type": "string", + "description": "description" + } + }, + "description": "status" + } + } + } + } + }, + "summary": "Get team inboxes", + "description": "Get all inboxes created under a team.", + "operationId": "Get_Inbox", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select organization or enter organization ID", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select team or enter team ID", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + } + ], + "x-ms-visibility": "internal" + } + }, + "/api/workspaces/{workspace_id}/channel/outgoing": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "from_address": { + "type": "array", + "items": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "email" + }, + "name": { + "type": "string", + "description": "name" + } + } + }, + "description": "from_address" + } + } + } + } + }, + "summary": "Get sender address", + "description": "Get list of all sender addresses for the selected inbox", + "operationId": "Get_From_Address", + "x-ms-visibility": "internal", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select organization or enter organization ID", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "query", + "required": false, + "type": "string", + "x-ms-summary": "Team", + "description": "Select team or enter team ID", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "inbox_id", + "in": "query", + "required": false, + "type": "string", + "x-ms-summary": "Inbox", + "description": "Select inbox or enter inbox ID", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox", + "value-path": "id", + "value-collection": "data", + "value-title": "name", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/channels/{teaminbox_id}/compose/mail": { + "post": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "messageId": { + "type": "string", + "x-ms-summary": "Message ID", + "description": "Unique ID of email within a thread" + }, + "entityId": { + "type": "string", + "x-ms-summary": "Entity ID", + "description": "Unique thread ID associated with the message" + }, + "type": { + "type": "string", + "x-ms-summary": "Channel type", + "description": "Type of channel associated with the message" + }, + "tdetails": { + "type": "object", + "x-ms-summary": "Thread details", + "properties": { + "PRIORITY": { + "type": "integer", + "format": "int32", + "x-ms-summary": "Priority", + "description": "Priority of the message" + }, + "FROM": { + "type": "string", + "x-ms-summary": "From", + "description": "Sender of the message." + }, + "CONTENT": { + "type": "string", + "x-ms-summary": "Email content", + "description": "content of the mail" + }, + "CC": { + "type": "string", + "x-ms-summary": "CC", + "description": "CC email address" + }, + "BCC": { + "type": "string", + "x-ms-summary": "BCC", + "description": "BCC email address" + }, + "SENTTIMEINMILLIS": { + "type": "string", + "x-ms-summary": "Sent time", + "description": "The time when the thread or message was created in the system" + }, + "SUBJECT": { + "type": "string", + "x-ms-summary": "Subject", + "description": "subject of the mail" + }, + "TO": { + "type": "string", + "x-ms-summary": "To", + "description": "recipient email addresses" + } + }, + "description": "Complete information about an email thread, including sender, recipients, subject, and content." + }, + "archived": { + "type": "boolean", + "x-ms-summary": "Archived thread", + "description": "The thread is archived" + }, + "following": { + "type": "boolean", + "description": "following" + }, + "teamId": { + "type": "string", + "x-ms-summary": "Team ID", + "description": "The ID of the inbox from where the mail is sent." + }, + "createdTime": { + "type": "string", + "x-ms-summary": "Created Time", + "description": "The time when the thread or message was created in the system" + }, + "from": { + "type": "string", + "x-ms-summary": "From address", + "description": "The original detail of the email, including the sender\u2019s address." + }, + "assignee": { + "type": "string", + "x-ms-summary": "Assignee", + "description": "The assigned team member responsible for handling the thread." + }, + "inboxId": { + "type": "string", + "x-ms-summary": "Inbox ID", + "description": "The ID of the inbox from where the mail is sent." + }, + "channelId": { + "type": "string", + "x-ms-summary": "Channel ID", + "description": "The ID of the channel associated with the message or thread." + } + }, + "description": "data" + }, + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "code" + } + }, + "description": "status" + } + } + } + } + }, + "summary": "Send email", + "operationId": "Send_Mail", + "description": "Compose and send a new email, to one or more recipients,", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select an organization or enter the organization\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Choose a team or enter the team ID.", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "teaminbox_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-summary": "Inbox", + "x-ms-url-encoding": "single", + "description": "Choose an inbox or specify the inbox ID", + "x-ms-dynamic-list": { + "operationId": "Get_Inbox", + "itemValuePath": "id", + "itemsPath": "data", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + }, + "team_id": { + "parameterReference": "team_id" + } + } + } + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "fromAddress": { + "type": "string", + "x-ms-summary": "From", + "description": "Select or enter sender email address", + "x-ms-dynamic-list": { + "operationId": "Get_From_Address", + "itemValuePath": "email", + "itemsPath": "from_address", + "itemTitlePath": "email", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + }, + "team_id": { + "parameterReference": "team_id" + }, + "inbox_id": { + "parameterReference": "teaminbox_id" + } + } + }, + "title": "From", + "x-ms-visibility": "important" + }, + "toAddress": { + "type": "string", + "x-ms-summary": "To", + "description": "Enter comma-separated To email addresses", + "title": "To", + "x-ms-visibility": "important" + }, + "ccAddress": { + "type": "string", + "x-ms-summary": "CC", + "description": "Enter comma-separated CC email addresses" + }, + "bccAddress": { + "type": "string", + "x-ms-summary": "BCC", + "description": "Enter comma-separated CC email addresses" + }, + "subject": { + "type": "string", + "x-ms-summary": "Email subject", + "description": "Enter subject line", + "title": "Email subject" + }, + "text": { + "type": "string", + "x-ms-summary": "Email body", + "description": "Enter email content" + }, + "entity_type": { + "type": "integer", + "description": "type of message", + "title": "Entity type", + "format": "int32", + "default": 1, + "x-ms-visibility": "internal" + }, + "encoding": { + "type": "string", + "description": "Encoding of the mail", + "title": "Encoding", + "default": "UTF-8", + "x-ms-visibility": "internal" + }, + "mailFormat": { + "type": "number", + "description": "Format of email", + "title": "Mail format", + "x-ms-visibility": "internal", + "default": 2 + }, + "archive": { + "type": "boolean", + "description": "send and archive the mail", + "title": "Archive", + "default": false, + "x-ms-visibility": "important", + "enum": [ + true, + false + ] + } + }, + "required": [ + "entity_type", + "encoding", + "mailFormat", + "fromAddress", + "toAddress", + "subject", + "archive" + ] + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/search": { + "post": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "subject": { + "type": "string", + "x-ms-summary": "Message subject", + "description": "subject of the message" + }, + "type": { + "type": "string", + "x-ms-summary": "Channel type", + "description": "Type of channel associated with the message" + }, + "archived": { + "type": "boolean", + "x-ms-summary": "Archived status", + "description": "Indicates whether the message is archived." + }, + "createdTime": { + "type": "string", + "x-ms-summary": "Created time", + "description": "Timestamp when the message was created." + }, + "from": { + "type": "string", + "x-ms-summary": "From", + "description": "Sender of the message." + }, + "summary": { + "type": "string", + "x-ms-summary": "Summary", + "description": "Summary of the message content." + }, + "read": { + "type": "boolean", + "x-ms-summary": "Read status", + "description": "Read status of the message." + }, + "threadCount": { + "type": "integer", + "format": "int32", + "x-ms-summary": "Total thread count", + "description": "Total thread count of the message." + }, + "entityId": { + "type": "string", + "x-ms-summary": "Thread ID", + "description": "unique ID of the message" + }, + "teamId": { + "type": "string", + "x-ms-summary": "Team ID", + "description": "Unique ID of the team associated of the message." + }, + "following": { + "type": "boolean", + "x-ms-summary": "Following status", + "description": "Indicates whether the user is following this message thread." + }, + "spam": { + "type": "boolean", + "x-ms-summary": "Spam status", + "description": "Spam classification status of the message." + }, + "inboxId": { + "type": "string", + "x-ms-summary": "Inbox ID", + "description": "Unique ID of the inbox associated with the message" + }, + "drafted": { + "type": "boolean", + "x-ms-summary": "Draft status", + "description": "Indicates whether the message is saved as draft." + }, + "trashed": { + "type": "boolean", + "x-ms-summary": "Trash status", + "description": "Indicates whether the message is trashed" + } + } + }, + "description": "list of messages" + } + }, + "description": "data" + } + } + } + } + }, + "summary": "Search email", + "operationId": "Search_Mail", + "description": "Search emails in a inbox filtered by subject or keyword", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select an organization or enter the organization\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "query", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "contains": { + "type": "string", + "x-ms-summary": "Contains", + "description": "Enter the text to search the message" + }, + "subject": { + "type": "string", + "x-ms-summary": "Subject", + "description": "Enter the subject of the message to search" + }, + "channel": { + "type": "array", + "items": { + "type": "string" + }, + "x-ms-summary": "Inbox", + "description": "Select inbox or enter inbox id to search" + }, + "is_trashed": { + "type": "boolean", + "x-ms-summary": "Include trash", + "description": "indicates whether trash message is included" + }, + "is_spam": { + "type": "boolean", + "x-ms-summary": "Include spam", + "description": "indicates whether spam message is included" + } + } + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/contacts": { + "post": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "contact_id": { + "type": "string", + "x-ms-summary": "Contact ID", + "description": "Unique ID of the contact" + } + }, + "description": "data" + } + } + } + } + }, + "summary": "Create contact", + "description": "Create a new contact under the team, with the name, email address and phone number.", + "operationId": "Create_Contact", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organisation", + "description": "Select an organization or enter the organization\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select a team or enter the team's unique ID.", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "x-ms-summary": "Contact name", + "description": "Enter contact's name" + }, + "email_id": { + "type": "string", + "x-ms-summary": "Contact email", + "description": "Enter contact's email" + }, + "description": { + "type": "string", + "x-ms-summary": "Contact description", + "description": "Enter contact's description" + }, + "mobile": { + "type": "string", + "x-ms-summary": "Contact mobile number", + "description": "Enter contact's mobile number" + }, + "facebook_profile_url": { + "type": "string", + "x-ms-summary": "Facebook", + "description": "Enter your contact's Facebook account URL" + }, + "instagram_profile_url": { + "type": "string", + "x-ms-summary": "Instagram", + "description": "Enter your contact's Instagram account URL" + } + } + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/channels/{inbox_id}/conversation/{conversation_id}/follow": { + "put": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "x-ms-summary": "Response code", + "description": "Response code generated for the request" + }, + "description": { + "type": "string", + "x-ms-summary": "Description", + "description": "Response status description of the request." + } + }, + "description": "Response of the request" + } + } + } + } + }, + "summary": "Follow a Thread", + "description": "Follow to get all notification of the thread", + "operationId": "Follow_Conversation", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select an organization or enter the organization\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select a team or enter the team's unique ID.", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "inbox_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Inbox", + "description": "Select an inbox or enter the inbox's unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox", + "value-path": "id", + "value-collection": "data", + "value-title": "name", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + }, + { + "name": "conversation_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Thread", + "description": "Select a thread or enter the thread's unique ID to follow.", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox_Conversation", + "value-path": "entityId", + "value-collection": "data/messages", + "value-title": "subject", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + }, + "inbox_id": { + "parameter": "inbox_id" + } + } + } + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ChannelRequest" + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/channels/{inbox_id}/conversation/{conversation_id}/trash": { + "put": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "x-ms-summary": "Response code", + "description": "Response code generated for the request" + }, + "description": { + "type": "string", + "x-ms-summary": "Description", + "description": "Response status description of the request." + } + }, + "description": "Response of the request" + } + } + } + } + }, + "summary": "Trash a thread", + "description": "Move a conversation or email thread to the trash, marking it for deletion.", + "operationId": "Trash_Conversation", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organisation", + "description": "Select an organization or enter the organization\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select a team or enter the team's unique ID.", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "inbox_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Inbox", + "description": "Select an inbox or enter the inbox's unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox", + "value-path": "id", + "value-collection": "data", + "value-title": "name", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + }, + { + "name": "conversation_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Thread", + "description": "Select a thread or enter the thread's unique ID to trash.", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox_Conversation", + "value-path": "entityId", + "value-collection": "data/messages", + "value-title": "subject", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + }, + "inbox_id": { + "parameter": "inbox_id" + } + } + } + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ChannelRequest" + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/channels/{inbox_id}/conversation/{conversation_id}/archive": { + "put": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "x-ms-summary": "Response code", + "description": "Response code generated for the request" + }, + "description": { + "type": "string", + "x-ms-summary": "Description", + "description": "Response status description of the request." + } + }, + "description": "status" + } + } + } + } + }, + "summary": "Archive a thread", + "description": "Move a conversation or email thread into the archive folder for record-keeping.", + "operationId": "Archive_Thread", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Choose an organisation from the list or enter the organisation\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select a team or enter the team's unique ID.", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "inbox_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Inbox", + "description": "Select an inbox or enter the inbox's unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox", + "value-path": "id", + "value-collection": "data", + "value-title": "name", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + }, + { + "name": "conversation_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Thread", + "description": "Select the thread or enter the thread's unique ID to archive", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox_Conversation", + "value-path": "entityId", + "value-collection": "data/messages", + "value-title": "subject", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + }, + "inbox_id": { + "parameter": "inbox_id" + } + } + } + }, + { + "name": "body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ChannelRequest" + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/channels/{inbox_id}/conversation/{conversation_id}/assign": { + "put": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "x-ms-summary": "Response code", + "description": "Response code generated for the request" + }, + "description": { + "type": "string", + "x-ms-summary": "Description", + "description": "Response status description of the request." + } + } + } + } + } + } + }, + "description": "Assign ownership of a conversation or email thread to a specific team member.", + "summary": "Assign a thread", + "operationId": "Assign_Thread", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select an organization or enter the organization\u2019s unique ID.", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select a team or enter the team's unique ID", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "inbox_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Inbox", + "description": "Select a inbox or enter the inbox's unique ID", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox", + "value-path": "id", + "value-collection": "data", + "value-title": "name", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + }, + { + "name": "conversation_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Thread", + "description": "Select a thread or enter the thread's unique ID to whom the thread will be assigned.", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox_Conversation", + "value-path": "entityId", + "value-collection": "data/messages", + "value-title": "subject", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + }, + "inbox_id": { + "parameter": "inbox_id" + } + } + } + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "assignee": { + "type": "string", + "x-ms-summary": "Assignee", + "description": "Select member or enter member's unique ID to assign", + "x-ms-dynamic-values": { + "operationId": "Get_Team_Members", + "value-path": "zuid", + "value-collection": "data", + "value-title": "email", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + }, + "entity_type": { + "type": "integer", + "x-ms-summary": "Channel Type", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "x-ms-enum-values": [ + { + "displayName": "Mail", + "value": 1 + }, + { + "displayName": "Telegram", + "value": 2 + }, + { + "displayName": "WhatsApp", + "value": 3 + }, + { + "displayName": "Discussion", + "value": 4 + }, + { + "displayName": "Instagram", + "value": 5 + }, + { + "displayName": "FaceBook", + "value": 6 + } + ], + "description": "Select the channel type for the message.", + "title": "Channel", + "x-ms-visibility": "important", + "default": 1 + } + }, + "required": [ + "assignee", + "entity_type" + ] + } + } + ] + } + }, + "/api/v1/workspaces/{workspace_id}/teams/{team_id}/channels/{inbox_id}/conversation": { + "get": { + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "count" + }, + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "handles": { + "type": "array", + "items": {}, + "description": "handles" + }, + "subject": { + "type": "string", + "description": "subject" + }, + "isRead": { + "type": "string", + "description": "isRead" + }, + "cTime": { + "type": "string", + "description": "cTime" + }, + "type": { + "type": "string", + "description": "type" + }, + "archived": { + "type": "boolean", + "description": "archived" + }, + "createdTime": { + "type": "string", + "description": "createdTime" + }, + "from": { + "type": "string", + "description": "from" + }, + "hasAttachments": { + "type": "string", + "x-ms-summary": "Has attachment", + "description": "The thread or message contains file attachments." + }, + "channelId": { + "type": "string", + "description": "channelId" + }, + "summary": { + "type": "string", + "description": "summary" + }, + "updatedTime": { + "type": "string", + "description": "updatedTime" + }, + "isFollowing": { + "type": "string", + "description": "isFollowing" + }, + "comments": { + "type": "string", + "description": "comments" + }, + "read": { + "type": "boolean", + "description": "read" + }, + "entityType": { + "type": "string", + "description": "entityType" + }, + "threadCount": { + "type": "integer", + "format": "int32", + "description": "threadCount" + }, + "entityId": { + "type": "string", + "description": "entityId" + }, + "new_mail_draft": { + "type": "boolean", + "description": "new_mail_draft" + }, + "tags": { + "type": "array", + "items": {}, + "description": "tags" + }, + "hasAttch": { + "type": "boolean", + "description": "hasAttch" + }, + "sender": { + "type": "string", + "description": "sender" + }, + "teamId": { + "type": "string", + "description": "teamId" + }, + "following": { + "type": "boolean", + "description": "following" + }, + "uTime": { + "type": "string", + "description": "uTime" + }, + "cTimeStr": { + "type": "string", + "description": "cTimeStr" + }, + "newChannelId": { + "type": "string", + "description": "newChannelId" + }, + "time": { + "type": "string", + "description": "time" + }, + "spam": { + "type": "boolean", + "description": "spam" + }, + "inboxId": { + "type": "string", + "description": "inboxId" + }, + "drafted": { + "type": "boolean", + "description": "drafted" + }, + "status": { + "type": "string", + "description": "status" + }, + "uTimeStr": { + "type": "string", + "description": "uTimeStr" + }, + "trashed": { + "type": "boolean", + "description": "trashed" + } + } + }, + "description": "messages" + }, + "nextStart": { + "type": "integer", + "format": "int32", + "description": "nextStart" + }, + "showNext": { + "type": "boolean", + "description": "showNext" + } + }, + "description": "data" + }, + "status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "code" + }, + "description": { + "type": "string", + "description": "description" + } + }, + "description": "status" + } + } + } + } + }, + "summary": "Get inbox conversation", + "operationId": "Get_Inbox_Conversation", + "x-ms-visibility": "internal", + "description": "Get coversation of inbox", + "parameters": [ + { + "name": "workspace_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Organization", + "description": "Select organization or enter organization ID", + "x-ms-dynamic-values": { + "operationId": "Get_Workspace", + "value-path": "soid", + "value-collection": "data", + "value-title": "name" + } + }, + { + "name": "team_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Team", + "description": "Select team or enter team ID", + "x-ms-dynamic-list": { + "operationId": "Get_Teams", + "itemValuePath": "team_id", + "itemsPath": "teams", + "itemTitlePath": "name", + "parameters": { + "workspace_id": { + "parameterReference": "workspace_id" + } + } + } + }, + { + "name": "inbox_id", + "in": "path", + "required": true, + "type": "string", + "x-ms-url-encoding": "single", + "x-ms-summary": "Inbox", + "description": "Select inbox or enter inbox ID", + "x-ms-dynamic-values": { + "operationId": "Get_Inbox", + "value-path": "id", + "value-collection": "data", + "value-title": "name", + "parameters": { + "workspace_id": { + "parameter": "workspace_id" + }, + "team_id": { + "parameter": "team_id" + } + } + } + }, + { + "name": "max_limit", + "in": "query", + "required": true, + "type": "integer", + "default": 20, + "x-ms-visibility": "internal" + }, + { + "name": "category", + "in": "query", + "required": true, + "type": "string", + "default": "UNASSIGNED", + "x-ms-visibility": "internal" + }, + { + "name": "sort_by", + "in": "query", + "required": true, + "default": "DESC", + "type": "string", + "x-ms-visibility": "internal" + }, + { + "name": "start_index", + "in": "query", + "required": true, + "type": "integer", + "default": 0, + "x-ms-visibility": "internal" + } + ] + } + } + }, + "definitions": { + "ChannelRequest": { + "type": "object", + "properties": { + "entity_type": { + "$ref": "#/definitions/ChannelEnum" + } + }, + "required": [ + "entity_type" + ] + }, + "ChannelEnum": { + "type": "integer", + "x-ms-summary": "Channel", + "enum": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "x-ms-enum-values": [ + { + "displayName": "Mail", + "value": 1 + }, + { + "displayName": "Telegram", + "value": 2 + }, + { + "displayName": "WhatsApp", + "value": 3 + }, + { + "displayName": "Discussion", + "value": 4 + }, + { + "displayName": "Instagram", + "value": 5 + }, + { + "displayName": "FaceBook", + "value": 6 + } + ], + "description": "Select the channel type for the message.", + "title": "Channel", + "x-ms-visibility": "important", + "default": 1 + } + }, + "parameters": {}, + "responses": {}, + "securityDefinitions": { + "oauth2-auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", + "tokenUrl": "https://login.windows.net/common/oauth2/authorize", + "scopes": { + "TeamInbox.workspace.ALL": "TeamInbox.workspace.ALL", + "TeamInbox.workspace.team.ALL": "TeamInbox.workspace.team.ALL", + "TeamInbox.workspace.channel.ALL": "TeamInbox.workspace.channel.ALL", + "TeamInbox.workspace.conversation.ALL": "TeamInbox.workspace.conversation.ALL" + } + } + }, + "security": [ + { + "oauth2-auth": [ + "TeamInbox.workspace.ALL", + "TeamInbox.workspace.team.ALL", + "TeamInbox.workspace.channel.ALL", + "TeamInbox.workspace.conversation.ALL" + ] + } + ], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://www.zoho.com/teaminbox/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://www.zoho.com/privacy.html" + }, + { + "propertyName": "Categories", + "propertyValue": "Communication" + } + ] +} \ No newline at end of file diff --git a/certified-connectors/Zoho TeamInbox/apiProperties.json b/certified-connectors/Zoho TeamInbox/apiProperties.json new file mode 100644 index 0000000000..93818b6e97 --- /dev/null +++ b/certified-connectors/Zoho TeamInbox/apiProperties.json @@ -0,0 +1,114 @@ +{ + "properties": { + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2generic", + "clientId": "", + "scopes": [ + "TeamInbox.workspace.ALL", + "TeamInbox.workspace.team.ALL", + "TeamInbox.workspace.channel.ALL", + "TeamInbox.workspace.conversation.ALL" + ], + "redirectMode": "GlobalPerConnector", + "redirectUrl": "https://global.consent.azure-apim.net/redirect/zoho-20teaminbox-5fa2cbc8a3a5b02b16-5f717174636dae6ee4", + "properties": { + "IsFirstParty": "False", + "IsOnbehalfofLoginSupported": false + }, + "customParameters": { + "authorizationUrlTemplate": { + "value": "https://accounts.{CustomHost}/oauth/v2/auth" + }, + "authorizationUrlQueryStringTemplate": { + "value": "?response_type=code&client_id={clientId}&redirect_uri={redirectUrl}&state={State}&scope={Scopes}&access_type=offline&prompt=consent" + }, + "tokenUrlTemplate": { + "value": "https://accounts.{CustomHost}/oauth/v2/token" + }, + "tokenBodyTemplate": { + "value": "code={code}&grant_type=authorization_code&redirect_uri={redirectUrl}&client_id={clientId}&client_secret={clientSecret}&scope={Scopes}" + }, + "refreshUrlTemplate": { + "value": "https://accounts.{CustomHost}/oauth/v2/token" + }, + "refreshBodyTemplate": { + "value": "grant_type=refresh_token&refresh_token={refreshToken}&client_id={clientId}&client_secret={clientSecret}" + } + } + } + }, + "token:customHost": { + "type": "string", + "uiDefinition": { + "constraints": { + "required": "true", + "tabIndex": 3, + "allowedValues": [ + { + "text": "US (zoho.com)", + "value": "zoho.com" + }, + { + "text": "EU (zoho.eu)", + "value": "zoho.eu" + }, + { + "text": "IN (zoho.in)", + "value": "zoho.in" + }, + { + "text": "AU (zoho.com.au)", + "value": "zoho.com.au" + }, + { + "text": "JP (zoho.jp)", + "value": "zoho.jp" + }, + { + "text": "zoho.sa", + "value": "zoho.sa" + }, + { + "text": "zohocloud.ca", + "value": "zohocloud.ca" + } + ] + }, + "displayName": "Select the region where your Zoho account data resides.", + "description": "Select the domain." + } + } + }, + "iconBrandColor": "#226db4", + "scriptOperations": [ + "Get_Teams", + "Get_From_Address", + "Search_Mail" + ], + "capabilities": [], + "policyTemplateInstances": [ + { + "templateId": "dynamichosturl", + "title": "Set host for connection", + "parameters": { + "x-ms-apimTemplateParameter.urlTemplate": "https://teaminbox.@connectionParameters('token:customHost')" + } + }, + { + "templateId": "setheader", + "title": "User Agent", + "parameters": { + "x-ms-apimTemplateParameter.name": "user-agent", + "x-ms-apimTemplateParameter.value": "MS PowerAutomate", + "x-ms-apimTemplateParameter.existsAction": "override", + "x-ms-apimTemplate-policySection": "Request" + } + } + ], + "publisher": "Zoho Corporation", + "stackOwner": "Zoho Corporation" + } +} \ No newline at end of file diff --git a/certified-connectors/Zoho TeamInbox/readme.md b/certified-connectors/Zoho TeamInbox/readme.md new file mode 100644 index 0000000000..6ceeb60cd0 --- /dev/null +++ b/certified-connectors/Zoho TeamInbox/readme.md @@ -0,0 +1,62 @@ + +# Zoho TeamInbox + +Zoho TeamInbox connector allows you to perform actions such as creating and saving contacts receiving them, and searching emails from your shared inboxes based on email ID, sender address, email subject or content. + +## Publisher: Zoho Corporation + +## Prerequisites + +A verified Zoho TeamInbox account. Click [here] (https://www.zoho.com/teaminbox/signup.html) to create your first account. + +## Supported Operations + +The connector supports the following operations: + +### Create contact + +Create a new contact under the team, with the name, email address and phone number. + +### Send Mail + +Compose and send a new email, to one or more recipients. + +### Search Mail + +Search emails in an inbox filtered by subject or keyword + +### Archive a thread + +Move a conversation or email thread into the archive folder for record-keeping. + +### Assign a thread + +Assign ownership of a conversation or email thread to a specific team member. + +### Trash a thread + +Move a conversation or email thread to the trash, marking it for deletion. + +### Follow a Thread + +Follow to get all notification of the thread. + +## Obtaining Credentials + +Zoho TeamInbox uses OAuth2.0 to authenticate and hence no secondary authentication is required once the account has been set up. + +## Known Issues and Limitations + +* The total email size, including the email headers, body content, inline images, and attachments should not exceed the plan limit. +* Zoho TeamInbox cannot be used for sending out bulk emails and other emails that violates Zoho TeamInbox usage policy. + +## Frequently Asked Questions + +https://www.zoho.com/teaminbox/help/getting-started.html + +## Deployment Instructions +Refer the documentation [here](https://learn.microsoft.com/en-us/connectors/custom-connectors/paconn-cli) to deploy this connector as a custom connector in Microsoft Power Automate and Power Apps. + + + + diff --git a/certified-connectors/Zoho TeamInbox/script.csx b/certified-connectors/Zoho TeamInbox/script.csx new file mode 100644 index 0000000000..ecf0318ebe --- /dev/null +++ b/certified-connectors/Zoho TeamInbox/script.csx @@ -0,0 +1,96 @@ +public class Script : ScriptBase +{ + public override async Task ExecuteAsync() + { + if(this.Context.OperationId == "Get_Teams"){ + HttpResponseMessage response = await this.Context.SendAsync(this.Context.Request, this.CancellationToken).ConfigureAwait(continueOnCapturedContext: false); + if (response.IsSuccessStatusCode) { + string responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(continueOnCapturedContext: false); + JObject result = JObject.Parse(responseString); + JObject respObj = JObject.Parse("{}"); + JArray dataArray = (JArray)result["data"]; + JArray teamArray = new JArray(); + if(dataArray != null) + { + for(int i=0; i(); + JObject emailObj = new JObject(); + + + if((bool)channelElement["is_enabled"] && (bool)channelElement["is_verified"] && inboxIdArr.Contains(inbox_id)){ + emailObj.Add(new JProperty("email",(string)channelElement["source"])); + emailObj.Add(new JProperty("name",(string)channelElement["name"])); + emailArray.Add(emailObj); + } + + } + } + respObj.Add(new JProperty("from_address",emailArray)); + response.Content = CreateJsonContent(respObj.ToString()); + return response; + } + else{ + return response; + } + } + else if(this.Context.OperationId == "Search_Mail"){ + var query = System.Web.HttpUtility.ParseQueryString(this.Context.Request.RequestUri.Query); + HttpRequestMessage request = this.Context.Request; + JObject queryObj = JObject.Parse(await this.Context.Request.Content.ReadAsStringAsync()); + var formData = new Dictionary{ + { "query", queryObj.ToString() } + }; + request.Content = new FormUrlEncodedContent(formData); + HttpResponseMessage response = await this.Context.SendAsync(request, this.CancellationToken).ConfigureAwait(continueOnCapturedContext: false); + + return response; + } + HttpResponseMessage response1 = new HttpResponseMessage(HttpStatusCode.OK); + response1.Content = CreateJsonContent("{\"message\": \"Hello World\"}"); + return response1; + } +}