egain-api-python 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- egain_api_python/__init__.py +17 -0
- egain_api_python/_hooks/__init__.py +5 -0
- egain_api_python/_hooks/registration.py +13 -0
- egain_api_python/_hooks/sdkhooks.py +76 -0
- egain_api_python/_hooks/types.py +112 -0
- egain_api_python/_version.py +15 -0
- egain_api_python/aiservices.py +23 -0
- egain_api_python/answers.py +281 -0
- egain_api_python/articlelists.py +469 -0
- egain_api_python/basesdk.py +368 -0
- egain_api_python/connectorssearchevents.py +537 -0
- egain_api_python/content.py +23 -0
- egain_api_python/errors/__init__.py +78 -0
- egain_api_python/errors/egaindefaulterror.py +40 -0
- egain_api_python/errors/egainerror.py +30 -0
- egain_api_python/errors/gethealthop.py +74 -0
- egain_api_python/errors/no_response_error.py +17 -0
- egain_api_python/errors/responsevalidationerror.py +27 -0
- egain_api_python/errors/schemas_wserrorcommon.py +51 -0
- egain_api_python/errors/wserrorcommon.py +49 -0
- egain_api_python/escalation.py +955 -0
- egain_api_python/export.py +487 -0
- egain_api_python/federatedsearchevent.py +287 -0
- egain_api_python/general.py +925 -0
- egain_api_python/guidedhelp.py +3373 -0
- egain_api_python/health.py +253 -0
- egain_api_python/httpclient.py +125 -0
- egain_api_python/import_.py +1161 -0
- egain_api_python/models/__init__.py +2136 -0
- egain_api_python/models/acceptghsolutionop.py +52 -0
- egain_api_python/models/acceptlanguage.py +23 -0
- egain_api_python/models/accessibleportal.py +37 -0
- egain_api_python/models/action.py +56 -0
- egain_api_python/models/actionsearch.py +92 -0
- egain_api_python/models/addasreferenceop.py +52 -0
- egain_api_python/models/addbookmarkop.py +43 -0
- egain_api_python/models/additionalsnippets.py +57 -0
- egain_api_python/models/addtoreplyop.py +52 -0
- egain_api_python/models/aisearchop.py +131 -0
- egain_api_python/models/aisearchresponse.py +67 -0
- egain_api_python/models/allaccessibleportals.py +28 -0
- egain_api_python/models/answer.py +21 -0
- egain_api_python/models/answeredquestion.py +125 -0
- egain_api_python/models/answerrange.py +41 -0
- egain_api_python/models/answersrequest.py +78 -0
- egain_api_python/models/answersresponse.py +93 -0
- egain_api_python/models/article.py +241 -0
- egain_api_python/models/articleactivitylink.py +62 -0
- egain_api_python/models/articleadditionalattributes.py +23 -0
- egain_api_python/models/articleaisearchresult.py +254 -0
- egain_api_python/models/articleattachment.py +44 -0
- egain_api_python/models/articlelist.py +48 -0
- egain_api_python/models/articlelistresult.py +38 -0
- egain_api_python/models/articlelistsresult.py +22 -0
- egain_api_python/models/articlepermissions.py +25 -0
- egain_api_python/models/articlepermissionsresult.py +27 -0
- egain_api_python/models/articlerating.py +51 -0
- egain_api_python/models/articleratingsresponse.py +28 -0
- egain_api_python/models/articleresult.py +159 -0
- egain_api_python/models/articleresultadditionalattributes.py +22 -0
- egain_api_python/models/articleresults.py +32 -0
- egain_api_python/models/articlesearchresult.py +243 -0
- egain_api_python/models/articlesearchresults.py +32 -0
- egain_api_python/models/articlesort.py +11 -0
- egain_api_python/models/articlesortorder.py +11 -0
- egain_api_python/models/articletype.py +56 -0
- egain_api_python/models/articlewitheditions.py +227 -0
- egain_api_python/models/attachment.py +31 -0
- egain_api_python/models/attachmentadditionalattributes.py +10 -0
- egain_api_python/models/attachmentcontent.py +57 -0
- egain_api_python/models/attachmentcontentresult.py +22 -0
- egain_api_python/models/attachmentforcreatesuggestion.py +25 -0
- egain_api_python/models/attachments.py +35 -0
- egain_api_python/models/attachmentsummary.py +37 -0
- egain_api_python/models/attachmentupload.py +20 -0
- egain_api_python/models/avertcustomerescalationop.py +44 -0
- egain_api_python/models/bookmark.py +57 -0
- egain_api_python/models/bookmarkresult.py +26 -0
- egain_api_python/models/bookmarkstatus.py +34 -0
- egain_api_python/models/case.py +158 -0
- egain_api_python/models/caseadditionalattributes.py +11 -0
- egain_api_python/models/caseanswer.py +21 -0
- egain_api_python/models/casebase.py +67 -0
- egain_api_python/models/casebaseresult.py +28 -0
- egain_api_python/models/casebasesearchsettings.py +26 -0
- egain_api_python/models/caselistresult.py +74 -0
- egain_api_python/models/caselistresults.py +28 -0
- egain_api_python/models/casequestion.py +16 -0
- egain_api_python/models/casequestiondetail.py +29 -0
- egain_api_python/models/casesearch.py +80 -0
- egain_api_python/models/clusterid.py +16 -0
- egain_api_python/models/clusterresult.py +37 -0
- egain_api_python/models/clusterresults.py +28 -0
- egain_api_python/models/comment.py +33 -0
- egain_api_python/models/comments.py +26 -0
- egain_api_python/models/completecustomerescalationop.py +44 -0
- egain_api_python/models/compliancearticleresult.py +166 -0
- egain_api_python/models/compliancearticleresultadditionalattributes.py +22 -0
- egain_api_python/models/compliancearticleresults.py +35 -0
- egain_api_python/models/complianceforarticle.py +59 -0
- egain_api_python/models/complyarticleop.py +40 -0
- egain_api_python/models/components_schemas_tag.py +25 -0
- egain_api_python/models/components_schemas_tagcategory.py +39 -0
- egain_api_python/models/components_schemas_taggroup.py +25 -0
- egain_api_python/models/configurableattribute.py +25 -0
- egain_api_python/models/configurableattributes.py +15 -0
- egain_api_python/models/contactperson.py +43 -0
- egain_api_python/models/contacts.py +21 -0
- egain_api_python/models/createbookmark.py +64 -0
- egain_api_python/models/createdby.py +37 -0
- egain_api_python/models/createfederatedsearchevent.py +85 -0
- egain_api_python/models/createfederatedsearchresulteventop.py +46 -0
- egain_api_python/models/createimportop.py +20 -0
- egain_api_python/models/createimportvalidationop.py +20 -0
- egain_api_python/models/createquickpick.py +34 -0
- egain_api_python/models/createquickpickop.py +55 -0
- egain_api_python/models/createsearchresulteventforconnectors.py +71 -0
- egain_api_python/models/createsearchresulteventforconnectorsop.py +48 -0
- egain_api_python/models/createsignedurlop.py +29 -0
- egain_api_python/models/createsuggestion.py +126 -0
- egain_api_python/models/createviewedsearchresulteventforconnectors.py +76 -0
- egain_api_python/models/createviewedsearchresultseventforconnectorsop.py +48 -0
- egain_api_python/models/customattribute.py +35 -0
- egain_api_python/models/deletebookmarkop.py +40 -0
- egain_api_python/models/deletesuggestionop.py +40 -0
- egain_api_python/models/department.py +21 -0
- egain_api_python/models/detailfield.py +32 -0
- egain_api_python/models/displayfield.py +27 -0
- egain_api_python/models/dynamiccluster.py +21 -0
- egain_api_python/models/dynamicsearch.py +40 -0
- egain_api_python/models/edition.py +79 -0
- egain_api_python/models/editionwithcontent.py +68 -0
- egain_api_python/models/email.py +21 -0
- egain_api_python/models/exportcontentop.py +14 -0
- egain_api_python/models/exportstatus.py +106 -0
- egain_api_python/models/exportstatusop.py +31 -0
- egain_api_python/models/feedbackarticleforsuggestion.py +34 -0
- egain_api_python/models/folderbreadcrumb.py +24 -0
- egain_api_python/models/foldersummary.py +29 -0
- egain_api_python/models/getacknowledgedcompliancearticlesop.py +119 -0
- egain_api_python/models/getallarticlelistsop.py +47 -0
- egain_api_python/models/getallcasebasesreleasesop.py +65 -0
- egain_api_python/models/getallcasesop.py +83 -0
- egain_api_python/models/getallportalsop.py +60 -0
- egain_api_python/models/getallprofilesinportalop.py +64 -0
- egain_api_python/models/getallquickpicksop.py +83 -0
- egain_api_python/models/getalltopicsop.py +132 -0
- egain_api_python/models/getalluserprofilesop.py +47 -0
- egain_api_python/models/getancestortopicsop.py +133 -0
- egain_api_python/models/getannouncementarticlesop.py +134 -0
- egain_api_python/models/getarticleattachmentbyidop.py +31 -0
- egain_api_python/models/getarticlebyidop.py +257 -0
- egain_api_python/models/getarticlebyidwitheditionsop.py +46 -0
- egain_api_python/models/getarticleeditiondetailsop.py +55 -0
- egain_api_python/models/getarticlelistdetailsop.py +115 -0
- egain_api_python/models/getarticlepermissionsbyidop.py +40 -0
- egain_api_python/models/getarticlepersonalizationop.py +73 -0
- egain_api_python/models/getarticleratingsop.py +74 -0
- egain_api_python/models/getarticlesintopicop.py +172 -0
- egain_api_python/models/getattachmentbyidinportalop.py +56 -0
- egain_api_python/models/getbookmarkop.py +31 -0
- egain_api_python/models/getcasebasereleasebyidop.py +64 -0
- egain_api_python/models/getcasebyidop.py +75 -0
- egain_api_python/models/getchildtopicsop.py +150 -0
- egain_api_python/models/getclusterbycasebasereleaseidop.py +74 -0
- egain_api_python/models/gethealthop.py +130 -0
- egain_api_python/models/getimportcontentop.py +46 -0
- egain_api_python/models/getmyportalsop.py +97 -0
- egain_api_python/models/getmysubscriptionop.py +115 -0
- egain_api_python/models/getpendingcompliancearticlesop.py +119 -0
- egain_api_python/models/getpopulararticlesop.py +133 -0
- egain_api_python/models/getportaldetailsbyidop.py +47 -0
- egain_api_python/models/getrelatedarticlesforsuggestionop.py +96 -0
- egain_api_python/models/getrelatedarticlesop.py +143 -0
- egain_api_python/models/getsuggestionattachmentbyidop.py +76 -0
- egain_api_python/models/getsuggestionattachmentsop.py +40 -0
- egain_api_python/models/getsuggestioncommentsop.py +40 -0
- egain_api_python/models/getsuggestionop.py +107 -0
- egain_api_python/models/gettagcategoriesforinterestforportalop.py +46 -0
- egain_api_python/models/gettopicbreadcrumbforarticleop.py +55 -0
- egain_api_python/models/getuserdetailsop.py +22 -0
- egain_api_python/models/getusermilestonesop.py +22 -0
- egain_api_python/models/ghsearchrequest.py +67 -0
- egain_api_python/models/ghsearchresult.py +75 -0
- egain_api_python/models/ghstepsearchrequest.py +64 -0
- egain_api_python/models/image.py +17 -0
- egain_api_python/models/importcontent.py +79 -0
- egain_api_python/models/importstatus.py +29 -0
- egain_api_python/models/kblanguage.py +63 -0
- egain_api_python/models/kblanguagecode.py +48 -0
- egain_api_python/models/kblanguages.py +22 -0
- egain_api_python/models/knowledgeexport.py +237 -0
- egain_api_python/models/l10nstring.py +22 -0
- egain_api_python/models/languagecode.py +39 -0
- egain_api_python/models/languagecode_parameter.py +39 -0
- egain_api_python/models/languagequeryparameter.py +39 -0
- egain_api_python/models/link.py +25 -0
- egain_api_python/models/makesuggestionop.py +44 -0
- egain_api_python/models/mandatorylanguagequeryparameter.py +38 -0
- egain_api_python/models/metadata.py +29 -0
- egain_api_python/models/milestone.py +21 -0
- egain_api_python/models/milestonename.py +26 -0
- egain_api_python/models/milestones.py +21 -0
- egain_api_python/models/modifiedby.py +37 -0
- egain_api_python/models/modifysuggestion.py +78 -0
- egain_api_python/models/modifysuggestionsop.py +44 -0
- egain_api_python/models/optionalarticleattributes.py +20 -0
- egain_api_python/models/order.py +10 -0
- egain_api_python/models/ownedby.py +37 -0
- egain_api_python/models/paginationinfo.py +32 -0
- egain_api_python/models/patchimportcontentvalidationop.py +46 -0
- egain_api_python/models/personalization.py +67 -0
- egain_api_python/models/phone.py +21 -0
- egain_api_python/models/portal.py +102 -0
- egain_api_python/models/portalresult.py +28 -0
- egain_api_python/models/portalsettings.py +398 -0
- egain_api_python/models/post_portalid_answersop.py +88 -0
- egain_api_python/models/post_portalid_retrieveop.py +88 -0
- egain_api_python/models/profile.py +26 -0
- egain_api_python/models/profileresult.py +24 -0
- egain_api_python/models/publishprofile.py +30 -0
- egain_api_python/models/publishview.py +38 -0
- egain_api_python/models/question.py +101 -0
- egain_api_python/models/questionandanswer.py +26 -0
- egain_api_python/models/quickpickrating.py +32 -0
- egain_api_python/models/quickpickresult.py +38 -0
- egain_api_python/models/quickpickresults.py +28 -0
- egain_api_python/models/ratearticleop.py +71 -0
- egain_api_python/models/referenceresponse.py +80 -0
- egain_api_python/models/rejectghsolutionop.py +52 -0
- egain_api_python/models/relatedquestions.py +28 -0
- egain_api_python/models/resourcetype_parameter.py +10 -0
- egain_api_python/models/restorequickpickop.py +63 -0
- egain_api_python/models/retrieverequest.py +47 -0
- egain_api_python/models/retrieveresponse.py +96 -0
- egain_api_python/models/role.py +26 -0
- egain_api_python/models/roletemplate.py +25 -0
- egain_api_python/models/schemas_answer.py +94 -0
- egain_api_python/models/schemas_customattribute.py +35 -0
- egain_api_python/models/schemas_link.py +27 -0
- egain_api_python/models/schemas_tag.py +21 -0
- egain_api_python/models/schemas_tagcategory.py +75 -0
- egain_api_python/models/schemas_taggroup.py +31 -0
- egain_api_python/models/schemas_tags.py +19 -0
- egain_api_python/models/schemas_wserrorcommon.py +17 -0
- egain_api_python/models/searchfilterattribute.py +61 -0
- egain_api_python/models/searchpriortoescalationop.py +108 -0
- egain_api_python/models/searchresult.py +101 -0
- egain_api_python/models/searchsuggestionop.py +93 -0
- egain_api_python/models/security.py +25 -0
- egain_api_python/models/selectuserprofileop.py +44 -0
- egain_api_python/models/sessioncontextvariable.py +17 -0
- egain_api_python/models/shorturl.py +32 -0
- egain_api_python/models/sortidname.py +10 -0
- egain_api_python/models/sortidnamedepartment.py +11 -0
- egain_api_python/models/stage.py +26 -0
- egain_api_python/models/startcustomerescalationop.py +66 -0
- egain_api_python/models/startescalationrequest.py +94 -0
- egain_api_python/models/startghsearchop.py +74 -0
- egain_api_python/models/startquestionandanswer.py +26 -0
- egain_api_python/models/stepghsearchop.py +62 -0
- egain_api_python/models/stringattributevalue.py +30 -0
- egain_api_python/models/structuredauthoringfields.py +33 -0
- egain_api_python/models/subscribearticleop.py +40 -0
- egain_api_python/models/suggestion.py +190 -0
- egain_api_python/models/suggestionadditionalattributes.py +11 -0
- egain_api_python/models/suggestionattachment.py +46 -0
- egain_api_python/models/suggestions.py +28 -0
- egain_api_python/models/tag.py +17 -0
- egain_api_python/models/tagcategoriesforinterest.py +22 -0
- egain_api_python/models/tagcategory.py +34 -0
- egain_api_python/models/taggroup.py +17 -0
- egain_api_python/models/taggroups.py +20 -0
- egain_api_python/models/tags.py +17 -0
- egain_api_python/models/topic.py +113 -0
- egain_api_python/models/topicadditionalattributes.py +20 -0
- egain_api_python/models/topicaisearchresult.py +67 -0
- egain_api_python/models/topicbreadcrumb.py +24 -0
- egain_api_python/models/topicresult.py +26 -0
- egain_api_python/models/topicsummary.py +31 -0
- egain_api_python/models/topictreenode.py +27 -0
- egain_api_python/models/topictreeresult.py +28 -0
- egain_api_python/models/unsubscribearticleop.py +55 -0
- egain_api_python/models/uploadattachmentop.py +36 -0
- egain_api_python/models/userdetails.py +44 -0
- egain_api_python/models/userprofile.py +33 -0
- egain_api_python/models/userprofiles.py +21 -0
- egain_api_python/models/userview.py +33 -0
- egain_api_python/models/validateimportcontent.py +58 -0
- egain_api_python/models/virtualcase.py +52 -0
- egain_api_python/models/workflow.py +21 -0
- egain_api_python/models/workflowmilestone.py +11 -0
- egain_api_python/models/wserrorcommon.py +17 -0
- egain_api_python/populararticles.py +287 -0
- egain_api_python/portal_article.py +4935 -0
- egain_api_python/portal_attachment.py +494 -0
- egain_api_python/portal_bookmark.py +707 -0
- egain_api_python/portal_sdk.py +88 -0
- egain_api_python/portal_suggestion.py +2283 -0
- egain_api_python/portal_topic.py +975 -0
- egain_api_python/portal_userdetails.py +211 -0
- egain_api_python/portal_userprofile.py +431 -0
- egain_api_python/py.typed +1 -0
- egain_api_python/retrieve.py +265 -0
- egain_api_python/sdk.py +216 -0
- egain_api_python/sdkconfiguration.py +50 -0
- egain_api_python/search.py +251 -0
- egain_api_python/types/__init__.py +21 -0
- egain_api_python/types/basemodel.py +39 -0
- egain_api_python/usermilestones.py +219 -0
- egain_api_python/utils/__init__.py +200 -0
- egain_api_python/utils/annotations.py +79 -0
- egain_api_python/utils/datetimes.py +23 -0
- egain_api_python/utils/enums.py +74 -0
- egain_api_python/utils/eventstreaming.py +248 -0
- egain_api_python/utils/forms.py +223 -0
- egain_api_python/utils/headers.py +136 -0
- egain_api_python/utils/logger.py +27 -0
- egain_api_python/utils/metadata.py +118 -0
- egain_api_python/utils/queryparams.py +205 -0
- egain_api_python/utils/requestbodies.py +66 -0
- egain_api_python/utils/retries.py +217 -0
- egain_api_python/utils/security.py +192 -0
- egain_api_python/utils/serializers.py +249 -0
- egain_api_python/utils/unmarshal_json_response.py +24 -0
- egain_api_python/utils/url.py +155 -0
- egain_api_python/utils/values.py +137 -0
- egain_api_python-0.1.1.dist-info/METADATA +827 -0
- egain_api_python-0.1.1.dist-info/RECORD +332 -0
- egain_api_python-0.1.1.dist-info/WHEEL +5 -0
- egain_api_python-0.1.1.dist-info/licenses/LICENSE +21 -0
- egain_api_python-0.1.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,398 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .configurableattributes import (
|
5
|
+
ConfigurableAttributes,
|
6
|
+
ConfigurableAttributesTypedDict,
|
7
|
+
)
|
8
|
+
from .searchfilterattribute import SearchFilterAttribute, SearchFilterAttributeTypedDict
|
9
|
+
from .tagcategoriesforinterest import (
|
10
|
+
TagCategoriesForInterest,
|
11
|
+
TagCategoriesForInterestTypedDict,
|
12
|
+
)
|
13
|
+
from egain_api_python.types import BaseModel
|
14
|
+
import pydantic
|
15
|
+
from typing import List, Literal, Optional
|
16
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
17
|
+
|
18
|
+
|
19
|
+
SearchLearningLevel = Literal[
|
20
|
+
0,
|
21
|
+
1,
|
22
|
+
2,
|
23
|
+
3,
|
24
|
+
4,
|
25
|
+
]
|
26
|
+
r"""Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom."""
|
27
|
+
|
28
|
+
|
29
|
+
class PortalSettingsTypedDict(TypedDict):
|
30
|
+
r"""The settings for this portal."""
|
31
|
+
|
32
|
+
is_annoucements_enabled: NotRequired[bool]
|
33
|
+
r"""Whether the announcements section is enabled on this portal."""
|
34
|
+
is_article_feedback_enabled: NotRequired[bool]
|
35
|
+
r"""Whether article feedback is allowed."""
|
36
|
+
is_article_feedback_comments_enabled: NotRequired[bool]
|
37
|
+
r"""Whether comments should be included in the feedback."""
|
38
|
+
is_article_feedback_summary_enabled: NotRequired[bool]
|
39
|
+
r"""Whether a summary of feedback ratings should be displayed."""
|
40
|
+
is_related_articles_in_same_topic_enabled: NotRequired[bool]
|
41
|
+
r"""Whether all articles in the same topic are automatically treated as related articles."""
|
42
|
+
is_related_articles_enabled: NotRequired[bool]
|
43
|
+
r"""Whether the related articles section is shown."""
|
44
|
+
is_authentication_required: NotRequired[bool]
|
45
|
+
r"""Whether the portal requires authentication for access."""
|
46
|
+
is_agents_sso_enabled: NotRequired[bool]
|
47
|
+
r"""Whether SSO is enabled for agents"""
|
48
|
+
is_agents_delegated_authentication_enabled: NotRequired[bool]
|
49
|
+
r"""Whether delegated authentication is enabled for agents"""
|
50
|
+
customer_profile_attributes: NotRequired[ConfigurableAttributesTypedDict]
|
51
|
+
is_popular_articles_list_enabled: NotRequired[bool]
|
52
|
+
r"""Whether the popular articles list is displayed. Maximum of 50 popular articles will be dislpayed."""
|
53
|
+
popular_articles_list_influence_weight: NotRequired[float]
|
54
|
+
r"""The weight assigned to the influence of related articles on the ranking of popular articles in the ranking formula."""
|
55
|
+
popular_articles_list_influence_period: NotRequired[int]
|
56
|
+
r"""The timeframe in days that related articles affect the ranking of popular articles in the ranking formula."""
|
57
|
+
append_session_journey_to_email: NotRequired[bool]
|
58
|
+
r"""Whether the session transcript should be appended to the email message."""
|
59
|
+
is_article_suggestions_before_escalation_enabled: NotRequired[bool]
|
60
|
+
r"""Whether a user is shown suggested articles before escalating."""
|
61
|
+
is_escalation_to_email_enabled: NotRequired[bool]
|
62
|
+
r"""Whether the user can ask a question via email if Guided Help doesn’t provide an answer, triggering a search before escalation."""
|
63
|
+
number_of_suggested_articles_before_escalation: NotRequired[int]
|
64
|
+
r"""The number of articles to show to a customer before escalation."""
|
65
|
+
is_gh_enabled: NotRequired[bool]
|
66
|
+
r"""Whether guided help is enabled."""
|
67
|
+
is_gh_in_search_results_enabled: NotRequired[bool]
|
68
|
+
r"""Whether to show guided help results in search results."""
|
69
|
+
is_gh_startup_questions_before_unanswered_questions_enabled: NotRequired[bool]
|
70
|
+
r"""Whether startup questions should be presented before unanswered questions in Guided Help."""
|
71
|
+
is_gh_details_for_search_enabled: NotRequired[bool]
|
72
|
+
r"""Whether additional information should be shown in search results."""
|
73
|
+
is_gh_short_name_in_search_enabled: NotRequired[bool]
|
74
|
+
r"""When enabled it shows the short names in results."""
|
75
|
+
is_gh_cluster_scope_diagnostics_enabled: NotRequired[bool]
|
76
|
+
r"""Whether to show Cluster scope diagnostics during execution."""
|
77
|
+
is_gh_results_shown_on_successful_search: NotRequired[bool]
|
78
|
+
r"""Whether to automatically display results on search success."""
|
79
|
+
is_gh_control_action_diagnostics_enabled: NotRequired[bool]
|
80
|
+
r"""isGHControlActionDiagnosticsEnabled"""
|
81
|
+
gh_failure_success_threshold: NotRequired[float]
|
82
|
+
r"""A value from range that indicates the failure-success score"""
|
83
|
+
max_gh_answered_questions: NotRequired[int]
|
84
|
+
r"""A value indicating the maximum number of answered questions."""
|
85
|
+
max_gh_unanswered_questions: NotRequired[int]
|
86
|
+
r"""A value indicating the maximum number of unanswered questions."""
|
87
|
+
max_gh_search_results: NotRequired[int]
|
88
|
+
r"""Maximum number of guided help results to return."""
|
89
|
+
is_search_autocomplete_enabled: NotRequired[bool]
|
90
|
+
r"""Whether the autocomplete interface should be enabled."""
|
91
|
+
is_web_search_enabled: NotRequired[bool]
|
92
|
+
r"""Whether web searches should be performed as part of multi-search."""
|
93
|
+
max_web_search_results: NotRequired[int]
|
94
|
+
r"""The maximum number of results from the web search to return."""
|
95
|
+
web_search_domain: NotRequired[str]
|
96
|
+
r"""Use this to restrict web search results to a specific domain."""
|
97
|
+
is_intranet_search_enabled: NotRequired[bool]
|
98
|
+
r"""Whether intranet results should be returned as part of multi-search."""
|
99
|
+
max_intranet_search_results: NotRequired[int]
|
100
|
+
r"""The maximum number of results from an intranet search to return."""
|
101
|
+
intranet_search_url: NotRequired[str]
|
102
|
+
r"""The URL for the Intranet Search."""
|
103
|
+
is_spellcheck_enabled: NotRequired[bool]
|
104
|
+
r"""Whether spell-correction should be performed on search queries. The corrected query is returned with the results, but is not automatically used."""
|
105
|
+
question_matching_engine_url: NotRequired[str]
|
106
|
+
r"""The URL for the question matching engine."""
|
107
|
+
is_custom_attributes_filtering_enabled: NotRequired[bool]
|
108
|
+
r"""Whether search results should be filtered by custom attribute values."""
|
109
|
+
custom_attributes_for_search_filter: NotRequired[
|
110
|
+
List[SearchFilterAttributeTypedDict]
|
111
|
+
]
|
112
|
+
search_learning_inclusion_threshold: NotRequired[int]
|
113
|
+
r"""The minimum number of accepts and rejects of an article before article ranking is affected."""
|
114
|
+
search_learning_influence: NotRequired[int]
|
115
|
+
r"""A ranking multiplier for learned scoring."""
|
116
|
+
search_learning_level: NotRequired[SearchLearningLevel]
|
117
|
+
r"""Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom."""
|
118
|
+
search_learning_max_influence: NotRequired[int]
|
119
|
+
r"""The maximum influence allowed for learned scoring."""
|
120
|
+
search_related_term_weight: NotRequired[float]
|
121
|
+
r"""The weight assigned to related terms during search."""
|
122
|
+
search_related_terms_min_results_threshold: NotRequired[int]
|
123
|
+
r"""If the number of search results is less than or equal to this value, a search with related terms will be used to fill in results."""
|
124
|
+
is_article_suggestions_enabled: NotRequired[bool]
|
125
|
+
r"""Whether users can make suggestions on an article."""
|
126
|
+
is_my_suggestions_enabled: NotRequired[bool]
|
127
|
+
r"""Whether a user can view their suggestions."""
|
128
|
+
is_captcha_enabled: NotRequired[bool]
|
129
|
+
r"""Whether CAPTCHA is enabled or not in the portal."""
|
130
|
+
captcha_site_key: NotRequired[str]
|
131
|
+
r"""The configured CAPTCHA site key."""
|
132
|
+
is_article_sharing_enabled: NotRequired[bool]
|
133
|
+
r"""Whether the article sharing is enabled."""
|
134
|
+
tag_categories_for_search_filter: NotRequired[TagCategoriesForInterestTypedDict]
|
135
|
+
|
136
|
+
|
137
|
+
class PortalSettings(BaseModel):
|
138
|
+
r"""The settings for this portal."""
|
139
|
+
|
140
|
+
is_annoucements_enabled: Annotated[
|
141
|
+
Optional[bool], pydantic.Field(alias="isAnnoucementsEnabled")
|
142
|
+
] = None
|
143
|
+
r"""Whether the announcements section is enabled on this portal."""
|
144
|
+
|
145
|
+
is_article_feedback_enabled: Annotated[
|
146
|
+
Optional[bool], pydantic.Field(alias="isArticleFeedbackEnabled")
|
147
|
+
] = None
|
148
|
+
r"""Whether article feedback is allowed."""
|
149
|
+
|
150
|
+
is_article_feedback_comments_enabled: Annotated[
|
151
|
+
Optional[bool], pydantic.Field(alias="isArticleFeedbackCommentsEnabled")
|
152
|
+
] = None
|
153
|
+
r"""Whether comments should be included in the feedback."""
|
154
|
+
|
155
|
+
is_article_feedback_summary_enabled: Annotated[
|
156
|
+
Optional[bool], pydantic.Field(alias="isArticleFeedbackSummaryEnabled")
|
157
|
+
] = None
|
158
|
+
r"""Whether a summary of feedback ratings should be displayed."""
|
159
|
+
|
160
|
+
is_related_articles_in_same_topic_enabled: Annotated[
|
161
|
+
Optional[bool], pydantic.Field(alias="isRelatedArticlesInSameTopicEnabled")
|
162
|
+
] = None
|
163
|
+
r"""Whether all articles in the same topic are automatically treated as related articles."""
|
164
|
+
|
165
|
+
is_related_articles_enabled: Annotated[
|
166
|
+
Optional[bool], pydantic.Field(alias="isRelatedArticlesEnabled")
|
167
|
+
] = None
|
168
|
+
r"""Whether the related articles section is shown."""
|
169
|
+
|
170
|
+
is_authentication_required: Annotated[
|
171
|
+
Optional[bool], pydantic.Field(alias="isAuthenticationRequired")
|
172
|
+
] = None
|
173
|
+
r"""Whether the portal requires authentication for access."""
|
174
|
+
|
175
|
+
is_agents_sso_enabled: Annotated[
|
176
|
+
Optional[bool], pydantic.Field(alias="isAgentsSSOEnabled")
|
177
|
+
] = None
|
178
|
+
r"""Whether SSO is enabled for agents"""
|
179
|
+
|
180
|
+
is_agents_delegated_authentication_enabled: Annotated[
|
181
|
+
Optional[bool], pydantic.Field(alias="isAgentsDelegatedAuthenticationEnabled")
|
182
|
+
] = None
|
183
|
+
r"""Whether delegated authentication is enabled for agents"""
|
184
|
+
|
185
|
+
customer_profile_attributes: Annotated[
|
186
|
+
Optional[ConfigurableAttributes],
|
187
|
+
pydantic.Field(alias="customerProfileAttributes"),
|
188
|
+
] = None
|
189
|
+
|
190
|
+
is_popular_articles_list_enabled: Annotated[
|
191
|
+
Optional[bool], pydantic.Field(alias="isPopularArticlesListEnabled")
|
192
|
+
] = None
|
193
|
+
r"""Whether the popular articles list is displayed. Maximum of 50 popular articles will be dislpayed."""
|
194
|
+
|
195
|
+
popular_articles_list_influence_weight: Annotated[
|
196
|
+
Optional[float], pydantic.Field(alias="popularArticlesListInfluenceWeight")
|
197
|
+
] = None
|
198
|
+
r"""The weight assigned to the influence of related articles on the ranking of popular articles in the ranking formula."""
|
199
|
+
|
200
|
+
popular_articles_list_influence_period: Annotated[
|
201
|
+
Optional[int], pydantic.Field(alias="popularArticlesListInfluencePeriod")
|
202
|
+
] = None
|
203
|
+
r"""The timeframe in days that related articles affect the ranking of popular articles in the ranking formula."""
|
204
|
+
|
205
|
+
append_session_journey_to_email: Annotated[
|
206
|
+
Optional[bool], pydantic.Field(alias="appendSessionJourneyToEmail")
|
207
|
+
] = None
|
208
|
+
r"""Whether the session transcript should be appended to the email message."""
|
209
|
+
|
210
|
+
is_article_suggestions_before_escalation_enabled: Annotated[
|
211
|
+
Optional[bool],
|
212
|
+
pydantic.Field(alias="isArticleSuggestionsBeforeEscalationEnabled"),
|
213
|
+
] = None
|
214
|
+
r"""Whether a user is shown suggested articles before escalating."""
|
215
|
+
|
216
|
+
is_escalation_to_email_enabled: Annotated[
|
217
|
+
Optional[bool], pydantic.Field(alias="isEscalationToEmailEnabled")
|
218
|
+
] = None
|
219
|
+
r"""Whether the user can ask a question via email if Guided Help doesn’t provide an answer, triggering a search before escalation."""
|
220
|
+
|
221
|
+
number_of_suggested_articles_before_escalation: Annotated[
|
222
|
+
Optional[int], pydantic.Field(alias="numberOfSuggestedArticlesBeforeEscalation")
|
223
|
+
] = None
|
224
|
+
r"""The number of articles to show to a customer before escalation."""
|
225
|
+
|
226
|
+
is_gh_enabled: Annotated[Optional[bool], pydantic.Field(alias="isGHEnabled")] = None
|
227
|
+
r"""Whether guided help is enabled."""
|
228
|
+
|
229
|
+
is_gh_in_search_results_enabled: Annotated[
|
230
|
+
Optional[bool], pydantic.Field(alias="isGHInSearchResultsEnabled")
|
231
|
+
] = None
|
232
|
+
r"""Whether to show guided help results in search results."""
|
233
|
+
|
234
|
+
is_gh_startup_questions_before_unanswered_questions_enabled: Annotated[
|
235
|
+
Optional[bool],
|
236
|
+
pydantic.Field(alias="isGHStartupQuestionsBeforeUnansweredQuestionsEnabled"),
|
237
|
+
] = None
|
238
|
+
r"""Whether startup questions should be presented before unanswered questions in Guided Help."""
|
239
|
+
|
240
|
+
is_gh_details_for_search_enabled: Annotated[
|
241
|
+
Optional[bool], pydantic.Field(alias="isGHDetailsForSearchEnabled")
|
242
|
+
] = None
|
243
|
+
r"""Whether additional information should be shown in search results."""
|
244
|
+
|
245
|
+
is_gh_short_name_in_search_enabled: Annotated[
|
246
|
+
Optional[bool], pydantic.Field(alias="isGHShortNameInSearchEnabled")
|
247
|
+
] = None
|
248
|
+
r"""When enabled it shows the short names in results."""
|
249
|
+
|
250
|
+
is_gh_cluster_scope_diagnostics_enabled: Annotated[
|
251
|
+
Optional[bool], pydantic.Field(alias="isGHClusterScopeDiagnosticsEnabled")
|
252
|
+
] = None
|
253
|
+
r"""Whether to show Cluster scope diagnostics during execution."""
|
254
|
+
|
255
|
+
is_gh_results_shown_on_successful_search: Annotated[
|
256
|
+
Optional[bool], pydantic.Field(alias="isGHResultsShownOnSuccessfulSearch")
|
257
|
+
] = None
|
258
|
+
r"""Whether to automatically display results on search success."""
|
259
|
+
|
260
|
+
is_gh_control_action_diagnostics_enabled: Annotated[
|
261
|
+
Optional[bool], pydantic.Field(alias="isGHControlActionDiagnosticsEnabled")
|
262
|
+
] = None
|
263
|
+
r"""isGHControlActionDiagnosticsEnabled"""
|
264
|
+
|
265
|
+
gh_failure_success_threshold: Annotated[
|
266
|
+
Optional[float], pydantic.Field(alias="GHFailureSuccessThreshold")
|
267
|
+
] = None
|
268
|
+
r"""A value from range that indicates the failure-success score"""
|
269
|
+
|
270
|
+
max_gh_answered_questions: Annotated[
|
271
|
+
Optional[int], pydantic.Field(alias="maxGHAnsweredQuestions")
|
272
|
+
] = None
|
273
|
+
r"""A value indicating the maximum number of answered questions."""
|
274
|
+
|
275
|
+
max_gh_unanswered_questions: Annotated[
|
276
|
+
Optional[int], pydantic.Field(alias="maxGHUnansweredQuestions")
|
277
|
+
] = None
|
278
|
+
r"""A value indicating the maximum number of unanswered questions."""
|
279
|
+
|
280
|
+
max_gh_search_results: Annotated[
|
281
|
+
Optional[int], pydantic.Field(alias="maxGHSearchResults")
|
282
|
+
] = None
|
283
|
+
r"""Maximum number of guided help results to return."""
|
284
|
+
|
285
|
+
is_search_autocomplete_enabled: Annotated[
|
286
|
+
Optional[bool], pydantic.Field(alias="isSearchAutocompleteEnabled")
|
287
|
+
] = None
|
288
|
+
r"""Whether the autocomplete interface should be enabled."""
|
289
|
+
|
290
|
+
is_web_search_enabled: Annotated[
|
291
|
+
Optional[bool], pydantic.Field(alias="isWebSearchEnabled")
|
292
|
+
] = None
|
293
|
+
r"""Whether web searches should be performed as part of multi-search."""
|
294
|
+
|
295
|
+
max_web_search_results: Annotated[
|
296
|
+
Optional[int], pydantic.Field(alias="maxWebSearchResults")
|
297
|
+
] = None
|
298
|
+
r"""The maximum number of results from the web search to return."""
|
299
|
+
|
300
|
+
web_search_domain: Annotated[
|
301
|
+
Optional[str], pydantic.Field(alias="webSearchDomain")
|
302
|
+
] = None
|
303
|
+
r"""Use this to restrict web search results to a specific domain."""
|
304
|
+
|
305
|
+
is_intranet_search_enabled: Annotated[
|
306
|
+
Optional[bool], pydantic.Field(alias="isIntranetSearchEnabled")
|
307
|
+
] = None
|
308
|
+
r"""Whether intranet results should be returned as part of multi-search."""
|
309
|
+
|
310
|
+
max_intranet_search_results: Annotated[
|
311
|
+
Optional[int], pydantic.Field(alias="maxIntranetSearchResults")
|
312
|
+
] = None
|
313
|
+
r"""The maximum number of results from an intranet search to return."""
|
314
|
+
|
315
|
+
intranet_search_url: Annotated[
|
316
|
+
Optional[str], pydantic.Field(alias="intranetSearchURL")
|
317
|
+
] = None
|
318
|
+
r"""The URL for the Intranet Search."""
|
319
|
+
|
320
|
+
is_spellcheck_enabled: Annotated[
|
321
|
+
Optional[bool], pydantic.Field(alias="isSpellcheckEnabled")
|
322
|
+
] = None
|
323
|
+
r"""Whether spell-correction should be performed on search queries. The corrected query is returned with the results, but is not automatically used."""
|
324
|
+
|
325
|
+
question_matching_engine_url: Annotated[
|
326
|
+
Optional[str], pydantic.Field(alias="questionMatchingEngineURL")
|
327
|
+
] = None
|
328
|
+
r"""The URL for the question matching engine."""
|
329
|
+
|
330
|
+
is_custom_attributes_filtering_enabled: Annotated[
|
331
|
+
Optional[bool], pydantic.Field(alias="isCustomAttributesFilteringEnabled")
|
332
|
+
] = None
|
333
|
+
r"""Whether search results should be filtered by custom attribute values."""
|
334
|
+
|
335
|
+
custom_attributes_for_search_filter: Annotated[
|
336
|
+
Optional[List[SearchFilterAttribute]],
|
337
|
+
pydantic.Field(alias="customAttributesForSearchFilter"),
|
338
|
+
] = None
|
339
|
+
|
340
|
+
search_learning_inclusion_threshold: Annotated[
|
341
|
+
Optional[int], pydantic.Field(alias="searchLearningInclusionThreshold")
|
342
|
+
] = None
|
343
|
+
r"""The minimum number of accepts and rejects of an article before article ranking is affected."""
|
344
|
+
|
345
|
+
search_learning_influence: Annotated[
|
346
|
+
Optional[int], pydantic.Field(alias="searchLearningInfluence")
|
347
|
+
] = None
|
348
|
+
r"""A ranking multiplier for learned scoring."""
|
349
|
+
|
350
|
+
search_learning_level: Annotated[
|
351
|
+
Optional[SearchLearningLevel], pydantic.Field(alias="searchLearningLevel")
|
352
|
+
] = None
|
353
|
+
r"""Affects the influence of learning on search rankings. 0 = off, 1 = low, 2 = medium, 3 = high, 4 = custom."""
|
354
|
+
|
355
|
+
search_learning_max_influence: Annotated[
|
356
|
+
Optional[int], pydantic.Field(alias="searchLearningMaxInfluence")
|
357
|
+
] = None
|
358
|
+
r"""The maximum influence allowed for learned scoring."""
|
359
|
+
|
360
|
+
search_related_term_weight: Annotated[
|
361
|
+
Optional[float], pydantic.Field(alias="searchRelatedTermWeight")
|
362
|
+
] = None
|
363
|
+
r"""The weight assigned to related terms during search."""
|
364
|
+
|
365
|
+
search_related_terms_min_results_threshold: Annotated[
|
366
|
+
Optional[int], pydantic.Field(alias="searchRelatedTermsMinResultsThreshold")
|
367
|
+
] = None
|
368
|
+
r"""If the number of search results is less than or equal to this value, a search with related terms will be used to fill in results."""
|
369
|
+
|
370
|
+
is_article_suggestions_enabled: Annotated[
|
371
|
+
Optional[bool], pydantic.Field(alias="isArticleSuggestionsEnabled")
|
372
|
+
] = None
|
373
|
+
r"""Whether users can make suggestions on an article."""
|
374
|
+
|
375
|
+
is_my_suggestions_enabled: Annotated[
|
376
|
+
Optional[bool], pydantic.Field(alias="isMySuggestionsEnabled")
|
377
|
+
] = None
|
378
|
+
r"""Whether a user can view their suggestions."""
|
379
|
+
|
380
|
+
is_captcha_enabled: Annotated[
|
381
|
+
Optional[bool], pydantic.Field(alias="isCaptchaEnabled")
|
382
|
+
] = None
|
383
|
+
r"""Whether CAPTCHA is enabled or not in the portal."""
|
384
|
+
|
385
|
+
captcha_site_key: Annotated[
|
386
|
+
Optional[str], pydantic.Field(alias="captchaSiteKey")
|
387
|
+
] = None
|
388
|
+
r"""The configured CAPTCHA site key."""
|
389
|
+
|
390
|
+
is_article_sharing_enabled: Annotated[
|
391
|
+
Optional[bool], pydantic.Field(alias="isArticleSharingEnabled")
|
392
|
+
] = None
|
393
|
+
r"""Whether the article sharing is enabled."""
|
394
|
+
|
395
|
+
tag_categories_for_search_filter: Annotated[
|
396
|
+
Optional[TagCategoriesForInterest],
|
397
|
+
pydantic.Field(alias="tagCategoriesForSearchFilter"),
|
398
|
+
] = None
|
@@ -0,0 +1,88 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .answersrequest import AnswersRequest, AnswersRequestTypedDict
|
5
|
+
from .languagecode_parameter import LanguageCodeParameter
|
6
|
+
from egain_api_python.types import BaseModel
|
7
|
+
from egain_api_python.utils import (
|
8
|
+
FieldMetadata,
|
9
|
+
PathParamMetadata,
|
10
|
+
QueryParamMetadata,
|
11
|
+
RequestMetadata,
|
12
|
+
)
|
13
|
+
import pydantic
|
14
|
+
from typing import Dict, List, Optional
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
16
|
+
|
17
|
+
|
18
|
+
POST_PORTAL_ID_ANSWERS_OP_SERVERS = [
|
19
|
+
# aiservices
|
20
|
+
"https://${API_DOMAIN}/core/aiservices/v4",
|
21
|
+
]
|
22
|
+
|
23
|
+
|
24
|
+
class PostPortalIDAnswersRequestTypedDict(TypedDict):
|
25
|
+
q: str
|
26
|
+
r"""The search query string. The string must be escaped as required by the URL syntax rules."""
|
27
|
+
portal_id: str
|
28
|
+
r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
29
|
+
dollar_filter_user_profile_id: NotRequired[str]
|
30
|
+
language: NotRequired[LanguageCodeParameter]
|
31
|
+
r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
|
32
|
+
dollar_filter_tags: NotRequired[Dict[str, List[str]]]
|
33
|
+
r"""An object where each key is a **Category Tag ID** (numeric string),
|
34
|
+
and each value is an array of **Tag IDs** for that category.
|
35
|
+
|
36
|
+
"""
|
37
|
+
dollar_filter_topic_ids: NotRequired[List[str]]
|
38
|
+
r"""An array of topic IDs. It is used to restrict search results to specific topics."""
|
39
|
+
answers_request: NotRequired[AnswersRequestTypedDict]
|
40
|
+
|
41
|
+
|
42
|
+
class PostPortalIDAnswersRequest(BaseModel):
|
43
|
+
q: Annotated[
|
44
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
45
|
+
]
|
46
|
+
r"""The search query string. The string must be escaped as required by the URL syntax rules."""
|
47
|
+
|
48
|
+
portal_id: Annotated[
|
49
|
+
str,
|
50
|
+
pydantic.Field(alias="portalID"),
|
51
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
52
|
+
]
|
53
|
+
r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
54
|
+
|
55
|
+
dollar_filter_user_profile_id: Annotated[
|
56
|
+
Optional[str],
|
57
|
+
pydantic.Field(alias="$filter[userProfileID]"),
|
58
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
59
|
+
] = None
|
60
|
+
|
61
|
+
language: Annotated[
|
62
|
+
Optional[LanguageCodeParameter],
|
63
|
+
pydantic.Field(alias="$lang"),
|
64
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
65
|
+
] = None
|
66
|
+
r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
|
67
|
+
|
68
|
+
dollar_filter_tags: Annotated[
|
69
|
+
Optional[Dict[str, List[str]]],
|
70
|
+
pydantic.Field(alias="$filter[tags]"),
|
71
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
72
|
+
] = None
|
73
|
+
r"""An object where each key is a **Category Tag ID** (numeric string),
|
74
|
+
and each value is an array of **Tag IDs** for that category.
|
75
|
+
|
76
|
+
"""
|
77
|
+
|
78
|
+
dollar_filter_topic_ids: Annotated[
|
79
|
+
Optional[List[str]],
|
80
|
+
pydantic.Field(alias="$filter[topicIds]"),
|
81
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
82
|
+
] = None
|
83
|
+
r"""An array of topic IDs. It is used to restrict search results to specific topics."""
|
84
|
+
|
85
|
+
answers_request: Annotated[
|
86
|
+
Optional[AnswersRequest],
|
87
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
88
|
+
] = None
|
@@ -0,0 +1,88 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .languagecode_parameter import LanguageCodeParameter
|
5
|
+
from .retrieverequest import RetrieveRequest, RetrieveRequestTypedDict
|
6
|
+
from egain_api_python.types import BaseModel
|
7
|
+
from egain_api_python.utils import (
|
8
|
+
FieldMetadata,
|
9
|
+
PathParamMetadata,
|
10
|
+
QueryParamMetadata,
|
11
|
+
RequestMetadata,
|
12
|
+
)
|
13
|
+
import pydantic
|
14
|
+
from typing import Dict, List, Optional
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
16
|
+
|
17
|
+
|
18
|
+
POST_PORTAL_ID_RETRIEVE_OP_SERVERS = [
|
19
|
+
# aiservices
|
20
|
+
"https://${API_DOMAIN}/core/aiservices/v4",
|
21
|
+
]
|
22
|
+
|
23
|
+
|
24
|
+
class PostPortalIDRetrieveRequestTypedDict(TypedDict):
|
25
|
+
q: str
|
26
|
+
r"""The search query string. The string must be escaped as required by the URL syntax rules."""
|
27
|
+
portal_id: str
|
28
|
+
r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
29
|
+
dollar_filter_user_profile_id: NotRequired[str]
|
30
|
+
language: NotRequired[LanguageCodeParameter]
|
31
|
+
r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
|
32
|
+
dollar_filter_tags: NotRequired[Dict[str, List[str]]]
|
33
|
+
r"""An object where each key is a **Category Tag ID** (numeric string),
|
34
|
+
and each value is an array of **Tag IDs** for that category.
|
35
|
+
|
36
|
+
"""
|
37
|
+
dollar_filter_topic_ids: NotRequired[List[str]]
|
38
|
+
r"""An array of topic IDs. It is used to restrict search results to specific topics."""
|
39
|
+
retrieve_request: NotRequired[RetrieveRequestTypedDict]
|
40
|
+
|
41
|
+
|
42
|
+
class PostPortalIDRetrieveRequest(BaseModel):
|
43
|
+
q: Annotated[
|
44
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
45
|
+
]
|
46
|
+
r"""The search query string. The string must be escaped as required by the URL syntax rules."""
|
47
|
+
|
48
|
+
portal_id: Annotated[
|
49
|
+
str,
|
50
|
+
pydantic.Field(alias="portalID"),
|
51
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
52
|
+
]
|
53
|
+
r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
54
|
+
|
55
|
+
dollar_filter_user_profile_id: Annotated[
|
56
|
+
Optional[str],
|
57
|
+
pydantic.Field(alias="$filter[userProfileID]"),
|
58
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
59
|
+
] = None
|
60
|
+
|
61
|
+
language: Annotated[
|
62
|
+
Optional[LanguageCodeParameter],
|
63
|
+
pydantic.Field(alias="$lang"),
|
64
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
65
|
+
] = None
|
66
|
+
r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
|
67
|
+
|
68
|
+
dollar_filter_tags: Annotated[
|
69
|
+
Optional[Dict[str, List[str]]],
|
70
|
+
pydantic.Field(alias="$filter[tags]"),
|
71
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
72
|
+
] = None
|
73
|
+
r"""An object where each key is a **Category Tag ID** (numeric string),
|
74
|
+
and each value is an array of **Tag IDs** for that category.
|
75
|
+
|
76
|
+
"""
|
77
|
+
|
78
|
+
dollar_filter_topic_ids: Annotated[
|
79
|
+
Optional[List[str]],
|
80
|
+
pydantic.Field(alias="$filter[topicIds]"),
|
81
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
82
|
+
] = None
|
83
|
+
r"""An array of topic IDs. It is used to restrict search results to specific topics."""
|
84
|
+
|
85
|
+
retrieve_request: Annotated[
|
86
|
+
Optional[RetrieveRequest],
|
87
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
88
|
+
] = None
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from egain_api_python.types import BaseModel
|
5
|
+
from typing_extensions import TypedDict
|
6
|
+
|
7
|
+
|
8
|
+
class ProfileTypedDict(TypedDict):
|
9
|
+
id: str
|
10
|
+
r"""The ID of the guided help profile.<br>
|
11
|
+
1 will always be the **system profile**.
|
12
|
+
|
13
|
+
"""
|
14
|
+
name: str
|
15
|
+
r"""Name of the profile"""
|
16
|
+
|
17
|
+
|
18
|
+
class Profile(BaseModel):
|
19
|
+
id: str
|
20
|
+
r"""The ID of the guided help profile.<br>
|
21
|
+
1 will always be the **system profile**.
|
22
|
+
|
23
|
+
"""
|
24
|
+
|
25
|
+
name: str
|
26
|
+
r"""Name of the profile"""
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .paginationinfo import PaginationInfo, PaginationInfoTypedDict
|
5
|
+
from .profile import Profile, ProfileTypedDict
|
6
|
+
from egain_api_python.types import BaseModel
|
7
|
+
import pydantic
|
8
|
+
from typing import List, Optional
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
10
|
+
|
11
|
+
|
12
|
+
class ProfileResultTypedDict(TypedDict):
|
13
|
+
profile: NotRequired[List[ProfileTypedDict]]
|
14
|
+
r"""profiles"""
|
15
|
+
pagination_info: NotRequired[PaginationInfoTypedDict]
|
16
|
+
|
17
|
+
|
18
|
+
class ProfileResult(BaseModel):
|
19
|
+
profile: Optional[List[Profile]] = None
|
20
|
+
r"""profiles"""
|
21
|
+
|
22
|
+
pagination_info: Annotated[
|
23
|
+
Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
|
24
|
+
] = None
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from egain_api_python.types import BaseModel
|
5
|
+
from typing_extensions import TypedDict
|
6
|
+
|
7
|
+
|
8
|
+
class PublishProfileTypedDict(TypedDict):
|
9
|
+
r"""This schema contains information about Profile."""
|
10
|
+
|
11
|
+
id: str
|
12
|
+
r"""The ID of the guided help profile.<br>
|
13
|
+
1 will always be the **system profile**.
|
14
|
+
|
15
|
+
"""
|
16
|
+
name: str
|
17
|
+
r"""The name of the profile."""
|
18
|
+
|
19
|
+
|
20
|
+
class PublishProfile(BaseModel):
|
21
|
+
r"""This schema contains information about Profile."""
|
22
|
+
|
23
|
+
id: str
|
24
|
+
r"""The ID of the guided help profile.<br>
|
25
|
+
1 will always be the **system profile**.
|
26
|
+
|
27
|
+
"""
|
28
|
+
|
29
|
+
name: str
|
30
|
+
r"""The name of the profile."""
|