api/doc/ManageConsents.yaml
openapi: 3.0.0
info:
title: 'YetiForce API for Webservice App. Type: Manage consents'
description: "Skip the `/webservice` fragment for connections via ApiProxy. There are two ways to connect to API, with or without rewrite, below are examples of both:\n * rewrite\n * - __CRM_URL__/webservice/ManageConsents/Users/Login\n * - __CRM_URL__/webservice/ManageConsents/Accounts/RecordRelatedList/117/Contacts\n * without rewrite\n * - __CRM_URL__/webservice.php?_container=ManageConsents&module=Users&action=Login\n * - __CRM_URL__/webservice.php?_container=ManageConsents&module=Accounts&action=RecordRelatedList&record=117¶m=Contacts"
termsOfService: 'https://yetiforce.com/'
contact:
name: 'Devs API Team'
url: 'https://yetiforce.com/'
email: devs@yetiforce.com
license:
name: 'YetiForce Public License'
url: 'https://yetiforce.com/en/yetiforce/license'
version: '0.2'
servers:
-
url: 'https://gitdeveloper.yetiforce.com'
description: 'Demo server of the development version'
-
url: 'https://gitstable.yetiforce.com'
description: 'Demo server of the latest stable version'
paths:
/webservice/ManageConsents/ApprovalsRegister/Record:
post:
tags:
- ApprovalsRegister
summary: 'Adds an consent entry'
description: 'Add record.'
operationId: 425399d47c958ba5c538827d258fde0a
requestBody:
description: 'Required data for communication'
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/ApprovalsRegister_Post_Record_Request'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ApprovalsRegister_Post_Record_Request'
application/json:
schema:
$ref: '#/components/schemas/ApprovalsRegister_Post_Record_Request'
responses:
'200':
description: 'Result of adding entry'
content:
application/json:
schema:
$ref: '#/components/schemas/ApprovalsRegister_Post_Record_Response'
application/xml:
schema:
$ref: '#/components/schemas/ApprovalsRegister_Post_Record_Response'
'401':
description: '`No sent token` OR `Invalid token`'
'403':
description: 'No permissions for module'
'405':
description: 'Method Not Allowed'
security:
-
basicAuth: []
ApiKeyAuth: []
token: []
/webservice/ManageConsents/Approvals/RecordsList:
get:
tags:
- Approvals
summary: 'Gets the list of consents'
description: 'Gets consents.'
operationId: 04e7ebb08f943d466f20bb0e98311271
parameters:
-
name: x-row-limit
in: header
description: 'Get rows limit, default: 1000'
required: false
schema:
type: integer
example: 1000
-
name: x-row-offset
in: header
description: 'Offset, default: 0'
required: false
schema:
type: integer
example: 0
-
name: x-raw-data
in: header
description: 'Gets raw data'
required: false
schema:
type: integer
enum:
- 0
- 1
example: 1
-
name: x-condition
in: header
description: 'Conditions [Json format]'
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/Approvals_Get_RecordsList_Request'
responses:
'200':
description: 'List of consents'
content:
application/json:
schema:
$ref: '#/components/schemas/Approvals_Get_RecordsList_Response'
application/xml:
schema:
$ref: '#/components/schemas/Approvals_Get_RecordsList_Response'
'401':
description: '`No sent token` OR `Invalid token`'
content:
application/json:
schema:
$ref: '#/components/schemas/Exception'
application/xml:
schema:
$ref: '#/components/schemas/Exception'
'403':
description: 'No permissions for module'
content:
application/json:
schema:
$ref: '#/components/schemas/Exception'
application/xml:
schema:
$ref: '#/components/schemas/Exception'
'405':
description: 'Method Not Allowed'
content:
application/json:
schema:
$ref: '#/components/schemas/Exception'
application/xml:
schema:
$ref: '#/components/schemas/Exception'
security:
-
basicAuth: []
ApiKeyAuth: []
token: []
'/webservice/ManageConsents/{moduleName}/GetConsentsForEntry':
post:
tags:
- BaseModule
summary: 'Gets the list of consents for specific entry'
description: 'Gets consents.'
operationId: 9fd993e544cb6935282883e505b8d1d6
parameters:
-
name: moduleName
in: path
description: 'Module name'
required: true
schema:
type: string
example: Contacts
requestBody:
description: 'Required data for communication'
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/BaseModule_Post_GetConsentsForEntry_Request'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BaseModule_Post_GetConsentsForEntry_Request'
application/json:
schema:
$ref: '#/components/schemas/BaseModule_Post_GetConsentsForEntry_Request'
responses:
'200':
description: 'List of consents for specific entry'
content:
application/json:
schema:
$ref: '#/components/schemas/BaseModule_Post_GetConsentsForEntry_Response'
'401':
description: '`No sent token` OR `Invalid token`'
'403':
description: 'No permissions for module'
'404':
description: 'Not Found'
'405':
description: 'Method Not Allowed'
security:
-
basicAuth: []
ApiKeyAuth: []
token: []
'/webservice/ManageConsents/{moduleName}/SendEmail':
post:
tags:
- BaseModule
summary: 'Send e-mail'
description: 'Send e-mail.'
operationId: 86c8610aedbae9a8690ab71a3ae22134
parameters:
-
name: moduleName
in: path
description: 'Module name'
required: true
schema:
type: string
example: Contacts
requestBody:
description: 'Required data for communication'
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/BaseModule_Post_SendEmail_Request'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BaseModule_Post_SendEmail_Request'
application/json:
schema:
$ref: '#/components/schemas/BaseModule_Post_SendEmail_Request'
responses:
'200':
description: 'Status of adding an email to the queue'
content:
application/json:
schema:
$ref: '#/components/schemas/BaseModule_Post_SendEmail_Response'
'401':
description: '`No sent token` OR `Invalid token`'
'403':
description: 'No permissions for module'
'404':
description: 'Not Found'
'405':
description: 'Method Not Allowed'
security:
-
basicAuth: []
ApiKeyAuth: []
token: []
components:
schemas:
ApprovalsRegister_Post_Record_Request:
title: 'A list of fields required while creating an entry'
description: 'The list is based on fields in the Consent register module. Accepting or declining consent takes place based on the value in the approvals_register_status field.'
type: object
example:
subject: Text
approvalsid: '123'
contactid: '321'
approvals_register_type: PLL_ACCEPTANCE
approvals_register_status: PLL_FOR_VERIFICATION
registration_date: '2019-11-12 12:00'
ApprovalsRegister_Post_Record_Response:
title: 'Adding an entry'
description: 'Result of adding entry'
properties:
status:
description: 'A numeric value of 0 or 1 that indicates whether the communication is valid. 1 - success , 0 - error'
type: integer
enum:
- 0
- 1
result:
description: 'Result of adding entry'
properties:
id:
description: 'New entry ID. Empty value means that the operation was unsuccessful.'
type: integer
example: 24842
error:
description: 'Error message. The variable exists when some of the provided data is incomplete and the entry could not be added.'
type: string
example: ''
type: object
type: object
Approvals_Get_RecordsList_Request:
title: Conditions
description: 'The list is based on fields in the Consent register module. fieldName - Field name, value - Value, operator - Specific operator, group - true/false. '
type: object
example:
fieldName: approvals_status
value: PLL_ACTIVE
operator: e
Approvals_Get_RecordsList_Response:
title: 'List of consents'
description: 'List of obtained consents'
properties:
status:
description: 'A numeric value of 0 or 1 that indicates whether the communication is valid. 1 - success , 0 - error'
type: integer
enum:
- 0
- 1
result:
description: 'Specific response'
properties:
records:
properties:
'24862':
properties: { id: { description: 'Consent ID', type: integer, example: 24862 }, name: { description: Text, type: string, example: 'Consent for email' }, approvals_status: { description: Status, type: string, example: Active }, number: { description: Text, type: string, example: N12 }, assigned_user_id: { description: 'Assigned user name', type: string, example: 'Kowalski Adam' }, createdtime: { type: string, example: '2019-10-07 08:32:38' }, modifiedtime: { type: string, example: '2019-10-07 08:32:38' }, created_user_id: { description: 'Assigned user name', type: string, example: 'Kowalski Adam' }, shownerid: { description: 'Assigned user name', type: string, example: 'Kowalski Adam' }, description: { description: Description, type: string, example: 'I confirm to have read..' } }
type: object
type: object
rawData:
properties:
'24862':
properties: { id: { description: 'Consent ID', type: integer, example: 24862 }, name: { description: Text, type: string, example: 'Consent for email' }, approvals_status: { description: Status, type: string, example: PLL_ACTIVE }, number: { description: Text, type: string, example: N12 }, assigned_user_id: { description: 'Assigned user ID', type: integer, example: 245 }, createdtime: { type: string, example: '2019-10-07 08:32:38' }, modifiedtime: { type: string, example: '2019-10-07 08:32:38' }, created_user_id: { description: 'Assigned user ID', type: integer, example: 245 }, shownerid: { description: 'Assigned user name', type: string, example: 'Kowalski Adam' }, description: { description: Description, type: string, example: 'I confirm to have read..' } }
type: object
type: object
isMorePages:
description: 'There are more entries'
type: boolean
example: true
type: object
type: object
Exception:
title: 'General - Error exception'
properties:
status:
description: '0 - error'
type: integer
enum:
- 0
example: 0
error:
description: 'Error details'
properties:
message:
description: 'To show more details turn on: config\Debug.php apiShowExceptionMessages = true'
type: string
example: 'Invalid method'
code:
type: integer
example: 405
file:
description: 'default disabled to enable set: config\Debug.php apiShowExceptionBacktrace = true'
type: string
example: api\webservice\WebservicePremium\BaseAction\Files.php
line:
description: 'default disabled to enable set: config\Debug.php apiShowExceptionBacktrace = true'
type: integer
example: 101
backtrace:
description: 'default disabled to enable set: config\Debug.php apiShowExceptionBacktrace = true'
type: string
example: '#0 api\webservice\WebservicePremium\BaseAction\Files.php (101) ....'
type: object
type: object
BaseModule_Post_GetConsentsForEntry_Request:
title: 'Request body for GetConsentsForEntry'
properties:
token:
description: 'Entry unique ID (Token type field in the module is required)'
type: string
type: object
BaseModule_Post_GetConsentsForEntry_Response:
title: 'Response body for GetConsentsForEntry'
properties:
status:
description: 'A numeric value of 0 or 1 that indicates whether the communication is valid. 1 - success , 0 - error'
type: integer
enum:
- 0
- 1
result:
description: 'Specific response'
properties:
id:
description: 'Record ID'
type: integer
example: 24842
consents:
description: 'Get the edit value in display view'
type: object
additionalProperties:
description: 'Data from the associated module'
type: integer
example: 24862
type: object
type: object
BaseModule_Post_SendEmail_Request:
title: 'Request body for SendEmail'
properties:
e-mail:
description: 'E-mail address (Token type field in the module is required)'
type: string
templateId:
description: 'Specific ID of the email template'
type: integer
type: object
BaseModule_Post_SendEmail_Response:
title: 'Response body for SendEmail'
properties:
status:
description: 'A numeric value of 0 or 1 that indicates whether the communication is valid. 1 - success , 0 - error'
type: integer
enum:
- 0
- 1
result:
description: 'Added mail to quote for send: true - success , false - fail'
type: boolean
example: true
type: object
securitySchemes:
basicAuth:
type: http
description: 'Basic Authentication header'
scheme: basic
ApiKeyAuth:
type: apiKey
description: 'Webservice api key header'
name: X-API-KEY
in: header
token:
type: apiKey
description: 'Webservice api token by user header'
name: X-TOKEN
in: header