github.com/grokify/go-ringcentral-client@v0.3.31/codegen/specs-engagedigital_v3.0.0/openapi-spec_contents.json (about) 1 { 2 "openapi":"3.0.0", 3 "info":{ 4 "description":"", 5 "version":"1.0", 6 "title":"Engage Digital API", 7 "termsOfService":"https://developer.ringcentral.com" 8 }, 9 "tags":[ 10 { 11 "name":"Contents" 12 } 13 ], 14 "paths":{ 15 "/contents":{ 16 "get":{ 17 "tags":[ 18 "Contents" 19 ], 20 "summary":"Contents", 21 "operationId":"getAllContents", 22 "description":"This method renders contents ordered by creation date (descending). Only contents in sources where token’s user has “read” permission are returned.\n\nAuthorization: no.", 23 "parameters":[ 24 { 25 "name":"q", 26 "in":"query", 27 "description":"To filter contents on given query. Query works exactly like threads query but only have those keywords: intervention,identity, identity_group, source, status_in, thread or text. Order can be created_at.desc (default) or created_at.asc. e.g. q=intervention:\"7f946431b6eebffafae642cc\"%20source:\"d19c81948c137d86dac77216\" Please refer to Search & filtering parameters for more details.", 28 "required":false, 29 "schema":{ 30 "type":"string" 31 } 32 }, 33 { 34 "name":"offset", 35 "in":"query", 36 "description":"The record index to start. Default value is 0.", 37 "required":false, 38 "schema":{ 39 "type":"integer", 40 "format":"int32" 41 } 42 }, 43 { 44 "name":"limit", 45 "in":"query", 46 "description":"The max number of records to return. Default value is 30, max value is 150.", 47 "required":false, 48 "schema":{ 49 "type":"integer", 50 "format":"int32" 51 } 52 } 53 ], 54 "responses":{ 55 "200":{ 56 "description":"Success", 57 "content":{ 58 "application/json":{ 59 "schema":{ 60 "$ref":"#/components/schemas/GetAllContentsResponse" 61 } 62 } 63 } 64 } 65 } 66 }, 67 "post":{ 68 "tags":[ 69 "Contents" 70 ], 71 "summary":"Creating a content", 72 "operationId":"createContent", 73 "description":"This method allows you to create an new content. It can be a reply to another content or a content that initiate discussion. It use token’s user as content user if he is authorized. Content will be created in Dimelo Digital and pushed asynchronously to the source.\n\nReplying to a customer content is usually possible (unless the source/conversation is read only).\n\nComposing a content on the contrary depend on the source itself:\n* The source may not support it (and be purely reactive like Instagram, Messenger ...)\n* Some sources (usually public account) like Twitter or Facebook page allows to publish content without targeting specific individuals.\n* Some sources (usually non public media) require specific targeting (phone number for SMS, email address for email, customer_id ...) to be able to create a content. This is source specific and detailed under the generic parameters.\n\nAuthorization: only users that can reply or initiate discussion (= compose) on given source. it renders also an error if in_reply_to isn’t synchronized or if in_reply_to content is not under an open intervention.", 74 "parameters":[ 75 { 76 "name":"author_id", 77 "description":"The identity id of content. This parameter is not mandatory, by default it use the token’s user first identity on source.", 78 "in":"query", 79 "required":false, 80 "schema":{ 81 "type":"string" 82 } 83 }, 84 { 85 "name":"body", 86 "description":"The content’s body. This parameter is mandatory.", 87 "in":"query", 88 "required":true, 89 "schema":{ 90 "type":"string" 91 } 92 }, 93 { 94 "name":"in_reply_to_id", 95 "description":"The content’s id you want to reply to. If omitted, a new discussion will be created. If source does not support to initiate discussion this parameter is mandatory.", 96 "in":"query", 97 "required":false, 98 "schema":{ 99 "type":"string" 100 } 101 }, 102 { 103 "name":"private", 104 "description":"Created contents are public by default, set this parameter to \"1\" in order to create a private reply. It is NOT supported on every source.", 105 "in":"query", 106 "required":false, 107 "schema":{ 108 "type":"integer" 109 } 110 }, 111 { 112 "name":"source_id", 113 "description":"The source to create content to. If you specify `in_reply_to_id` parameter, source will be determined from it. Otherwise, this parameter is mandatory.", 114 "in":"query", 115 "required":false, 116 "schema":{ 117 "type":"string" 118 } 119 }, 120 { 121 "name":"attachment_ids[]", 122 "description":"An array containing the attachments’ ids that need to be attached to this content.", 123 "in":"query", 124 "required":false, 125 "explode":true, 126 "schema":{ 127 "type":"array", 128 "items":{ 129 "type":"string" 130 } 131 } 132 }, 133 { 134 "name":"title", 135 "description":"For an email source. The subject of the email. This parameter is mandatory when initiating a discussion.", 136 "in":"query", 137 "required":false, 138 "schema":{ 139 "type":"string" 140 } 141 }, 142 { 143 "name":"to[]", 144 "description":"For an email or SMS source. For an email, an array containing the email addresses used in the “To” section of the email. This parameter is mandatory when initiating a discussion. For a SMS, the number the SMS will be sent to. It must start with 00 or +, example: +33634231224 or 0033634231224. This parameter is mandatory when initiating a discussion.", 145 "in":"query", 146 "required":false, 147 "explode":true, 148 "schema":{ 149 "type":"array", 150 "items":{ 151 "type":"string" 152 } 153 } 154 }, 155 { 156 "name":"cc[]", 157 "description":"For an email source. An array containing the email addresses used in the “Cc” section of the email.", 158 "in":"query", 159 "required":false, 160 "explode":true, 161 "schema":{ 162 "type":"array", 163 "items":{ 164 "type":"string" 165 } 166 } 167 }, 168 { 169 "name":"bcc[]", 170 "description":"For an email source. An array containing the email addresses used in the “Bcc” section of the email.", 171 "in":"query", 172 "required":false, 173 "explode":true, 174 "schema":{ 175 "type":"array", 176 "items":{ 177 "type":"string" 178 } 179 } 180 } 181 ], 182 "responses":{ 183 "200":{ 184 "description":"Success", 185 "content":{ 186 "application/json":{ 187 "schema":{ 188 "$ref":"#/components/schemas/Content" 189 } 190 } 191 } 192 }, 193 "422":{ 194 "description":"Unprocessable Entity" 195 } 196 } 197 } 198 }, 199 "/contents/{contentId}":{ 200 "get":{ 201 "tags":[ 202 "Contents" 203 ], 204 "summary":"Getting a content from its id", 205 "operationId":"getContent", 206 "description":"This method renders a content from given id. If token’s user does not have “read” on content’s source a 404 HTTP response will be returned.\n\nAuthorization: no.", 207 "parameters":[ 208 { 209 "name":"contentId", 210 "in":"path", 211 "required":true, 212 "schema":{ 213 "type":"string" 214 } 215 } 216 ], 217 "responses":{ 218 "200":{ 219 "description":"Success", 220 "content":{ 221 "application/json":{ 222 "schema":{ 223 "$ref":"#/components/schemas/Content" 224 } 225 } 226 } 227 } 228 } 229 } 230 }, 231 "/contents/{contentId}/update_categories":{ 232 "put":{ 233 "tags":[ 234 "Contents" 235 ], 236 "summary":"Categorizing a content", 237 "operationId":"categorizeContent", 238 "description":"This method updates the categories of a content. If token’s user does not have “read” on this content’s source a 404 HTTP response will be returned.\n\nAuthorization: no.", 239 "parameters":[ 240 { 241 "name":"contentId", 242 "in":"path", 243 "required":true, 244 "schema":{ 245 "type":"string" 246 } 247 }, 248 { 249 "name":"category_ids[]", 250 "description":"An array containing the new categories to set on the content.", 251 "in":"query", 252 "required":true, 253 "explode":true, 254 "schema":{ 255 "type":"array", 256 "items":{ 257 "type":"string" 258 } 259 } 260 } 261 ], 262 "responses":{ 263 "200":{ 264 "description":"Success", 265 "content":{ 266 "application/json":{ 267 "schema":{ 268 "$ref":"#/components/schemas/Content" 269 } 270 } 271 } 272 } 273 } 274 } 275 }, 276 "/contents/{contentId}/ignore":{ 277 "put":{ 278 "tags":[ 279 "Contents" 280 ], 281 "summary":"Ignoring a content", 282 "operationId":"ignoreContent", 283 "description":"Ignores a content. If token’s user does not have “read” on content’s source a 404 HTTP response will be returned.\n\nAuthorization: no.", 284 "parameters":[ 285 { 286 "name":"contentId", 287 "in":"path", 288 "required":true, 289 "schema":{ 290 "type":"string" 291 } 292 } 293 ], 294 "responses":{ 295 "200":{ 296 "description":"Success", 297 "content":{ 298 "application/json":{ 299 "schema":{ 300 "$ref":"#/components/schemas/Content" 301 } 302 } 303 } 304 }, 305 "404":{ 306 "description":"Not Found" 307 } 308 } 309 } 310 } 311 }, 312 "servers":[ 313 { 314 "url":"https://DOMAIN.api.engagement.dimelo.com/1.0" 315 } 316 ], 317 "components":{ 318 "schemas":{ 319 "GetAllContentsResponse":{ 320 "properties":{ 321 "count":{ 322 "type":"integer", 323 "format":"int32" 324 }, 325 "limit":{ 326 "type":"integer", 327 "format":"int32" 328 }, 329 "offset":{ 330 "type":"integer", 331 "format":"int32" 332 }, 333 "records":{ 334 "type":"array", 335 "items":{ 336 "$ref":"#/components/schemas/Content" 337 } 338 } 339 } 340 }, 341 "Content":{ 342 "required":[ 343 "id" 344 ], 345 "properties":{ 346 "id":{ 347 "type":"string" 348 }, 349 "source_id":{ 350 "type":"string" 351 }, 352 "source_url":{ 353 "type":"string" 354 }, 355 "source_type":{ 356 "type":"string" 357 }, 358 "thread_id":{ 359 "type":"string" 360 }, 361 "in_reply_to_id":{ 362 "type":"string" 363 }, 364 "in_reply_to_author_id":{ 365 "type":"string" 366 }, 367 "author_id":{ 368 "type":"string" 369 }, 370 "creator_id":{ 371 "type":"string" 372 }, 373 "foreign_id":{ 374 "type":"string" 375 }, 376 "type":{ 377 "type":"string" 378 }, 379 "created_from":{ 380 "type":"string" 381 }, 382 "private_message":{ 383 "type":"boolean" 384 }, 385 "status":{ 386 "type":"string" 387 }, 388 "intervention_id":{ 389 "type":"string" 390 }, 391 "language":{ 392 "type":"string" 393 }, 394 "body":{ 395 "type":"string" 396 }, 397 "body_formatted":{ 398 "$ref":"#/components/schemas/ContentBodyFormatted" 399 }, 400 "body_input_format":{ 401 "type":"string", 402 "description":"values can be: text or html.", 403 "enum":[ 404 "text", 405 "html" 406 ] 407 }, 408 "title":{ 409 "type":"string" 410 }, 411 "attachments_count":{ 412 "type":"integer" 413 }, 414 "attachments":{ 415 "type":"array", 416 "items":{ 417 "$ref":"#/components/schemas/ContentAttachment" 418 } 419 }, 420 "synchronization_status":{ 421 "type":"string" 422 }, 423 "category_ids":{ 424 "description":"are content categories if none, they are default to intervention categories or thread categories", 425 "type":"array", 426 "items":{ 427 "type":"string" 428 } 429 }, 430 "created_at":{ 431 "type":"string", 432 "format":"date-time" 433 }, 434 "updated_at":{ 435 "type":"string", 436 "format":"date-time" 437 }, 438 "approval_required":{ 439 "type":"boolean" 440 }, 441 "remotely_deleted":{ 442 "type":"boolean" 443 }, 444 "published":{ 445 "type":"boolean" 446 }, 447 "context_data":{ 448 "type":"object", 449 "description":"is present only if the content has context_data associated. The context_data hash keys are the custom fields keys." 450 } 451 } 452 }, 453 "ContentAttachment":{ 454 "properties":{ 455 "id":{ 456 "type":"string" 457 }, 458 "created_at":{ 459 "type":"string", 460 "format":"date-time" 461 }, 462 "updated_at":{ 463 "type":"string", 464 "format":"date-time" 465 }, 466 "content_type":{ 467 "type":"string" 468 }, 469 "size":{ 470 "type":"integer" 471 }, 472 "filename":{ 473 "type":"string" 474 }, 475 "foreign_id":{ 476 "type":"string" 477 }, 478 "embed":{ 479 "type":"string" 480 }, 481 "public?":{ 482 "type":"string" 483 }, 484 "url":{ 485 "type":"string", 486 "description":"You can download the attachments by using an API access token with the following URL: https://[your-domain].engagement.dimelo.com/attachments/[attachment_id]?access_token=[your_ access_token]" 487 } 488 } 489 }, 490 "ContentBodyFormatted":{ 491 "description":"always contains text and html versions.", 492 "properties":{ 493 "text":{ 494 "type":"string" 495 }, 496 "html":{ 497 "type":"string" 498 } 499 } 500 } 501 } 502 } 503 }