### Successful Response Example Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-job-details This is an example of a successful response when retrieving job items. It includes pagination details and a list of resources, each with transmission and status information. ```json { "PageIndex": 1, "PageSize": 10, "TotalCount": 1, "TotalPageCount": 1, "Resources": [ { "JobItemNumber": 1, "JobNumber": 48034262, "TrackingId": "Mail Sending", "Address": "abcd@gmail.com", "Recipient": "Recipient1", "Pages": 0, "SentPages": 1, "Attempts": 1, "FirstDate": "2017-07-11T06:54:01", "FinishDate": "2017-07-11T06:54:01", "Bytes": 2030, "AnswerBack": "gmail-smtp-in.l.google.com", "BaudRate": 0, "Outcome": "S", "Outcomes": "S", "Status": 0, "CallTime": 0, "CallAnalysis": "", "UD1": null, "UD2": null, "UD3": null, "UD4": null, "UD5": null, "IsSent": true } ], "HasPreviousPage": false, "HasNextPage": false } ``` -------------------------------- ### GET Request to List Hosted Document Files Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/get-hosted-document-files-list Use this GET request to retrieve a list of all hosted document files for your account. Ensure you include the Authorization header with your token. ```http GET /api/V1/HostedDocumentFiles HTTP/1.1 Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic EncodedLogin ``` -------------------------------- ### Send Basic Fax Source: https://docapi.docoon.com/odyssey-apis/quick-guide/our-rest-apis/rest-access-to-basic-functionnalities/rest-send-a-fax This example demonstrates how to send a basic fax with a single document and recipient. ```json { "JobType": "NO_JTYPE", "TrackingId": "Send Basic FAX", "Documents": [ { "Name": "document.pdf", "Type":1, "Content": "Qm9uam91ciwgaWNpIEF1 .../... uLCBjZWNpIGVzdCB1biB0ZXN0LiA=" } ], "AdhocRecipients": [ { "Name": "Dupont", "Address": "00334xxxxxx" } ] } ``` ```json { "JobType": "NO_JTYPE", "TrackingId": "Send Basic FAX", "Documents": [ { "Name": "document.pdf", "Type":1, "Content": "Qm9uam91ciwgaWNpIEF1 .../... uLCBjZWNpIGVzdCB1biB0ZXN0LiA=" } ], "AdhocRecipients": [ { "Name": "Dupont", "Address": "00334xxxxxx" } ] } ``` -------------------------------- ### Send Fax with File List Source: https://docapi.docoon.com/odyssey-apis/quick-guide/our-rest-apis/rest-access-to-basic-functionnalities/rest-send-a-fax This example demonstrates sending a fax using a file list, specifying a 'test.tab' file. ```json { "JobType": "NO_JTYPE", "TrackingId": "Send FAX with file list", "Documents": [ { "Name": "document.pdf", "Type":1, "Content": "Qm9uam91ciwgaWNpIEF1 .../... uLCBjZWNpIGVzdCB1biB0ZXN0LiA=" } ], "Lists": [ { "Name": "test.tab", "Hosted": false, "Type":0, "Content": "77u/MDAzMzc4Tg3OA==" } ] } ``` ```json { "JobType": "NO_JTYPE", "TrackingId": "Send FAX with file list", "Documents": [ { "Name": "document.pdf", "Type":1, "Content": "Qm9uam91ciwgaWNpIEF1 .../... uLCBjZWNpIGVzdCB1biB0ZXN0LiA=" } ], "Lists": [ { "Name": "test.tab", "Hosted": false, "Type":0, "Content": "77u/MDAzMzc4Tg3OA==" } ] } ``` -------------------------------- ### GET /jobs Source: https://docapi.docoon.com/odyssey-apis/quick-guide/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-job-details Retrieves a paginated list of job items. ```APIDOC ## GET /jobs ### Description Retrieves a paginated list of job items with metadata regarding the current page and total counts. ### Method GET ### Endpoint /jobs ### Response #### Success Response (200) - **PageIndex** (Int) - Page number currently returned - **PageSize** (Int) - Number of item per page - **TotalCount** (Int) - Total Number of jobs that can be returned - **TotalPageCount** (Int) - Total of page that can be returned - **Ressources** (JobItem Object) - List of JobItem Object - **HasPreviousPage** (boolean) - True: This is the first page you can display. False: you can display the previous page. - **HasNextPage** (Boolean) - True: you can display the next page. False: This is the last page you can display #### Response Example { "PageIndex": 1, "PageSize": 10, "TotalCount": 1, "TotalPageCount": 1, "Resources": [ { "JobItemNumber": 1, "JobNumber": 48034262, "TrackingId": "Mail Sending", "Address": "abcd@gmail.com", "Recipient": "Recipient1", "Pages": 0, "SentPages": 1, "Attempts": 1, "FirstDate": "2017-07-11T06:54:01", "FinishDate": "2017-07-11T06:54:01", "Bytes": 2030, "AnswerBack": "gmail-smtp-in.l.google.com", "BaudRate": 0, "Outcome": "S", "Outcomes": "S", "Status": 0, "CallTime": 0, "CallAnalysis": "", "UD1": null, "UD2": null, "UD3": null, "UD4": null, "UD5": null, "IsSent": true } ], "HasPreviousPage": false, "HasNextPage": false } ``` -------------------------------- ### GET /api/V1/HostedListFiles Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/get-hosted-list-files-list Retrieves a list of all files currently hosted on the user's account. ```APIDOC ## GET /api/V1/HostedListFiles ### Description Retrieves all lists hosted for your account. These lists can be used to create jobs by referencing them in the FileReference structure. ### Method GET ### Endpoint /api/V1/HostedListFiles ### Response #### Success Response (200) - **Name** (String) - File name and extension. - **CreationDateTime** (String) - First creation time of the report. - **LastModificationDateTime** (String) - Last modification time of the report. - **Size** (Integer) - Size in bytes of the report. #### Response Example [ { "Name": "TestList.tab", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 }, { "Name": "TestList2.tab", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 } ] ``` -------------------------------- ### Get Job Summaries with Pagination Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-jobs-summary-with-a-filter Retrieves job summaries with specified page index and size. Requires an Authorization header. ```HTTP GET /api/V1/JobSummaries?pageIndex=2&pageSize=5 Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic NjAzMDAuYxxxxx ``` -------------------------------- ### Get All Job Summaries Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-jobs-summary-with-a-filter Retrieves a list of all job summaries. Supports filtering and pagination. ```APIDOC ## GET /api/V1/JobSummaries ### Description Retrieves a list of all job summaries. Supports filtering and pagination. ### Method GET ### Endpoint /api/V1/JobSummaries ### Query Parameters - **pageIndex** (integer) - Optional - The index of the page to retrieve. - **pageSize** (integer) - Optional - The number of items per page. - **filterTid** (string) - Optional - Filters jobs by Tracking ID. - **filterOnlyNotSent** (boolean) - Optional - Filters to show only jobs not yet sent. - **filterMedia** (integer) - Optional - Filters jobs by media type. - **sortField** (integer) - Optional - Field to sort the results by. - **sortDirection** (integer) - Optional - Direction of sorting (e.g., ascending/descending). - **filterStartDate** (string) - Optional - Filters jobs starting from this date (ISO 8601 format). - **filterEndDate** (string) - Optional - Filters jobs ending by this date (ISO 8601 format). ### Request Example ```json GET /api/V1/JobSummaries?pageIndex=2&pageSize=5&filterTid=API&filterOnlyNotSent=true&filterMedia=1&sortField=2&sortDirection=2&filterStartDate=2017-07-01T12:54:40.460Z&filterEndDate=2017-07-08T12:54:40.460Z Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic NjAzMDAuYXxxxxxxxx ``` ### Response #### Success Response (200) - **PageIndex** (integer) - The current page index. - **PageSize** (integer) - The number of items per page. - **TotalCount** (integer) - The total number of jobs available. - **TotalPageCount** (integer) - The total number of pages. - **Resources** (array) - An array of job summary objects. - **Login** (string) - The login associated with the job. - **MostRecentDate** (string) - The most recent date for the job. - **Status** (integer) - The status code of the job. - **TID** (string) - The Tracking ID of the job. - **Total** (integer) - The total number of items in the job. - **Sent** (integer) - The number of items sent. - **Failed** (integer) - The number of items that failed. - **Remaining** (integer) - The number of items remaining. - **FirstDoc** (string) - The first document associated with the job. - **FirstList** (string) - The first list associated with the job. - **Page** (integer) - The page number. - **PageSent** (integer) - The number of items sent on this page. - **Media** (integer) - The media type used for the job. - **CreationDate** (string) - The date and time the job was created. - **StartDate** (string) - The date and time the job started. - **JobNumber** (integer) - The unique job number. - **JobType** (string) - The type of the job. - **CustomerNumber** (integer) - The customer number. - **HasPreviousPage** (boolean) - Indicates if there is a previous page. - **HasNextPage** (boolean) - Indicates if there is a next page. #### Response Example ```json { "PageIndex": 1, "PageSize": 10, "TotalCount": 114, "TotalPageCount": 12, "Resources": [ { "Login": "50XXX.user2", "MostRecentDate": "2017-07-11T06:55:42", "Status": 85, "TID": "SMS Sending", "Total": 1, "Sent": 1, "Failed": 0, "Remaining": 0, "FirstDoc": "", "FirstList": "adhoc.tab", "Page": 0, "PageSent": 0, "Media": 5, "CreationDate": "2017-07-11T06:53:59", "StartDate": "2017-07-11T06:53:59", "JobNumber": 48034262, "JobType": "SMS", "CustomerNumber": 50XXX }, { "Login": "50xxx.user1", "MostRecentDate": "2017-07-11T06:54:22", "Status": 85, "TID": "Email Sending", "Total": 1, "Sent": 1, "Failed": 0, "Remaining": 0, "FirstDoc": "", "FirstList": "adhoc.tab", "Page": 0, "PageSent": 0, "Media": 5, "CreationDate": "2017-07-11T06:52:23", "StartDate": "2017-07-11T06:52:26", "JobNumber": 48034261, "JobType": "Email_ods3", "CustomerNumber": 50XXX } ], "HasPreviousPage": false, "HasNextPage": true } ``` ``` -------------------------------- ### Send Basic SMS Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/send-a-sms-specific A simple example for sending a basic SMS message to a recipient. ```json { "JobType": "SMS", "Text": "Hello World!", "TrackingId": "Send Basic SMS", "AdhocRecipients": [ { "Name": "Dupont", "Address": "00337xxxxxx" } ] } ``` -------------------------------- ### GET /api/V1/JobSummaries with Pagination Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-jobs-summary-with-a-filter Retrieves job summaries with specified page index and page size for pagination. ```APIDOC ## GET /api/V1/JobSummaries?pageIndex=2&pageSize=5 ### Description Retrieves job summaries with specified page index and page size for pagination. ### Method GET ### Endpoint /api/V1/JobSummaries ### Parameters #### Query Parameters - **pageIndex** (int) - Optional - Page of the result you want to get (default = 1). - **pageSize** (int) - Optional - Number of jobs per page (default = 10). ### Request Example ```json { "example": "GET /api/V1/JobSummaries?pageIndex=2&pageSize=5\nHost: api.odyssey-services.fr\nContent-Type: application/json\nAuthorization: Basic NjAzMDAuYxxxxx" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /api/V1/HostedListFiles/{fileName} Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/get-hosted-list-file Retrieves a specific hosted list file by its name. This file can be used as input for jobs. ```APIDOC ## GET /api/V1/HostedListFiles/{fileName} ### Description Retrieves a hosted list file by its name. The content of the list is not transmitted but recovered directly from Docoon servers. ### Method GET ### Endpoint /api/V1/HostedListFiles/{fileName} ### Parameters #### Path Parameters - **fileName** (String) - Required - The name of the file with its extension (e.g., abc.txt). #### Headers - **Authorization** (String) - Required - Authorization token. - **Content-Type** (String) - Required - application/json ### Request Example ```http GET /api/V1/HostedListFiles/TestList.tab HTTP/1.1 Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic NjAzMDAuYX ``` ### Response #### Success Response (200) - **Content** (String) - Base64 encoded content of the file. - **Name** (String) - File name and extension (e.g., JobId.xls). - **CreationDateTime** (String) - First creation time of the report (e.g., 2016-12-06T07:20:38.7870548+01:00). - **LastModificationDateTime** (String) - Last modification time of the report (e.g., 2016-12-06T07:20:37.583+01:00). - **Size** (Integer) - Size in bytes of the report. #### Response Example ```json { "Content": "dXNlcm5AZ21haWwuY29tCUpvaG4JTXkgQ29tcGFueQlCaXJ0aERhdGU=", "Name": "TestList.tab", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 } ``` ``` -------------------------------- ### Successful API Response JSON Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-job-details Example of a successful API response containing pagination metadata and a list of JobItem objects. ```json { "PageIndex": 1, "PageSize": 10, "TotalCount": 1, "TotalPageCount": 1, "Resources": [ { "JobItemNumber": 1, "JobNumber": 48034262, "TrackingId": "Mail Sending", "Address": "abcd@gmail.com", "Recipient": "Recipient1", "Pages": 0, "SentPages": 1, "Attempts": 1, "FirstDate": "2017-07-11T06:54:01", "FinishDate": "2017-07-11T06:54:01", "Bytes": 2030, "AnswerBack": "gmail-smtp-in.l.google.com", "BaudRate": 0, "Outcome": "S", "Outcomes": "S", "Status": 0, "CallTime": 0, "CallAnalysis": "", "UD1": null, "UD2": null, "UD3": null, "UD4": null, "UD5": null, "IsSent": true } ], "HasPreviousPage": false, "HasNextPage": false } ``` ```json 1. { 2. "PageIndex": 1, 3. "PageSize": 10, 4. "TotalCount": 1, 5. "TotalPageCount": 1, 6. "Resources": [ 7. { 8. "JobItemNumber": 1, 9. "JobNumber": 48034262, 10. "TrackingId": "Mail Sending", 11. "Address": "abcd@gmail.com", 12. "Recipient": "Recipient1", 13. "Pages": 0, 14. "SentPages": 1, 15. "Attempts": 1, 16. "FirstDate": "2017-07-11T06:54:01", 17. "FinishDate": "2017-07-11T06:54:01", 18. "Bytes": 2030, 19. "AnswerBack": "gmail-smtp-in.l.google.com", 20. "BaudRate": 0, 21. "Outcome": "S", 22. "Outcomes": "S", 23. "Status": 0, 24. "CallTime": 0, 25. "CallAnalysis": "", 26. "UD1": null, 27. "UD2": null, 28. "UD3": null, 29. "UD4": null, 30. "UD5": null, 31. "IsSent": true 32. } 33. ], 34. "HasPreviousPage": false, 35. "HasNextPage": false 36. } ``` ```json { "PageIndex": 1, "PageSize": 10, "TotalCount": 1, "TotalPageCount": 1, "Resources": [ { "JobItemNumber": 1, "JobNumber": 48034262, "TrackingId": "Mail Sending", "Address": "abcd@gmail.com", "Recipient": "Recipient1", "Pages": 0, "SentPages": 1, "Attempts": 1, "FirstDate": "2017-07-11T06:54:01", "FinishDate": "2017-07-11T06:54:01", "Bytes": 2030, ``` -------------------------------- ### GET /InboundFolders/{folderName}/HostedInboundFiles/{fileName} Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-a-received-fax-file Downloads a specific received fax file from the system. ```APIDOC ## GET /InboundFolders/{folderName}/HostedInboundFiles/{fileName} ### Description Downloads a specific received fax file. Requires the folder name (usually the inbound phone number) and the file name. ### Method GET ### Endpoint /api/V1/InboundFolders/{folderName}/HostedInboundFiles/{fileName} ### Parameters #### Path Parameters - **folderName** (int) - Required - Folder name, usually the inbound phone number. - **fileName** (int) - Required - Name of the file including extension. ### Response #### Success Response (200) - **Content** (String) - File content encoded in Base64. - **Name** (String) - File name with extension. - **CreationDateTime** (DateTime) - File creation date. - **LastModificationDateTime** (DateTime) - Date of the last modification of the file. - **Size** (int) - Size in bytes of the file. #### Response Example { "Content": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago .../... VFMzU0NTY4NjhBPiBdCj4+CnN0YXJ0eHJlZgo0Mzc2CiUlRU9GCg==", "Name": "0-20170711-0714-1126279.PDF", "CreationDateTime": "2017-07-11T07:14:39.1651178+02:00", "LastModificationDateTime": "2017-07-11T07:14:39.1560543+02:00", "Size": 4690 } ``` -------------------------------- ### Send Basic Voice Message Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/send-a-voice-message A simple example for sending a basic voice message without any advanced options. ```json { "JobType": "Vocal", "TrackingId": "Send Basic Voice message", "Documents": [ { "Name": "Test.txt", "Type":1, "Content": "VGhpcyBpcyBhIHZvaWNlIG1lc3NhZ2U=" } ], "AdhocRecipients": [ { "Name": "Dupont", "Address": "00336xxxxxx" } ] } ``` -------------------------------- ### Successful Response for Add Hosted List File Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/add-hosted-list-file This is an example of a successful response when adding a hosted list file. It includes metadata such as creation date, last modification date, and file size. ```json { "Content": "dXNlcm5AZ21haWwuY29tCUpvaG4JTXkgQ29tcGFueQlCaXJ0aERhdGU=", "Name": "TestList.tab", "CreationDateTime": "2018-07-17T10:39:04.6788636+02:00", "LastModificationDateTime": "2018-07-17T10:39:04.6788636+02:00", "Size": 41 } ``` -------------------------------- ### GET /api/V1/JobSummaries with Date Range Filter Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-jobs-summary-with-a-filter Retrieves job summaries filtered by a specified start and end date. ```APIDOC ## GET /api/V1/JobSummaries?filterStartDate=2017-07-01T12:54:40.460Z&filterEndDate=2017-07-08T12:54:40.460Z ### Description Retrieves job summaries filtered by a specified start and end date. ### Method GET ### Endpoint /api/V1/JobSummaries ### Parameters #### Query Parameters - **filterStartDate** (DateTime) - Optional - Filter returning a list of jobs created after the specified date. Format : ā€œ2017-07-08T12:54:40.460Zā€ - **filterEndDate** (DateTime) - Optional - Filter returning a list of jobs created before the specified date. Format : ā€œ2017-07-08T12:54:40.460Zā€ ### Request Example ```json { "example": "GET /api/V1/JobSummaries?filterStartDate=2017-07-01T12:54:40.460Z&filterEndDate=2017-07-08T12:54:40.460Z\nHost: api.odyssey-services.fr\nContent-Type: application/json\nAuthorization: Basic NjAzMDAuYxxxxx" } ``` ### Response #### Success Response (200) - **field1** (type) - Description #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### HTTP Status Codes for GET, DELETE, PUT Source: https://docapi.docoon.com/odyssey-apis/our-soap-apis/errors-and-troubleshooting Standard response codes for GET, DELETE, and PUT operations. ```APIDOC ## GET/DELETE/PUT Status Codes ### Response Codes - **200** (Ok) - The request was successfully executed - **400** (Bad Request) - The request is missing some parameters - **401** (Unauthorized) - The authentication failed, your user might not be able to use the Webservices called or you might have an error in the authentication method. - **404** (Not Found) - The resource was not found - **500** (Internal Server Error) - An error occured while processing the request. If the problem continue contact the technical support. ``` -------------------------------- ### GET Request for Inbound SMS Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-received-sms Use this GET request to retrieve a list of inbound SMS messages. Specify date ranges, sort fields, and sort direction for filtering. ```http GET /api/V1/InboundSms?FilterStartDate=2017-07-08T12:54:40.460Z&FilterEndDate=2017-07-24T12:54:40.460Z&sortField=0&sortDirection=2 HTTP/1.1 Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic NTUxMDIuxxxxxxx ``` -------------------------------- ### Configure Email Job with File List Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/send-an-email Use the 'Lists' property to provide recipient data via a file reference. The email address must be in the first column of the file. ```json { "JobType": "Email", "TrackingId": "Send Email with file list", "EmailBody": { "Name": "body.html", "Content": "PGh0bWw+DQo8aGVhZGVyPg0KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPC9oZWFkZXI+DQo8Ym9keT4NClRoaXMgaXMgYW4gZW1haWwgdGVzdCBmcm9tIE9keXNzZXkgTWVzc2FnaW5nLg0KPC9ib2R5Pg0KPC9odG1sPg==", "Type":2 }, "Lists": [ { "Name": "test.tab", "Type":0, "Content": "dXNlcm5AZ21haWwuY29tCUpvaG4JTXkgQ29tcGFueQlCaXJ0aERhdGU=" } ], "Parameter": { "Media" : 5, "Subject": "My Email subject", "ReplyTo":"support@myCompany.com" } } ``` -------------------------------- ### GET Request for Transmission Report File Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-a-report Use this GET request to retrieve a specific transmission report file. Ensure you include the correct job ID and authorization headers. ```HTTP GET /api/V1/HostedReportFiles/27472157 HTTP/1.1 Host: {URL} Content-Type: application/json Authorization: Basic EncodedLogin ``` -------------------------------- ### Send Email with Advanced Parameters Source: https://docapi.docoon.com/odyssey-apis/quick-guide/our-rest-apis/rest-access-to-basic-functionnalities/send-an-email Example JSON payload demonstrating the use of advanced email parameters including tracking and auto-pull for attachments. ```json { "JobType": "Email", "TrackingId": "Send Email with advanced parameters", "EmailBody": { "Name": "body.html", "Content": "PGh0bWw+DQo8aGVhZGVyPg0KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPC9oZWFkZXI+DQo8Ym9keT4NClRoaXMgaXMgYW4gZW1haWwgdGVzdCBmcm9tIE9keXNzZXkgTWVzc2FnaW5nLg0KPGJyLz4NCjxhIGhyZWY9Imh0dHA6Ly93d3cub2R5c3NleS1tZXNzYWdpbmcuY29tIj5UaGlzIGlzIGEgbGluayB0byB0ZXN0IHRoZSB0cmFja2luZyBvcHRpb248L2E+DQo8L2JvZHk+DQo8L2h0bWw+", "Type":2 }, "AdhocRecipients": [ { "Address":"usern@gmail.com", "Name":"John", "OptionalFields": [ "My Company", "BirthDate" ] } ], "Attachments": [ { "Name": "Attachment1.txt", "Content": "VGhpcyBpcyBhbiBhdHRhY2hlbWVudCBmaWxl", "Type":4 } ], "Parameter": { "Media" : 5, "Subject": "My Email subject", "ReplyTo":"support@myCompany.com", "From":"\"Mycompany\" ", "ActivateAutoPull": true, "ActivateTracking": true } } ``` ```json 1. { 2. "JobType": "Email", 3. "TrackingId": "Send Email with advanced parameters", 4. "EmailBody": { 5. "Name": "body.html", 6. "Content": "PGh0bWw+DQo8aGVhZGVyPg0KPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KPC9oZWFkZXI+DQo8Ym9keT4NClRoaXMgaXMgYW4gZW1haWwgdGVzdCBmcm9tIE9keXNzZXkgTWVzc2FnaW5nLg0KPGJyLz4NCjxhIGhyZWY9Imh0dHA6Ly93d3cub2R5c3NleS1tZXNzYWdpbmcuY29tIj5UaGlzIGlzIGEgbGluayB0byB0ZXN0IHRoZSB0cmFja2luZyBvcHRpb248L2E+DQo8L2JvZHk+DQo8L2h0bWw+", 7. "Type":2 8. }, 9. "AdhocRecipients": [ 10. { 11. "Address":"usern@gmail.com", 12. "Name":"John", 13. "OptionalFields": [ 14. "My Company", 15. "BirthDate" 16. ] 17. } 18. ], 19. "Attachments": [ 20. { 21. "Name": "Attachment1.txt", 22. "Content": "VGhpcyBpcyBhbiBhdHRhY2hlbWVudCBmaWxl", 23. "Type":4 24. } 25. ], 26. "Parameter": { 27. "Media" : 5, 28. "Subject": "My Email subject", 29. "ReplyTo":"support@myCompany.com", 30. "From":"\"Mycompany\" ", 31. "ActivateAutoPull": true, 32. "ActivateTracking": true 33. } 34. } ``` -------------------------------- ### Configure Voice Message with Advanced Parameters Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/send-a-voice-message Example JSON payload for sending a voice message with custom text-to-speech and interaction settings. ```json { "JobType": "Vocal", "TrackingId": "Send Voice message with advanced parameters", "Documents": [ { "Name": "Test.txt", "Type":1, "Content": "VGhpcyBpcyBhIHZvaWNlIG1lc3NhZ2U=" } ], "AdhocRecipients": [ { "Name": "Dupont", "Address": "00336xxxxxx" } ], "Parameter": { "Sender": "0612XXXXXX", "TextToSpeechVoiceRate": 5, "TextToSpeechVoiceId": 7, "ScenarioId": 1, "TransferNumber": "0612XXXXXX", "TransferKey": "3", "RepeatKey": "1", "AcknowledgeKey": "2", "Media": 2 } } ``` ```json 1. { 2. "JobType": "Vocal", 3. "TrackingId": "Send Voice message with advanced parameters", 4. "Documents": [ 5. { 6. "Name": "Test.txt", 7. "Type":1, 8. "Content": "VGhpcyBpcyBhIHZvaWNlIG1lc3NhZ2U=" 9. } 10. ], 11. "AdhocRecipients": [ 12. { 13. "Name": "Dupont", 14. "Address": "00336xxxxxx" 15. } 16. ], 17. "Parameter": { 18. "Sender": "0612XXXXXX", 19. "TextToSpeechVoiceRate": 5, 20. "TextToSpeechVoiceId": 7, 21. "ScenarioId": 1, 22. "TransferNumber": "0612XXXXXX", 23. "TransferKey": "3", 24. "RepeatKey": "1", 25. "AcknowledgeKey": "2", 26. "Media": 2 27. } 28. } ``` -------------------------------- ### GET Request to Download Received Fax File Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-a-received-fax-file Use this GET request to download a specific received fax file. You need to provide the folder name and the file name in the URL path. Ensure you include the Authorization and Content-Type headers. ```http GET /api/V1/InboundFolders/13429XXXX/HostedInboundFiles/0-20170711-0714-1126279.PDF HTTP/1.1 Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic NjAzMDAuYX ``` -------------------------------- ### DELETE /api/V1/InboundFolders/{folderName}/HostedInboundFiles/{fileName} Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-delete-a-received-fax-file Deletes a specific received fax file from the system. You need to provide the folder name and the file name, which can be obtained from the 'get received Faxes list' or 'get received Fax file' API responses. ```APIDOC ## DELETE /api/V1/InboundFolders/{folderName}/HostedInboundFiles/{fileName} ### Description Deletes a specific received fax file from the Docoon system. Requires the folder name and file name as path parameters. ### Method DELETE ### Endpoint /api/V1/InboundFolders/{folderName}/HostedInboundFiles/{fileName} ### Parameters #### Path Parameters - **folderName** (string) - Required - The name of the folder containing the fax file. Typically, this is the inbound phone number. - **fileName** (string) - Required - The name of the fax file, including its extension (e.g., '0-20170711-0714-1126279.PDF'). #### Headers - **Authorization** (string) - Required - Authorization token. - **Content-Type** (string) - Required - Should be 'application/json'. ### Request Example ```json { "example": "DELETE /api/V1/InboundFolders/13429XXXX/HostedInboundFiles/0-20170711-0714-1126279.PDF HTTP/1.1\nHost: api.odyssey-services.fr\nContent-Type: application/json\nAuthorization: Basic NjAzMDAuY" } ``` ### Response #### Success Response (200) - **Report object** (object) - No specific fields described, indicates successful deletion. #### Response Example (No specific success response body example provided in the documentation) #### Error Response (404) - **Code** (Integer) - Associated error code (e.g., 40401). - **Message** (String) - Associated message indicating the file was not found. ``` -------------------------------- ### Send Voice Message with Advanced Parameters Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/send-a-voice-message This example demonstrates sending a voice message using advanced parameters such as sender ID, TTS voice settings, and transfer options. ```json { "JobType": "Vocal", "TrackingId": "Send Voice message with advanced parameters", "Documents": [ { "Name": "Test.txt", "Type":1, "Content": "VGhpcyBpcyBhIHZvaWNlIG1lc3NhZ2U=" } ], "AdhocRecipients": [ { "Name": "Dupont", "Address": "00336xxxxxx" } ], "Parameter": { "Sender": "0612XXXXXX", "TextToSpeechVoiceRate": 5, "TextToSpeechVoiceId": 7, "ScenarioId": 1, "TransferNumber": "0612XXXXXX", "TransferKey": "3", "RepeatKey": "1", "AcknowledgeKey": "2", "Media": 2 } } ``` -------------------------------- ### Retrieve all job summaries Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-jobs-summary-with-a-filter Basic request to fetch all available job summaries. ```HTTP GET /api/V1/JobSummaries Host: api.odyssey-services.fr Content-Type: application/json Authorization: Basic NjAzMDAuYXxxxxxxxx ``` -------------------------------- ### GET /messages Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-list-of-received-faxes Retrieves a list of fax messages with pagination metadata. ```APIDOC ## GET /messages ### Description Retrieves a list of fax messages and pagination status. ### Method GET ### Endpoint /messages ### Response #### Success Response (200) - **Resources** (array) - List of fax message objects - **HasPreviousPage** (boolean) - Indicates if there is a previous page - **HasNextPage** (boolean) - Indicates if there is a next page #### Response Example { "Resources": [ { "MessageId": "0", "ReceivedDate": "2017-07-24T07:49:08", "To": "1342960000", "From": "0", "Folder": "134296000", "FileName": "0-20170724-0749-1135087.PDF", "CallTime": 1, "Pages": 1, "BaudRate": 33, "CustomerNumber": 60300 } ], "HasPreviousPage": false, "HasNextPage": false } ``` -------------------------------- ### GET /api/V1/HostedDocumentFiles Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/get-hosted-document-files-list Retrieves a list of all documents hosted on the Docoon account. ```APIDOC ## GET /api/V1/HostedDocumentFiles ### Description Retrieves a list of all documents currently hosted on the user's account. These documents can be referenced when creating jobs. ### Method GET ### Endpoint /api/V1/HostedDocumentFiles ### Response #### Success Response (200) - **Name** (String) - File name and extension. - **CreationDateTime** (String) - First creation time of the report. - **LastModificationDateTime** (String) - Last modification time of the report. - **Size** (Integer) - Size in bytes of the report. #### Response Example [ { "Name": "TestDocument.pdf", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 }, { "Name": "TestDocument2.pdf", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 } ] ``` -------------------------------- ### Successful Response - List of Hosted Files Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/get-hosted-document-files-list A successful response (HTTP 200) returns a JSON array of HostedFile objects. Each object contains file details like name, creation/modification dates, and size. ```json [ { "Name": "TestDocument.pdf", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 }, { "Name": "TestDocument2.pdf", "CreationDateTime": "2018-07-17T12:06:55.2194008+02:00", "LastModificationDateTime": "2018-07-17T12:06:55.2194008+02:00", "Size": 41 } ] ``` -------------------------------- ### GET /api/V1/HostedReportFiles Source: https://docapi.docoon.com/odyssey-apis/our-rest-apis/rest-access-to-basic-functionnalities/rest-get-a-list-of-reports Retrieves a list of all transmission reports that have been generated and not yet deleted. ```APIDOC ## GET /api/V1/HostedReportFiles ### Description Returns the list of transmission reports generated at the end of a job that have not been deleted. ### Method GET ### Endpoint /api/V1/HostedReportFiles ### Response #### Success Response (200) - **Name** (String) - File name and extension (JobId.xls). - **CreationDateTime** (String) - First creation time of the report. - **LastModificationDateTime** (String) - Last modification time of the report. - **Size** (Integer) - Size in byte of the report. #### Response Example [ { "Name": "27472157.xls", "CreationDateTime": "2016-12-06T07:20:38.7870548+01:00", "LastModificationDateTime": "2016-12-06T07:20:37.583+01:00", "Size": 56832 }, { "Name": "35124775.xls", "CreationDateTime": "2017-03-01T01:31:31.9406132+01:00", "LastModificationDateTime": "2017-03-01T01:31:31.483+01:00", "Size": 136704 } ] ```