github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_reply_assistant_entries.go (about) 1 /* 2 * Engage Digital API 3 * 4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 5 * 6 * API version: 1.0 7 * Generated by: OpenAPI Generator (https://openapi-generator.tech) 8 */ 9 10 package engagedigital 11 12 import ( 13 "context" 14 "fmt" 15 "github.com/antihax/optional" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "reflect" 20 "strings" 21 ) 22 23 // Linger please 24 var ( 25 _ context.Context 26 ) 27 28 type ReplyAssistantEntriesApiService service 29 30 /* 31 ReplyAssistantEntriesApiService Creating an entry 32 This method creates a reply assistant entry. In case of success it renders the entry, otherwise, it renders an error (422 HTTP code). Authorization: only users that have the right to manage reply assistant. 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param label The name of the entry. 35 @return ReplyAssistantEntry 36 */ 37 func (a *ReplyAssistantEntriesApiService) CreateReplyAssistantEntry(ctx context.Context, label string) (ReplyAssistantEntry, *http.Response, error) { 38 var ( 39 localVarHttpMethod = http.MethodPost 40 localVarPostBody interface{} 41 localVarFormFileName string 42 localVarFileName string 43 localVarFileBytes []byte 44 localVarReturnValue ReplyAssistantEntry 45 ) 46 47 // create path and map variables 48 localVarPath := a.client.cfg.BasePath + "/reply_assistant/entries" 49 50 localVarHeaderParams := make(map[string]string) 51 localVarQueryParams := url.Values{} 52 localVarFormParams := url.Values{} 53 54 localVarQueryParams.Add("label", parameterToString(label, "")) 55 // to determine the Content-Type header 56 localVarHttpContentTypes := []string{} 57 58 // set Content-Type header 59 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 60 if localVarHttpContentType != "" { 61 localVarHeaderParams["Content-Type"] = localVarHttpContentType 62 } 63 64 // to determine the Accept header 65 localVarHttpHeaderAccepts := []string{"application/json"} 66 67 // set Accept header 68 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 69 if localVarHttpHeaderAccept != "" { 70 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 71 } 72 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 73 if err != nil { 74 return localVarReturnValue, nil, err 75 } 76 77 localVarHttpResponse, err := a.client.callAPI(r) 78 if err != nil || localVarHttpResponse == nil { 79 return localVarReturnValue, localVarHttpResponse, err 80 } 81 82 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 83 localVarHttpResponse.Body.Close() 84 if err != nil { 85 return localVarReturnValue, localVarHttpResponse, err 86 } 87 88 if localVarHttpResponse.StatusCode >= 300 { 89 newErr := GenericOpenAPIError{ 90 body: localVarBody, 91 error: localVarHttpResponse.Status, 92 } 93 if localVarHttpResponse.StatusCode == 200 { 94 var v ReplyAssistantEntry 95 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 96 if err != nil { 97 newErr.error = err.Error() 98 return localVarReturnValue, localVarHttpResponse, newErr 99 } 100 newErr.model = v 101 return localVarReturnValue, localVarHttpResponse, newErr 102 } 103 return localVarReturnValue, localVarHttpResponse, newErr 104 } 105 106 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 107 if err != nil { 108 newErr := GenericOpenAPIError{ 109 body: localVarBody, 110 error: err.Error(), 111 } 112 return localVarReturnValue, localVarHttpResponse, newErr 113 } 114 115 return localVarReturnValue, localVarHttpResponse, nil 116 } 117 118 /* 119 ReplyAssistantEntriesApiService Deleting a reply assistant entry 120 This method destroys an existing entry. It renders the entry itself. It renders a 404 if id is invalid. Authorization: only users that have the right to manage reply assistant. 121 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 122 * @param replyAssistantEntryId 123 @return ReplyAssistantEntry 124 */ 125 func (a *ReplyAssistantEntriesApiService) DeleteReplyAssistantEntry(ctx context.Context, replyAssistantEntryId string) (ReplyAssistantEntry, *http.Response, error) { 126 var ( 127 localVarHttpMethod = http.MethodDelete 128 localVarPostBody interface{} 129 localVarFormFileName string 130 localVarFileName string 131 localVarFileBytes []byte 132 localVarReturnValue ReplyAssistantEntry 133 ) 134 135 // create path and map variables 136 localVarPath := a.client.cfg.BasePath + "/reply_assistant/entries/{replyAssistantEntryId}" 137 localVarPath = strings.Replace(localVarPath, "{"+"replyAssistantEntryId"+"}", fmt.Sprintf("%v", replyAssistantEntryId), -1) 138 139 localVarHeaderParams := make(map[string]string) 140 localVarQueryParams := url.Values{} 141 localVarFormParams := url.Values{} 142 143 // to determine the Content-Type header 144 localVarHttpContentTypes := []string{} 145 146 // set Content-Type header 147 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 148 if localVarHttpContentType != "" { 149 localVarHeaderParams["Content-Type"] = localVarHttpContentType 150 } 151 152 // to determine the Accept header 153 localVarHttpHeaderAccepts := []string{"application/json"} 154 155 // set Accept header 156 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 157 if localVarHttpHeaderAccept != "" { 158 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 159 } 160 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 161 if err != nil { 162 return localVarReturnValue, nil, err 163 } 164 165 localVarHttpResponse, err := a.client.callAPI(r) 166 if err != nil || localVarHttpResponse == nil { 167 return localVarReturnValue, localVarHttpResponse, err 168 } 169 170 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 171 localVarHttpResponse.Body.Close() 172 if err != nil { 173 return localVarReturnValue, localVarHttpResponse, err 174 } 175 176 if localVarHttpResponse.StatusCode >= 300 { 177 newErr := GenericOpenAPIError{ 178 body: localVarBody, 179 error: localVarHttpResponse.Status, 180 } 181 if localVarHttpResponse.StatusCode == 200 { 182 var v ReplyAssistantEntry 183 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 184 if err != nil { 185 newErr.error = err.Error() 186 return localVarReturnValue, localVarHttpResponse, newErr 187 } 188 newErr.model = v 189 return localVarReturnValue, localVarHttpResponse, newErr 190 } 191 return localVarReturnValue, localVarHttpResponse, newErr 192 } 193 194 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 195 if err != nil { 196 newErr := GenericOpenAPIError{ 197 body: localVarBody, 198 error: err.Error(), 199 } 200 return localVarReturnValue, localVarHttpResponse, newErr 201 } 202 203 return localVarReturnValue, localVarHttpResponse, nil 204 } 205 206 /* 207 ReplyAssistantEntriesApiService Getting all reply assistant entries 208 This method renders all entries ordered by creation date (ascending). Authorization: only users that have the right to manage reply assistant. 209 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 210 * @param optional nil or *GetAllReplyAssistantEntriesOpts - Optional Parameters: 211 * @param "Offset" (optional.Int32) - The record index to start. Default value is 0. 212 * @param "Limit" (optional.Int32) - The max number of records to return. Default value is 30, max value is 150. 213 @return GetAllReplyAssistantEntriesResponse 214 */ 215 216 type GetAllReplyAssistantEntriesOpts struct { 217 Offset optional.Int32 218 Limit optional.Int32 219 } 220 221 func (a *ReplyAssistantEntriesApiService) GetAllReplyAssistantEntries(ctx context.Context, localVarOptionals *GetAllReplyAssistantEntriesOpts) (GetAllReplyAssistantEntriesResponse, *http.Response, error) { 222 var ( 223 localVarHttpMethod = http.MethodGet 224 localVarPostBody interface{} 225 localVarFormFileName string 226 localVarFileName string 227 localVarFileBytes []byte 228 localVarReturnValue GetAllReplyAssistantEntriesResponse 229 ) 230 231 // create path and map variables 232 localVarPath := a.client.cfg.BasePath + "/reply_assistant/entries" 233 234 localVarHeaderParams := make(map[string]string) 235 localVarQueryParams := url.Values{} 236 localVarFormParams := url.Values{} 237 238 if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { 239 localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) 240 } 241 if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { 242 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) 243 } 244 // to determine the Content-Type header 245 localVarHttpContentTypes := []string{} 246 247 // set Content-Type header 248 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 249 if localVarHttpContentType != "" { 250 localVarHeaderParams["Content-Type"] = localVarHttpContentType 251 } 252 253 // to determine the Accept header 254 localVarHttpHeaderAccepts := []string{"application/json"} 255 256 // set Accept header 257 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 258 if localVarHttpHeaderAccept != "" { 259 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 260 } 261 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 262 if err != nil { 263 return localVarReturnValue, nil, err 264 } 265 266 localVarHttpResponse, err := a.client.callAPI(r) 267 if err != nil || localVarHttpResponse == nil { 268 return localVarReturnValue, localVarHttpResponse, err 269 } 270 271 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 272 localVarHttpResponse.Body.Close() 273 if err != nil { 274 return localVarReturnValue, localVarHttpResponse, err 275 } 276 277 if localVarHttpResponse.StatusCode >= 300 { 278 newErr := GenericOpenAPIError{ 279 body: localVarBody, 280 error: localVarHttpResponse.Status, 281 } 282 if localVarHttpResponse.StatusCode == 200 { 283 var v GetAllReplyAssistantEntriesResponse 284 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 285 if err != nil { 286 newErr.error = err.Error() 287 return localVarReturnValue, localVarHttpResponse, newErr 288 } 289 newErr.model = v 290 return localVarReturnValue, localVarHttpResponse, newErr 291 } 292 return localVarReturnValue, localVarHttpResponse, newErr 293 } 294 295 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 296 if err != nil { 297 newErr := GenericOpenAPIError{ 298 body: localVarBody, 299 error: err.Error(), 300 } 301 return localVarReturnValue, localVarHttpResponse, newErr 302 } 303 304 return localVarReturnValue, localVarHttpResponse, nil 305 } 306 307 /* 308 ReplyAssistantEntriesApiService Getting a reply assistant entry from its id 309 This method renders an entry from given id. Authorization: only users that have the right to manage reply assistant. 310 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 311 * @param replyAssistantEntryId 312 @return ReplyAssistantEntry 313 */ 314 func (a *ReplyAssistantEntriesApiService) GetReplyAssistantEntry(ctx context.Context, replyAssistantEntryId string) (ReplyAssistantEntry, *http.Response, error) { 315 var ( 316 localVarHttpMethod = http.MethodGet 317 localVarPostBody interface{} 318 localVarFormFileName string 319 localVarFileName string 320 localVarFileBytes []byte 321 localVarReturnValue ReplyAssistantEntry 322 ) 323 324 // create path and map variables 325 localVarPath := a.client.cfg.BasePath + "/reply_assistant/entries/{replyAssistantEntryId}" 326 localVarPath = strings.Replace(localVarPath, "{"+"replyAssistantEntryId"+"}", fmt.Sprintf("%v", replyAssistantEntryId), -1) 327 328 localVarHeaderParams := make(map[string]string) 329 localVarQueryParams := url.Values{} 330 localVarFormParams := url.Values{} 331 332 // to determine the Content-Type header 333 localVarHttpContentTypes := []string{} 334 335 // set Content-Type header 336 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 337 if localVarHttpContentType != "" { 338 localVarHeaderParams["Content-Type"] = localVarHttpContentType 339 } 340 341 // to determine the Accept header 342 localVarHttpHeaderAccepts := []string{"application/json"} 343 344 // set Accept header 345 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 346 if localVarHttpHeaderAccept != "" { 347 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 348 } 349 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 350 if err != nil { 351 return localVarReturnValue, nil, err 352 } 353 354 localVarHttpResponse, err := a.client.callAPI(r) 355 if err != nil || localVarHttpResponse == nil { 356 return localVarReturnValue, localVarHttpResponse, err 357 } 358 359 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 360 localVarHttpResponse.Body.Close() 361 if err != nil { 362 return localVarReturnValue, localVarHttpResponse, err 363 } 364 365 if localVarHttpResponse.StatusCode >= 300 { 366 newErr := GenericOpenAPIError{ 367 body: localVarBody, 368 error: localVarHttpResponse.Status, 369 } 370 if localVarHttpResponse.StatusCode == 200 { 371 var v ReplyAssistantEntry 372 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 373 if err != nil { 374 newErr.error = err.Error() 375 return localVarReturnValue, localVarHttpResponse, newErr 376 } 377 newErr.model = v 378 return localVarReturnValue, localVarHttpResponse, newErr 379 } 380 return localVarReturnValue, localVarHttpResponse, newErr 381 } 382 383 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 384 if err != nil { 385 newErr := GenericOpenAPIError{ 386 body: localVarBody, 387 error: err.Error(), 388 } 389 return localVarReturnValue, localVarHttpResponse, newErr 390 } 391 392 return localVarReturnValue, localVarHttpResponse, nil 393 } 394 395 /* 396 ReplyAssistantEntriesApiService Updating a reply assistant entry 397 This method updates an existing entry from given attributes and renders it in case of success. Authorization: only users that have the right to manage reply assistant. 398 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 399 * @param replyAssistantEntryId 400 * @param optional nil or *UpdateReplyAssistantEntryOpts - Optional Parameters: 401 * @param "Label" (optional.String) - The name of the entry. 402 * @param "ForeignId" (optional.String) - The internal/company id of the entry. This is used to match Engage Digital entry’s id with the company one. Example: KB042. 403 * @param "CategoryIds" (optional.Interface of []string) - To restrict the entry to a set of Engage Digital categories. Then, KB entries that do not match message’s categories to which you are replying will not be suggested. 404 * @param "Shortcuts" (optional.Interface of []string) - entry shortcuts 405 * @param "EntryGroupId" (optional.String) - Entry group id. 406 * @param "SourceIds" (optional.Interface of []string) - Source ids (array) 407 @return ReplyAssistantEntry 408 */ 409 410 type UpdateReplyAssistantEntryOpts struct { 411 Label optional.String 412 ForeignId optional.String 413 CategoryIds optional.Interface 414 Shortcuts optional.Interface 415 EntryGroupId optional.String 416 SourceIds optional.Interface 417 } 418 419 func (a *ReplyAssistantEntriesApiService) UpdateReplyAssistantEntry(ctx context.Context, replyAssistantEntryId string, localVarOptionals *UpdateReplyAssistantEntryOpts) (ReplyAssistantEntry, *http.Response, error) { 420 var ( 421 localVarHttpMethod = http.MethodPut 422 localVarPostBody interface{} 423 localVarFormFileName string 424 localVarFileName string 425 localVarFileBytes []byte 426 localVarReturnValue ReplyAssistantEntry 427 ) 428 429 // create path and map variables 430 localVarPath := a.client.cfg.BasePath + "/reply_assistant/entries/{replyAssistantEntryId}" 431 localVarPath = strings.Replace(localVarPath, "{"+"replyAssistantEntryId"+"}", fmt.Sprintf("%v", replyAssistantEntryId), -1) 432 433 localVarHeaderParams := make(map[string]string) 434 localVarQueryParams := url.Values{} 435 localVarFormParams := url.Values{} 436 437 if localVarOptionals != nil && localVarOptionals.Label.IsSet() { 438 localVarQueryParams.Add("label", parameterToString(localVarOptionals.Label.Value(), "")) 439 } 440 if localVarOptionals != nil && localVarOptionals.ForeignId.IsSet() { 441 localVarQueryParams.Add("foreign_id", parameterToString(localVarOptionals.ForeignId.Value(), "")) 442 } 443 if localVarOptionals != nil && localVarOptionals.CategoryIds.IsSet() { 444 t := localVarOptionals.CategoryIds.Value() 445 if reflect.TypeOf(t).Kind() == reflect.Slice { 446 s := reflect.ValueOf(t) 447 for i := 0; i < s.Len(); i++ { 448 localVarQueryParams.Add("category_ids[]", parameterToString(s.Index(i), "multi")) 449 } 450 } else { 451 localVarQueryParams.Add("category_ids[]", parameterToString(t, "multi")) 452 } 453 } 454 if localVarOptionals != nil && localVarOptionals.Shortcuts.IsSet() { 455 t := localVarOptionals.Shortcuts.Value() 456 if reflect.TypeOf(t).Kind() == reflect.Slice { 457 s := reflect.ValueOf(t) 458 for i := 0; i < s.Len(); i++ { 459 localVarQueryParams.Add("shortcuts[]", parameterToString(s.Index(i), "multi")) 460 } 461 } else { 462 localVarQueryParams.Add("shortcuts[]", parameterToString(t, "multi")) 463 } 464 } 465 if localVarOptionals != nil && localVarOptionals.EntryGroupId.IsSet() { 466 localVarQueryParams.Add("entry_group_id", parameterToString(localVarOptionals.EntryGroupId.Value(), "")) 467 } 468 if localVarOptionals != nil && localVarOptionals.SourceIds.IsSet() { 469 t := localVarOptionals.SourceIds.Value() 470 if reflect.TypeOf(t).Kind() == reflect.Slice { 471 s := reflect.ValueOf(t) 472 for i := 0; i < s.Len(); i++ { 473 localVarQueryParams.Add("source_ids[]", parameterToString(s.Index(i), "multi")) 474 } 475 } else { 476 localVarQueryParams.Add("source_ids[]", parameterToString(t, "multi")) 477 } 478 } 479 // to determine the Content-Type header 480 localVarHttpContentTypes := []string{} 481 482 // set Content-Type header 483 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 484 if localVarHttpContentType != "" { 485 localVarHeaderParams["Content-Type"] = localVarHttpContentType 486 } 487 488 // to determine the Accept header 489 localVarHttpHeaderAccepts := []string{"application/json"} 490 491 // set Accept header 492 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 493 if localVarHttpHeaderAccept != "" { 494 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 495 } 496 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 497 if err != nil { 498 return localVarReturnValue, nil, err 499 } 500 501 localVarHttpResponse, err := a.client.callAPI(r) 502 if err != nil || localVarHttpResponse == nil { 503 return localVarReturnValue, localVarHttpResponse, err 504 } 505 506 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 507 localVarHttpResponse.Body.Close() 508 if err != nil { 509 return localVarReturnValue, localVarHttpResponse, err 510 } 511 512 if localVarHttpResponse.StatusCode >= 300 { 513 newErr := GenericOpenAPIError{ 514 body: localVarBody, 515 error: localVarHttpResponse.Status, 516 } 517 if localVarHttpResponse.StatusCode == 200 { 518 var v ReplyAssistantEntry 519 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 520 if err != nil { 521 newErr.error = err.Error() 522 return localVarReturnValue, localVarHttpResponse, newErr 523 } 524 newErr.model = v 525 return localVarReturnValue, localVarHttpResponse, newErr 526 } 527 return localVarReturnValue, localVarHttpResponse, newErr 528 } 529 530 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 531 if err != nil { 532 newErr := GenericOpenAPIError{ 533 body: localVarBody, 534 error: err.Error(), 535 } 536 return localVarReturnValue, localVarHttpResponse, newErr 537 } 538 539 return localVarReturnValue, localVarHttpResponse, nil 540 }