{ "swagger": "2.0", "info": { "title": "Party Interaction", "description": "**TMF API Reference : TMF - 683 Party Interaction**\n\n**Release : 19.5 - Oct 2019**\n\nThe Party Interaction Management API provides a mechanism to manage party interactions. Creation, update and retrieval. Including creation, update, retrieval, deletion and notification of event. \nA Party Interaction captures information about past interactions in order to re-use it in future ones. \nhis allows agents to serve users better by knowing the steps they went through. \nIt also allows customers to see better the actions they have performed and how they interacted with the service provider.\n\n\nCopyright \u00a9 TM Forum 2019. All Rights Reserved\n\n\n", "version": "4.0.0" }, "host": "serverRoot", "basePath": "/tmf-api/partyInteraction/v4/", "schemes": [ "https" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "tags": [ { "name": "partyInteraction" }, { "name": "notification listeners (client side)" }, { "name": "events subscription" } ], "paths": { "/partyInteraction": { "get": { "operationId": "listPartyInteraction", "summary": "List or find PartyInteraction objects", "description": "This operation list or find PartyInteraction entities", "tags": [ "partyInteraction" ], "parameters": [ { "name": "fields", "description": "Comma-separated properties to be provided in response", "required": false, "in": "query", "type": "string" }, { "name": "offset", "description": "Requested index for start of resources to be provided in response", "required": false, "in": "query", "type": "integer" }, { "name": "limit", "description": "Requested number of resources to be provided in response", "required": false, "in": "query", "type": "integer" } ], "responses": { "200": { "description": "Success", "headers": { "X-Result-Count": { "description": "Actual number of items returned in the response body", "type": "integer" }, "X-Total-Count": { "description": "Total number of items matching criteria", "type": "integer" } }, "schema": { "type": "array", "items": { "$ref": "#/definitions/PartyInteraction" } } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "post": { "operationId": "createPartyInteraction", "summary": "Creates a PartyInteraction", "description": "This operation creates a PartyInteraction entity.", "tags": [ "partyInteraction" ], "parameters": [ { "name": "partyInteraction", "description": "The PartyInteraction to be created", "required": true, "schema": { "$ref": "#/definitions/PartyInteraction_Create" }, "in": "body" } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/PartyInteraction" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/partyInteraction/{id}": { "get": { "operationId": "retrievePartyInteraction", "summary": "Retrieves a PartyInteraction by ID", "description": "This operation retrieves a PartyInteraction entity. Attribute selection is enabled for all first level attributes.", "tags": [ "partyInteraction" ], "parameters": [ { "name": "id", "description": "Identifier of the PartyInteraction", "required": true, "type": "string", "in": "path" }, { "name": "fields", "description": "Comma-separated properties to provide in response", "required": false, "type": "string", "in": "query" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/PartyInteraction" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "patch": { "operationId": "patchPartyInteraction", "summary": "Updates partially a PartyInteraction", "description": "This operation updates partially a PartyInteraction entity.", "tags": [ "partyInteraction" ], "parameters": [ { "name": "id", "description": "Identifier of the PartyInteraction", "required": true, "type": "string", "in": "path" }, { "name": "partyInteraction", "description": "The PartyInteraction to be updated", "required": true, "schema": { "$ref": "#/definitions/PartyInteraction_Update" }, "in": "body" } ], "responses": { "200": { "description": "Updated", "schema": { "$ref": "#/definitions/PartyInteraction" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } }, "delete": { "operationId": "deletePartyInteraction", "summary": "Deletes a PartyInteraction", "description": "This operation deletes a PartyInteraction entity.", "tags": [ "partyInteraction" ], "parameters": [ { "name": "id", "description": "Identifier of the PartyInteraction", "required": true, "type": "string", "in": "path" } ], "responses": { "204": { "description": "Deleted" }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/hub": { "post": { "operationId": "registerListener", "summary": "Register a listener", "description": "Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", "tags": [ "events subscription" ], "parameters": [ { "name": "data", "schema": { "$ref": "#/definitions/EventSubscriptionInput" }, "required": true, "in": "body", "description": "Data containing the callback endpoint to deliver the information" } ], "responses": { "201": { "description": "Subscribed", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/hub/{id}": { "delete": { "operationId": "unregisterListener", "summary": "Unregister a listener", "description": "Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.", "tags": [ "events subscription" ], "parameters": [ { "name": "id", "type": "string", "required": true, "in": "path", "description": "The id of the registered listener" } ], "responses": { "204": { "description": "Deleted" }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method not allowed", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/partyInteractionCreateEvent": { "post": { "operationId": "listenToPartyInteractionCreateEvent", "summary": "Client listener for entity PartyInteractionCreateEvent", "description": "Example of a client listener for receiving the notification PartyInteractionCreateEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/PartyInteractionCreateEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/partyInteractionAttributeValueChangeEvent": { "post": { "operationId": "listenToPartyInteractionAttributeValueChangeEvent", "summary": "Client listener for entity PartyInteractionAttributeValueChangeEvent", "description": "Example of a client listener for receiving the notification PartyInteractionAttributeValueChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/PartyInteractionAttributeValueChangeEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/partyInteractionDeleteEvent": { "post": { "operationId": "listenToPartyInteractionDeleteEvent", "summary": "Client listener for entity PartyInteractionDeleteEvent", "description": "Example of a client listener for receiving the notification PartyInteractionDeleteEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/PartyInteractionDeleteEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } }, "/listener/partyInteractionStatusChangeEvent": { "post": { "operationId": "listenToPartyInteractionStatusChangeEvent", "summary": "Client listener for entity PartyInteractionStatusChangeEvent", "description": "Example of a client listener for receiving the notification PartyInteractionStatusChangeEvent", "tags": [ "notification listeners (client side)" ], "parameters": [ { "name": "data", "required": true, "in": "body", "description": "The event data", "schema": { "$ref": "#/definitions/PartyInteractionStatusChangeEvent" } } ], "responses": { "201": { "description": "Notified", "schema": { "$ref": "#/definitions/EventSubscription" } }, "400": { "description": "Bad Request", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/Error" } }, "404": { "description": "Not Found", "schema": { "$ref": "#/definitions/Error" } }, "405": { "description": "Method Not allowed", "schema": { "$ref": "#/definitions/Error" } }, "409": { "description": "Conflict", "schema": { "$ref": "#/definitions/Error" } }, "500": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/Error" } } } } } }, "definitions": { "Attachment": { "type": "object", "description": "Complements the description of an element (for instance a product) through video, pictures...", "properties": { "id": { "type": "string", "description": "Unique identifier for this particular attachment" }, "href": { "type": "string", "description": "URI for this Attachment" }, "attachmentType": { "type": "string", "description": "Attachment type such as video, picture" }, "content": { "type": "string", "description": "The actual contents of the attachment object, if embedded, encoded as base64" }, "description": { "type": "string", "description": "A narrative text describing the content of the attachment" }, "mimeType": { "type": "string", "description": "Attachment mime type such as extension file for video, picture and document" }, "name": { "type": "string", "description": "The name of the attachment" }, "url": { "type": "string", "description": "Uniform Resource Locator, is a web page address (a subset of URI)" }, "size": { "$ref": "#/definitions/Quantity", "description": "The size of the attachment." }, "validFor": { "$ref": "#/definitions/TimePeriod", "description": "The period of time for which the attachment is valid" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "AttachmentRef": { "type": "object", "description": "Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures", "properties": { "id": { "type": "string", "description": "Unique-Identifier for this attachment" }, "href": { "type": "string", "description": "URL serving as reference for the attachment resource" }, "description": { "type": "string", "description": "A narrative text describing the content of the attachment" }, "name": { "type": "string", "description": "Name of the related entity." }, "url": { "type": "string", "description": "Link to the attachment media/content" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "AttachmentRefOrValue": { "type": "object", "description": "An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself", "properties": { "id": { "type": "string", "description": "Unique identifier for this particular attachment" }, "href": { "type": "string", "description": "URI for this Attachment" }, "attachmentType": { "type": "string", "description": "Attachment type such as video, picture" }, "content": { "type": "string", "description": "The actual contents of the attachment object, if embedded, encoded as base64" }, "description": { "type": "string", "description": "A narrative text describing the content of the attachment" }, "mimeType": { "type": "string", "description": "Attachment mime type such as extension file for video, picture and document" }, "name": { "type": "string", "description": "The name of the attachment" }, "url": { "type": "string", "description": "Uniform Resource Locator, is a web page address (a subset of URI)" }, "size": { "$ref": "#/definitions/Quantity", "description": "The size of the attachment." }, "validFor": { "$ref": "#/definitions/TimePeriod", "description": "The period of time for which the attachment is valid" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "EntityRef": { "type": "object", "description": "Entity reference schema to be use for all entityRef class.", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } }, "required": [ "id" ] }, "EntityValue": { "type": "object", "description": "Base entity value schema for use in TMForum Open-APIs", "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "InteractionItem": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the interaction item" }, "creationDate": { "type": "string", "format": "date-time", "description": "Date when the interaction item is created in the system" }, "reason": { "type": "string", "description": "Reason why this item is referred" }, "resolution": { "type": "string", "description": "Resolution of the interaction item" }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" }, "description": "Where the interaction took place (e.g.: web, mobile app, store, kiosk, etc.)" }, "item": { "$ref": "#/definitions/RelatedEntityRefOrValue", "description": "RelatedEntity defines a reference to any entity. It uses polymorphism in order to let the API client know how to treat the element, as the entity type is not known beforehand." }, "itemDate": { "$ref": "#/definitions/TimePeriod", "description": "Moment this item is referred" }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "InteractionRelationship": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the referenced party interaction" }, "href": { "type": "string", "description": "Hyperlink to access the referenced party interaction" }, "relationshipType": { "type": "string", "description": "Type of the interaction relationship" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "Note": { "type": "object", "description": "Extra information about a given entity", "properties": { "id": { "type": "string", "description": "Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation)" }, "author": { "type": "string", "description": "Author of the note" }, "date": { "type": "string", "format": "date-time", "description": "Date of the note" }, "text": { "type": "string", "description": "Text of the note" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PartyInteraction": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the party interaction" }, "href": { "type": "string", "description": "Hyperlink to access the party interaction" }, "creationDate": { "type": "string", "format": "date-time", "description": "Date when the interaction is created in the system" }, "description": { "type": "string", "description": "Description of the interaction" }, "direction": { "type": "string", "description": "Specifies who started the interaction. It might be the party or the enterprise exposing this API. Possible values are \u201cinbound\u201d and \u201coutbound\u201d" }, "reason": { "type": "string", "description": "Reason why the interaction happened" }, "status": { "type": "string", "description": "Status of the interaction (opened, inProgress, completed)" }, "statusChangeDate": { "type": "string", "format": "date-time", "description": "Last time the status changed" }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" }, "description": "Where the interaction took place (e.g. web, mobile app, store, kiosk, etc.)" }, "interactionDate": { "$ref": "#/definitions/TimePeriod", "description": "The period during which the interaction took place. Start and end will be different in case of a call or a store visit. They will be the same (or only one will appear) in case of a message or other momentary interactions." }, "interactionItem": { "type": "array", "items": { "$ref": "#/definitions/InteractionItem" } }, "interactionRelationship": { "type": "array", "items": { "$ref": "#/definitions/InteractionRelationship" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PartyInteraction_Create": { "type": "object", "description": "\nSkipped properties: id,href", "required": [ "interactionDate", "reason", "status", "direction", "channel" ], "properties": { "creationDate": { "type": "string", "format": "date-time", "description": "Date when the interaction is created in the system" }, "description": { "type": "string", "description": "Description of the interaction" }, "direction": { "type": "string", "description": "Specifies who started the interaction. It might be the party or the enterprise exposing this API. Possible values are \u201cinbound\u201d and \u201coutbound\u201d" }, "reason": { "type": "string", "description": "Reason why the interaction happened" }, "status": { "type": "string", "description": "Status of the interaction (opened, inProgress, completed)" }, "statusChangeDate": { "type": "string", "format": "date-time", "description": "Last time the status changed" }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" }, "minItems": 1, "description": "Where the interaction took place (e.g. web, mobile app, store, kiosk, etc.)" }, "interactionDate": { "$ref": "#/definitions/TimePeriod", "description": "The period during which the interaction took place. Start and end will be different in case of a call or a store visit. They will be the same (or only one will appear) in case of a message or other momentary interactions." }, "interactionItem": { "type": "array", "items": { "$ref": "#/definitions/InteractionItem" } }, "interactionRelationship": { "type": "array", "items": { "$ref": "#/definitions/InteractionRelationship" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PartyInteraction_Update": { "type": "object", "description": "\nSkipped properties: id,href,direction", "properties": { "creationDate": { "type": "string", "format": "date-time", "description": "Date when the interaction is created in the system" }, "description": { "type": "string", "description": "Description of the interaction" }, "reason": { "type": "string", "description": "Reason why the interaction happened" }, "status": { "type": "string", "description": "Status of the interaction (opened, inProgress, completed)" }, "statusChangeDate": { "type": "string", "format": "date-time", "description": "Last time the status changed" }, "attachment": { "type": "array", "items": { "$ref": "#/definitions/AttachmentRefOrValue" } }, "channel": { "type": "array", "items": { "$ref": "#/definitions/RelatedChannel" }, "description": "Where the interaction took place (e.g. web, mobile app, store, kiosk, etc.)" }, "interactionDate": { "$ref": "#/definitions/TimePeriod", "description": "The period during which the interaction took place. Start and end will be different in case of a call or a store visit. They will be the same (or only one will appear) in case of a message or other momentary interactions." }, "interactionItem": { "type": "array", "items": { "$ref": "#/definitions/InteractionItem" } }, "interactionRelationship": { "type": "array", "items": { "$ref": "#/definitions/InteractionRelationship" } }, "note": { "type": "array", "items": { "$ref": "#/definitions/Note" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/definitions/RelatedParty" } }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" } } }, "PartyInteractionStatusExampleType": { "type": "string", "description": "Possible values for the status of party interaction", "enum": [ "open", "inProgress", "completed" ] }, "Quantity": { "type": "object", "description": "An amount in a given unit", "properties": { "amount": { "default": 1, "type": "number", "format": "float", "description": "Numeric value in a given unit" }, "units": { "type": "string", "description": "Unit" } } }, "RelatedChannel": { "type": "object", "description": "Related channel to another entity. May be online web, mobile app, social ,etc.", "required": [ "id", "href" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the channel." }, "role": { "type": "string", "description": "Role playing by the channel." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "RelatedEntityRefOrValue": { "type": "object", "description": "A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself", "required": [ "role" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "role": { "type": "string" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "RelatedParty": { "type": "object", "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.", "required": [ "@referredType", "id", "href" ], "properties": { "id": { "type": "string", "description": "Unique identifier of a related entity." }, "href": { "type": "string", "description": "Reference of the related entity." }, "name": { "type": "string", "description": "Name of the related entity." }, "role": { "type": "string", "description": "Role played by the related party" }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class" }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name" }, "@referredType": { "type": "string", "description": "The actual type of the target instance when needed for disambiguation." } } }, "TimePeriod": { "type": "object", "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both", "properties": { "endDateTime": { "type": "string", "format": "date-time", "description": "End of the time period, using IETC-RFC-3339 format" }, "startDateTime": { "type": "string", "format": "date-time", "description": "Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end" } } }, "EventSubscription": { "type": "object", "description": "Sets the communication endpoint address the service instance must use to deliver notification information", "required": [ "id", "callback" ], "properties": { "id": { "type": "string", "description": "Id of the listener" }, "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } } }, "EventSubscriptionInput": { "type": "object", "description": "Sets the communication endpoint address the service instance must use to deliver notification information", "required": [ "callback" ], "properties": { "callback": { "type": "string", "description": "The callback being registered." }, "query": { "type": "string", "description": "additional data to be passed" } } }, "PartyInteractionCreateEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/PartyInteractionCreateEventPayload" } } }, "PartyInteractionCreateEventPayload": { "type": "object", "description": "The event data structure", "properties": { "partyInteraction": { "description": "The involved resource data for the event", "$ref": "#/definitions/PartyInteraction" } } }, "PartyInteractionAttributeValueChangeEvent": { "type": "object", "description": "The notification data structure", "properties": { "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "fieldPath": { "type": "string", "description": "The path identifying the object field concerned by this notification." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/PartyInteractionAttributeValueChangeEventPayload" } } }, "PartyInteractionAttributeValueChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "partyInteraction": { "description": "The involved resource data for the event", "$ref": "#/definitions/PartyInteraction" } } }, "PartyInteractionDeleteEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/PartyInteractionDeleteEventPayload" } } }, "PartyInteractionDeleteEventPayload": { "type": "object", "description": "The event data structure", "properties": { "partyInteraction": { "description": "The involved resource data for the event", "$ref": "#/definitions/PartyInteraction" } } }, "PartyInteractionStatusChangeEvent": { "type": "object", "description": "The notification data structure", "properties": { "id": { "type": "string", "description": "Identifier of the Process flow" }, "href": { "type": "string", "description": "Reference of the ProcessFlow" }, "eventId": { "type": "string", "description": "The identifier of the notification." }, "eventTime": { "type": "string", "format": "date-time", "description": "Time of the event occurrence." }, "eventType": { "type": "string", "description": "The type of the notification." }, "correlationId": { "type": "string", "description": "The correlation id for this event." }, "domain": { "type": "string", "description": "The domain of the event." }, "title": { "type": "string", "description": "The title of the event." }, "description": { "type": "string", "description": "An explnatory of the event." }, "priority": { "type": "string", "description": "A priority." }, "timeOcurred": { "type": "string", "format": "date-time", "description": "The time the event occured." }, "event": { "description": "The event payload linked to the involved resource object", "$ref": "#/definitions/PartyInteractionStatusChangeEventPayload" } } }, "PartyInteractionStatusChangeEventPayload": { "type": "object", "description": "The event data structure", "properties": { "partyInteraction": { "description": "The involved resource data for the event", "$ref": "#/definitions/PartyInteraction" } } }, "Error": { "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)", "type": "object", "required": [ "code", "reason" ], "properties": { "code": { "type": "string", "description": "Application relevant detail, defined in the API or a common list." }, "reason": { "type": "string", "description": "Explanation of the reason for the error which can be shown to a client user." }, "message": { "type": "string", "description": "More details and corrective actions related to the error which can be shown to a client user." }, "status": { "type": "string", "description": "HTTP Error code extension" }, "referenceError": { "type": "string", "format": "uri", "description": "URI of documentation describing the error." }, "@baseType": { "type": "string", "description": "When sub-classing, this defines the super-class." }, "@schemaLocation": { "type": "string", "format": "uri", "description": "A URI to a JSON-Schema file that defines additional attributes and relationships" }, "@type": { "type": "string", "description": "When sub-classing, this defines the sub-class entity name." } } } } }