falaai-api 1.21.51 → 1.21.67

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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -6
  3. data/docs/AnalysisApi.md +6 -2
  4. data/docs/DiagnosticParticipant.md +1 -1
  5. data/docs/DiagnosticRequest.md +2 -2
  6. data/docs/DiagnosticResponse.md +3 -1
  7. data/docs/DiagnosticUsage.md +1 -1
  8. data/docs/Participant.md +1 -1
  9. data/docs/ParticipantDiagnostic.md +1 -1
  10. data/docs/ResponseExtractConversationsV1WhatsappExtractconversationsPost.md +42 -0
  11. data/docs/RiskAuditAppliedActionV2.md +0 -4
  12. data/docs/RiskAuditAuditDecisionsV2.md +1 -3
  13. data/docs/RiskAuditConversationScoresV2.md +0 -2
  14. data/docs/RiskAuditDetectionItemV2.md +5 -75
  15. data/docs/RiskAuditRequest.md +3 -5
  16. data/docs/RiskAuditSummaryV2.md +0 -4
  17. data/docs/RiskAuditUsageV2.md +1 -1
  18. data/docs/RiskAuditVerdictV2.md +1 -7
  19. data/docs/SpeechApi.md +5 -3
  20. data/docs/TranscriptionUsage.md +1 -1
  21. data/docs/WhatsappApi.md +20 -12
  22. data/docs/WhatsappConversation.md +1 -1
  23. data/docs/WhatsappMeta.md +7 -3
  24. data/docs/WhatsappPreviewItem.md +32 -0
  25. data/docs/WhatsappPreviewItemBreakdown.md +26 -0
  26. data/docs/WhatsappPreviewItemCredits.md +20 -0
  27. data/docs/WhatsappPreviewItemMedia.md +30 -0
  28. data/docs/WhatsappPreviewParams.md +32 -0
  29. data/docs/WhatsappPreviewResponse.md +32 -0
  30. data/docs/WhatsappPreviewWindow.md +22 -0
  31. data/docs/WhatsappUsage.md +17 -1
  32. data/docs/index.html +58 -29
  33. data/lib/falaai-api/api/analysis_api.rb +5 -1
  34. data/lib/falaai-api/api/email_alerts_api.rb +1 -1
  35. data/lib/falaai-api/api/health_api.rb +1 -1
  36. data/lib/falaai-api/api/speech_api.rb +7 -5
  37. data/lib/falaai-api/api/usage_api.rb +1 -1
  38. data/lib/falaai-api/api/version_api.rb +1 -1
  39. data/lib/falaai-api/api/webhooks_api.rb +1 -1
  40. data/lib/falaai-api/api/whatsapp_api.rb +27 -24
  41. data/lib/falaai-api/api_client.rb +1 -1
  42. data/lib/falaai-api/api_error.rb +1 -1
  43. data/lib/falaai-api/api_model_base.rb +1 -1
  44. data/lib/falaai-api/configuration.rb +1 -1
  45. data/lib/falaai-api/models/audio_event.rb +1 -1
  46. data/lib/falaai-api/models/audio_input_meta.rb +1 -1
  47. data/lib/falaai-api/models/create_email_alert_request.rb +1 -1
  48. data/lib/falaai-api/models/create_webhook_request.rb +1 -1
  49. data/lib/falaai-api/models/diagnostic_analysis_map.rb +1 -1
  50. data/lib/falaai-api/models/diagnostic_audio_event.rb +1 -1
  51. data/lib/falaai-api/models/diagnostic_categorical_analysis.rb +1 -1
  52. data/lib/falaai-api/models/diagnostic_participant.rb +2 -9
  53. data/lib/falaai-api/models/diagnostic_request.rb +5 -12
  54. data/lib/falaai-api/models/diagnostic_response.rb +15 -5
  55. data/lib/falaai-api/models/diagnostic_text_analysis.rb +1 -1
  56. data/lib/falaai-api/models/diagnostic_usage.rb +3 -3
  57. data/lib/falaai-api/models/email_alert_item.rb +1 -1
  58. data/lib/falaai-api/models/email_alert_list_response.rb +1 -1
  59. data/lib/falaai-api/models/email_alert_message_response.rb +1 -1
  60. data/lib/falaai-api/models/email_event.rb +1 -1
  61. data/lib/falaai-api/models/health_response.rb +1 -1
  62. data/lib/falaai-api/models/http_validation_error.rb +1 -1
  63. data/lib/falaai-api/models/location_inner.rb +1 -1
  64. data/lib/falaai-api/models/message_response.rb +1 -1
  65. data/lib/falaai-api/models/participant.rb +2 -2
  66. data/lib/falaai-api/models/participant_diagnostic.rb +2 -19
  67. data/lib/falaai-api/models/response_extract_conversations_v1_whatsapp_extractconversations_post.rb +103 -0
  68. data/lib/falaai-api/models/risk_audit_analysis_v2.rb +1 -1
  69. data/lib/falaai-api/models/risk_audit_applied_action_v2.rb +2 -26
  70. data/lib/falaai-api/models/risk_audit_audio_event_model_v2.rb +1 -1
  71. data/lib/falaai-api/models/risk_audit_audit_decisions_v2.rb +5 -17
  72. data/lib/falaai-api/models/risk_audit_conversation_scores_v2.rb +2 -12
  73. data/lib/falaai-api/models/risk_audit_detection_item_v2.rb +19 -393
  74. data/lib/falaai-api/models/risk_audit_detections_v2.rb +1 -1
  75. data/lib/falaai-api/models/risk_audit_indexer_v2.rb +1 -1
  76. data/lib/falaai-api/models/risk_audit_meta_v2.rb +1 -1
  77. data/lib/falaai-api/models/risk_audit_participant_v2.rb +1 -1
  78. data/lib/falaai-api/models/risk_audit_participants_v2.rb +1 -1
  79. data/lib/falaai-api/models/risk_audit_request.rb +11 -37
  80. data/lib/falaai-api/models/risk_audit_scores_v2.rb +1 -1
  81. data/lib/falaai-api/models/risk_audit_scoring_explanation_v2.rb +1 -1
  82. data/lib/falaai-api/models/risk_audit_summary_v2.rb +2 -24
  83. data/lib/falaai-api/models/risk_audit_timeline_v2.rb +1 -1
  84. data/lib/falaai-api/models/risk_audit_usage_v2.rb +2 -2
  85. data/lib/falaai-api/models/risk_audit_v2.rb +1 -1
  86. data/lib/falaai-api/models/risk_audit_v2_response.rb +1 -1
  87. data/lib/falaai-api/models/risk_audit_verdict_v2.rb +5 -36
  88. data/lib/falaai-api/models/transcription_response.rb +1 -1
  89. data/lib/falaai-api/models/transcription_usage.rb +2 -2
  90. data/lib/falaai-api/models/update_email_alert_request.rb +1 -1
  91. data/lib/falaai-api/models/update_webhook_request.rb +1 -1
  92. data/lib/falaai-api/models/usage_by_key_item.rb +1 -1
  93. data/lib/falaai-api/models/usage_log_item.rb +1 -1
  94. data/lib/falaai-api/models/usage_log_response.rb +1 -1
  95. data/lib/falaai-api/models/validation_error.rb +1 -1
  96. data/lib/falaai-api/models/version_response.rb +1 -1
  97. data/lib/falaai-api/models/webhook_event.rb +1 -1
  98. data/lib/falaai-api/models/webhook_item.rb +1 -1
  99. data/lib/falaai-api/models/webhook_list_response.rb +1 -1
  100. data/lib/falaai-api/models/whatsapp_conversation.rb +2 -2
  101. data/lib/falaai-api/models/whatsapp_conversations_response.rb +30 -6
  102. data/lib/falaai-api/models/whatsapp_meta.rb +86 -32
  103. data/lib/falaai-api/models/whatsapp_preview_item.rb +354 -0
  104. data/lib/falaai-api/models/whatsapp_preview_item_breakdown.rb +273 -0
  105. data/lib/falaai-api/models/whatsapp_preview_item_credits.rb +192 -0
  106. data/lib/falaai-api/models/whatsapp_preview_item_media.rb +329 -0
  107. data/lib/falaai-api/models/whatsapp_preview_params.rb +354 -0
  108. data/lib/falaai-api/models/whatsapp_preview_response.rb +384 -0
  109. data/lib/falaai-api/models/whatsapp_preview_window.rb +219 -0
  110. data/lib/falaai-api/models/whatsapp_speaker.rb +1 -1
  111. data/lib/falaai-api/models/whatsapp_usage.rb +220 -4
  112. data/lib/falaai-api/version.rb +15 -15
  113. data/lib/falaai-api.rb +9 -1
  114. metadata +18 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d83d046b979cd6c1d09c21c3c76a82ea6b0d17131e1018b972a7fea0a3a50f3e
4
- data.tar.gz: ba6256865b059b177181ce24f00cd857a2df99b0af69584fd8b4131b3a00d7df
3
+ metadata.gz: 277ba7b89298c6e8064b94c458f36a6db3a2d679a33ba160e989ce3fec496635
4
+ data.tar.gz: ba21f1c150fb4dc71d6a699e2c29b8ee01abf8cf6fc99e1449bb659b46c1ef47
5
5
  SHA512:
6
- metadata.gz: 74c598532ababe5e246b16f3e260886235f8b5e7f25df353b3d7cd2dc27ee392c90dbd8b1d0fac9ece144e7f04efa1209368c102c847e5008e476eecf1a8c8be
7
- data.tar.gz: d3590c7c1c2e1e20bb4157f73125daae0c297dff4d44b985f3fcb7df100f4233a3672e9e200e2f68592fa61b0cf804c2099bfeb2f7b3fc815221bf738aea537a
6
+ metadata.gz: 881ee96022301c48bbdb94a05489ceb87b4aaeefa1d0f3b897e155e1b65aa6fb67916bc67e42b2cf099c752ca00a775f35b5929d4abeee74661581a73cdc0a5a
7
+ data.tar.gz: 2825a69f51a3782da91f57e605f76c49f519ce3f7fa1c965cb3a3297dcc58de4e568ccceda9efc92c9da51d1c9fca4ffe19ccb9c0bbe2eba43dd009a191b272e
data/README.md CHANGED
@@ -50,6 +50,8 @@ FALAAI_API_KEY=fai_xxxxxxxx
50
50
 
51
51
  ### 3. Transcribe a call (audio -> text)
52
52
 
53
+ > No audio file? See **[audio help](https://falaai.action.tec.br/api/audio-help)** for accepted formats and limits.
54
+
53
55
  ```ruby
54
56
  require 'falaai-api'
55
57
 
@@ -95,15 +97,16 @@ client = FalaAI::ApiClient.new(config)
95
97
  analysis = FalaAI::AnalysisApi.new(client)
96
98
 
97
99
  transcript = 'Good morning, how can I help? I need to cancel my subscription.'
100
+ dialog = "Speaker 1: [00:00:00.100 - 00:00:03.100] Good morning, how can I help?\nSpeaker 2: [00:00:03.100 - 00:00:06.200] I need to cancel my subscription."
98
101
 
99
102
  # 5 analyses in one call: summary, reason, action, topic, sentiment
100
103
  diagnostic, _status = analysis.create_diagnostic_v1_analyze_diagnostic_post_with_http_info(
101
104
  FalaAI::DiagnosticRequest.new(text: transcript, language: 'pt-BR', duration_seconds: 81.46)
102
105
  )
103
106
 
104
- # Compliance risk score + violations + auditable report
107
+ # Compliance risk score + violations + auditable report (Risk Audit requires a diarized 'dialog', not 'text')
105
108
  audit, _status = analysis.create_risk_audit_v1_analyze_risk_audit_post_with_http_info(
106
- FalaAI::RiskAuditRequest.new(text: transcript, language: 'pt-BR', response_language: 'pt-BR', duration_seconds: 81.46)
109
+ FalaAI::RiskAuditRequest.new(dialog: dialog, language: 'pt-BR', response_language: 'pt-BR', duration_seconds: 81.46)
107
110
  )
108
111
  ```
109
112
 
@@ -123,6 +126,7 @@ FalaAI API is an **AI conversation-intelligence API** for analyzing customer-ser
123
126
  - **Contact center / Quality** - audit 100% of conversations instead of a sample.
124
127
  - **Compliance / Legal** - auditable evidence for audits and disputes.
125
128
  - **CX / Operations** - risk score, sentiment and reason per conversation.
129
+ - **Sales** - analyze sales calls and extract structured outcomes.
126
130
  - **BI / Data** - typed JSON ready for your database or analytics stack.
127
131
 
128
132
  ## Why FalaAI
@@ -131,7 +135,7 @@ FalaAI API is an **AI conversation-intelligence API** for analyzing customer-ser
131
135
  - **Auditable by design** - a compliance risk score with detections/violations and an HTML report you can hand to an auditor.
132
136
  - **Credits, not tokens** - you know exactly what each call costs (per second of audio, per character of text, per conversation). Monthly plans + non-expiring top-up packs.
133
137
  - **Zero-storage** - audio/text/results are processed and discarded; only usage/audit records remain. TLS in transit + at rest, per-account isolation (multitenancy), LGPD (you are the controller; Action Tec is the processor).
134
- - **3 native languages** (PT/EN/ES) · **start free** (no card).
138
+ - **Multilingual** — transcription in **31 languages**, diagnosis in **21 locales**, risk audit and HTML reports in **3** (PT/EN/ES) · **start free** (no card).
135
139
  - **B2B ready** - one Enterprise plan serves N clients, no per-user fee (ideal for ISVs).
136
140
 
137
141
  ## Integrations
@@ -148,6 +152,8 @@ FalaAI is **language-independent** - integrate at **any point** of your pipeline
148
152
 
149
153
  > These are **integration examples**, not certified native integrations. Any platform can integrate through **REST / cURL** - the standard, language-independent path. Native ingestion connectors are on the roadmap.
150
154
 
155
+ **This SDK's language (Ruby):** FalaAI is language-independent; this package targets **Ruby** backends (your target platform does not need to be built in Ruby).
156
+
151
157
  ## BYOT - Bring Your Own Transcription
152
158
 
153
159
  Already have speech-to-text (Whisper, Deepgram, AssemblyAI, your own)? **Skip Transcription** and send the text straight to **Diagnostic** and/or **Risk Audit**. You only pay for what you use.
@@ -170,7 +176,7 @@ Already have speech-to-text (Whisper, Deepgram, AssemblyAI, your own)? **Skip Tr
170
176
 
171
177
  ## Examples
172
178
 
173
- Runnable examples in [`examples/`](./examples): `health.rb`, `transcribe.rb`, `diagnose.rb`, `audit.rb`, `whatsapp.rb`.
179
+ Runnable examples in [`examples/`](https://github.com/ActionTecBr/falaai-api-ruby/tree/main/examples): `health.rb`, `transcribe.rb`, `diagnose.rb`, `audit.rb`, `whatsapp.rb`.
174
180
 
175
181
  ## Authentication
176
182
 
@@ -202,7 +208,7 @@ end
202
208
  | Requirement | Version |
203
209
  |---|---|
204
210
  | Ruby | 2.7+ |
205
- | API | v1.21.51 |
211
+ | API | v1.21.67 |
206
212
 
207
213
  ## Documentation
208
214
 
@@ -215,7 +221,7 @@ end
215
221
 
216
222
  ## Versioning
217
223
 
218
- Semantic versioning; the SDK version tracks the API version (`1.21.51`). See [CHANGELOG.md](CHANGELOG.md) and [Releases](https://github.com/ActionTecBr/falaai-api-ruby/releases).
224
+ Semantic versioning; the SDK version tracks the API version (`1.21.67`). See [CHANGELOG.md](CHANGELOG.md) and [Releases](https://github.com/ActionTecBr/falaai-api-ruby/releases).
219
225
 
220
226
  ## Security
221
227
 
@@ -234,4 +240,5 @@ See [CONTRIBUTING.md](CONTRIBUTING.md).
234
240
  - Website: <https://falaai.action.tec.br>
235
241
  - API base URL: <https://api01-falaai.action.tec.br>
236
242
  - GitHub organization: <https://github.com/ActionTecBr>
243
+ - Run in Postman: [![Run in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/liviopanizza-7615625/falaai-api/collection/tzxf8gc/falaai-api)
237
244
  - Other SDKs: Python, Node.js, PHP, Go, Java, .NET.
data/docs/AnalysisApi.md CHANGED
@@ -14,6 +14,8 @@ All URIs are relative to *https://api01-falaai.action.tec.br*
14
14
 
15
15
  Analyze a call transcript — 5 parallel analyses
16
16
 
17
+ Analyzes a call transcript and returns six structured blocks: dialogue summary, contact reason, identified action, theme label, predominant sentiment and identified participants with roles, names, confidence and evidence; use it for a fast, generic diagnosis of what happened in a call, and use /v1/analyze/riskAudit instead when the goal is compliance violation auditing. Provide at least one of dialog (primary source: diarized transcript in the format 'Speaker 1: [00:00:00.540 - 00:00:01.139] text', speaker labels accepted in any case as Speaker, Interlocutor, Hablante, Locutor or Orador plus number) or text (plain transcript fallback), each up to 300,000 characters; when dialog is used duration_seconds is required by the schema and, when provided, must be >= the last turn end time. Required: language; optional: model (always 'falaai-diagnostic-1'), audio_events, response_language (language of the results, defaulting to language), participants (up to 10 with interlocutor and optional name and role agent/client/bot, ground truth when the role is informed and otherwise inferred), call_direction (inferred when omitted), client_reference_id (echoed verbatim, charset [A-Za-z0-9 _/:.-], max 60). Returns id, object 'analysis', response_language, analysis with the six blocks, usage (characters, credits_consumed, processing_ms) and html_report (base64 gzip) only when dialog is provided; with text-only input the participant roles are forced to confidence 'low'. Credits are charged per character of the transcript (0.03/char, counted without speaker labels, timestamps and inline expression tokens, minimum 500 characters, plus 50 characters per audio event) and the amount charged is returned in usage.credits_consumed. Stateless: neither the transcript nor the analysis is persisted (only billing and usage metadata is logged), protecting personal data under LGPD.
18
+
17
19
  ### Examples
18
20
 
19
21
  ```ruby
@@ -26,7 +28,7 @@ FalaAI.configure do |config|
26
28
  end
27
29
 
28
30
  api_instance = FalaAI::AnalysisApi.new
29
- diagnostic_request = FalaAI::DiagnosticRequest.new({language: 'language_example', duration_seconds: 3.56}) # DiagnosticRequest |
31
+ diagnostic_request = FalaAI::DiagnosticRequest.new({language: 'language_example'}) # DiagnosticRequest |
30
32
 
31
33
  begin
32
34
  # Analyze a call transcript — 5 parallel analyses
@@ -81,6 +83,8 @@ end
81
83
 
82
84
  Compliance Risk Audit — conversation compliance analysis
83
85
 
86
+ Runs a compliance risk audit on a diarized call transcript, detecting violations and positives, applying the ISO 31000 risk matrix, classifying the conversation into a level and returning the verdict with the applied actions and the NIST/OWASP risk framework enquadramento; use it for compliance and quality audits of company-agent-to-client calls, not for generic conversation summarization. Required fields: dialog (diarized transcript in the format 'Speaker 1: [00:00:00.540 - 00:00:01.139] text', speaker labels accepted in any case as Speaker, Interlocutor, Hablante, Locutor or Orador plus number; plain text is not accepted; max 300,000 characters), duration_seconds (total audio duration in seconds, must be >= the last turn end time) and language plus response_language (only pt-BR, en-US or es-ES). Optional: model (always 'falaai-risk-audit-1'), audio_events (up to 500, each requiring event and start_s), participants (up to 10 with interlocutor and role agent/client/bot, ground truth when provided, else inferred), call_direction (inbound/outbound, inferred when omitted), response_format (only 'v2'), client_reference_id (echoed verbatim, charset [A-Za-z0-9 _/:.-], max 60). Returns response (V2) with meta+usage, participants, verdict with level and applied actions, scores, detections (violations, positives, client alerts), analysis frameworks, timeline, categories_summary, executive summary, scoring explanation and an HTML report (gzip+base64). Credits are charged per character of the spoken transcript (0.09/char, counted without speaker labels and inline expression tokens, minimum 1,000 characters, plus 50 characters per audio event) and a minimum-cost guard may raise the final amount, so response.meta.usage.credits_consumed is the amount actually charged. Stateless: neither the transcript nor the analysis is persisted (only billing and usage metadata is logged), protecting personal data under LGPD.
87
+
84
88
  ### Examples
85
89
 
86
90
  ```ruby
@@ -93,7 +97,7 @@ FalaAI.configure do |config|
93
97
  end
94
98
 
95
99
  api_instance = FalaAI::AnalysisApi.new
96
- risk_audit_request = FalaAI::RiskAuditRequest.new({duration_seconds: 3.56, language: 'language_example', response_language: 'response_language_example'}) # RiskAuditRequest |
100
+ risk_audit_request = FalaAI::RiskAuditRequest.new({dialog: 'dialog_example', duration_seconds: 3.56, language: 'language_example', response_language: 'response_language_example'}) # RiskAuditRequest |
97
101
 
98
102
  begin
99
103
  # Compliance Risk Audit — conversation compliance analysis
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **interlocutor** | **String** | Exact speaker label from the dialog (e.g. &#39;Speaker 1&#39;) | |
8
8
  | **name** | **String** | Participant name (optional) | [optional] |
9
- | **role** | **String** | agent | client | bot | |
9
+ | **role** | **String** | agent | client | bot (optional — omit/empty when unknown) | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -10,8 +10,8 @@
10
10
  | **audio_events** | [**Array&lt;DiagnosticAudioEvent&gt;**](DiagnosticAudioEvent.md) | Detected audio events with timestamps (required when using dialog) | [optional] |
11
11
  | **language** | **String** | Transcript language. Required. Accepted: en-US, pt-BR, es-ES, es-MX, fr-FR, de-DE, it-IT, pt-PT, zh-CN, ja-JP, ko-KR, ar-SA, hi-IN, ru-RU, id-ID, tr-TR, nl-NL, pl-PL, vi-VN, th-TH, en-GB | |
12
12
  | **response_language** | **String** | Language for the analysis results (labels, categories, levels). Can differ from &#39;language&#39; (input). If omitted, uses &#39;language&#39;. Accepted: en-US, es-ES, es-MX, pt-BR, fr-FR, de-DE, it-IT, pt-PT, zh-CN, ja-JP, ko-KR, ar-SA, hi-IN, ru-RU, id-ID, tr-TR, nl-NL, pl-PL, vi-VN, th-TH, en-GB. | [optional] |
13
- | **duration_seconds** | **Float** | Total audio duration in seconds. Required. Max 3h (10800s). | |
14
- | **client_reference_id** | **String** | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9._:-], max 128 chars. Not idempotency. | [optional] |
13
+ | **duration_seconds** | **Float** | Total audio duration in seconds. Optional when using only &#39;text&#39; (ignored — not read/used). Required when using &#39;dialog&#39; (must be &gt;&#x3D; last turn end). Max 3h (10800s). | [optional] |
14
+ | **client_reference_id** | **String** | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9 _/:.-], max 60 chars. Not idempotency. | [optional] |
15
15
  | **call_direction** | **String** | Who originated the call. inbound&#x3D;client called, outbound&#x3D;company called. If omitted, the LLM infers from context. | [optional] |
16
16
  | **participants** | [**Array&lt;DiagnosticParticipant&gt;**](DiagnosticParticipant.md) | Explicit participant roles. If omitted, the LLM infers from the dialog. When provided, used as ground truth (no inference) and echoed in analysis.participants_identified. | [optional] |
17
17
 
@@ -10,6 +10,7 @@
10
10
  | **analysis** | [**DiagnosticAnalysisMap**](DiagnosticAnalysisMap.md) | The 6 conversation analyses (5 + participants) | |
11
11
  | **usage** | [**DiagnosticUsage**](DiagnosticUsage.md) | Usage and processing information | |
12
12
  | **client_reference_id** | **String** | Client-supplied ID echoed verbatim (if provided in request) | [optional] |
13
+ | **html_report** | **String** | Visual HTML report of the diagnosis (base64 gzip). Only present when &#39;dialog&#39; is provided; null for text-only requests. | [optional] |
13
14
 
14
15
  ## Example
15
16
 
@@ -22,7 +23,8 @@ instance = FalaAI::DiagnosticResponse.new(
22
23
  object: null,
23
24
  analysis: null,
24
25
  usage: null,
25
- client_reference_id: null
26
+ client_reference_id: null,
27
+ html_report: null
26
28
  )
27
29
  ```
28
30
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **characters** | **Integer** | Total characters analyzed | |
8
- | **credits_consumed** | **Integer** | Credits consumed: max(ceil(chars/500)*3, 3) * 5 | |
8
+ | **credits_consumed** | **Float** | Credits consumed: per character, round(max(characters, 500) * 0.03, 2) | |
9
9
  | **processing_ms** | **Integer** | Total processing time in milliseconds | |
10
10
 
11
11
  ## Example
data/docs/Participant.md CHANGED
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **interlocutor** | **String** | Exact identifier as used in dialog (e.g. &#39;Interlocutor 1&#39;, &#39;Antonio&#39;) | |
8
8
  | **name** | **String** | Participant name (humanizes report, does not affect logic) | [optional] |
9
- | **role** | **String** | Role: agent (human operator), client (customer), bot (IVR/AI) | |
9
+ | **role** | **String** | Role: agent (human operator), client (customer), bot (IVR/AI). Required for risk audit. | |
10
10
 
11
11
  ## Example
12
12
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **interlocutor** | **String** | Exact speaker label from the dialog (e.g. &#39;Speaker 1&#39;) | |
8
- | **role** | **String** | Role: agent | client | bot | agent_requester | agent_custodian | |
8
+ | **role** | **String** | Role: agent | client | bot | agent_requester | agent_custodian (null when not informed/inferred) | [optional] |
9
9
  | **name** | **String** | Participant name if mentioned in the dialogue | [optional] |
10
10
  | **confidence** | **String** | high | medium | low | [optional] |
11
11
  | **evidence** | **String** | Exact verbatim quote supporting the role (no timestamps) | [optional] |
@@ -0,0 +1,42 @@
1
+ # FalaAI::ResponseExtractConversationsV1WhatsappExtractconversationsPost
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | Unique identifier. Prefix &#39;wc-&#39; + UUID | |
8
+ | **object** | **String** | Object type. Always &#39;whatsapp_preview&#39; | |
9
+ | **usage** | [**WhatsappUsage**](WhatsappUsage.md) | Usage and processing information | |
10
+ | **conversations** | [**Array&lt;WhatsappConversation&gt;**](WhatsappConversation.md) | Segmented conversations | |
11
+ | **client_reference_id** | **String** | Client-supplied ID echoed verbatim (if provided) | [optional] |
12
+ | **meta** | [**WhatsappMeta**](WhatsappMeta.md) | Segmentation parameters and counts | |
13
+ | **dry_run** | **Boolean** | Always true (preview: no AI call, no charge) | |
14
+ | **credits_charged** | **Integer** | Always 0 in preview | |
15
+ | **credits_total** | **Float** | TOTAL credits &#x3D; exact SUM of the selected conversations (2 decimals, NO rounding up) | |
16
+ | **params** | [**WhatsappPreviewParams**](WhatsappPreviewParams.md) | Filter parameters actually used (reuse them in the extraction) | |
17
+ | **windows** | [**Array&lt;WhatsappPreviewWindow&gt;**](WhatsappPreviewWindow.md) | Explicit windows used (empty when a single start/end range was used) | |
18
+ | **items** | [**Array&lt;WhatsappPreviewItem&gt;**](WhatsappPreviewItem.md) | Per-conversation detail (send back as &#x60;windows&#x60; to extract only what you want) | |
19
+ | **warnings** | **Array&lt;String&gt;** | Human-readable notices about what would be ignored | |
20
+
21
+ ## Example
22
+
23
+ ```ruby
24
+ require 'falaai-api'
25
+
26
+ instance = FalaAI::ResponseExtractConversationsV1WhatsappExtractconversationsPost.new(
27
+ id: null,
28
+ object: null,
29
+ usage: null,
30
+ conversations: null,
31
+ client_reference_id: null,
32
+ meta: null,
33
+ dry_run: null,
34
+ credits_charged: null,
35
+ credits_total: null,
36
+ params: null,
37
+ windows: null,
38
+ items: null,
39
+ warnings: null
40
+ )
41
+ ```
42
+
@@ -8,8 +8,6 @@
8
8
  | **label** | **String** | Action label | |
9
9
  | **description** | **String** | Action description | |
10
10
  | **priority** | **String** | CRITICO/ALTO/MEDIO/BAIXO | |
11
- | **color** | **String** | Color | [optional][default to &#39;&#39;] |
12
- | **icon** | **String** | Icon | [optional][default to &#39;&#39;] |
13
11
  | **condition** | **String** | Condition | [optional] |
14
12
  | **reason** | **String** | Reason | [optional][default to &#39;&#39;] |
15
13
 
@@ -23,8 +21,6 @@ instance = FalaAI::RiskAuditAppliedActionV2.new(
23
21
  label: null,
24
22
  description: null,
25
23
  priority: null,
26
- color: null,
27
- icon: null,
28
24
  condition: null,
29
25
  reason: null
30
26
  )
@@ -6,7 +6,6 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **risk_origin** | **String** | Risk origin | [optional] |
8
8
  | **has_zero_tolerance_violation** | **Boolean** | Has zero-tolerance violation | [optional] |
9
- | **deterministic_validator_changes** | **Array&lt;Object&gt;** | Deterministic validator changes | [optional] |
10
9
 
11
10
  ## Example
12
11
 
@@ -15,8 +14,7 @@ require 'falaai-api'
15
14
 
16
15
  instance = FalaAI::RiskAuditAuditDecisionsV2.new(
17
16
  risk_origin: null,
18
- has_zero_tolerance_violation: null,
19
- deterministic_validator_changes: null
17
+ has_zero_tolerance_violation: null
20
18
  )
21
19
  ```
22
20
 
@@ -12,7 +12,6 @@
12
12
  | **positive_negative_ratio** | **Object** | Positive:negative ratio | [optional] |
13
13
  | **global_risk_severity** | **String** | Global risk severity code | [optional] |
14
14
  | **global_risk_severity_label** | **String** | Global risk severity label | [optional] |
15
- | **global_risk_severity_color** | **String** | Global risk severity color | [optional] |
16
15
  | **risk_likelihood_avg** | **Float** | Risk likelihood avg | [optional] |
17
16
  | **risk_impact_avg** | **Float** | Risk impact avg | [optional] |
18
17
 
@@ -30,7 +29,6 @@ instance = FalaAI::RiskAuditConversationScoresV2.new(
30
29
  positive_negative_ratio: null,
31
30
  global_risk_severity: null,
32
31
  global_risk_severity_label: null,
33
- global_risk_severity_color: null,
34
32
  risk_likelihood_avg: null,
35
33
  risk_impact_avg: null
36
34
  )
@@ -7,50 +7,15 @@
7
7
  | **turn** | **Integer** | Turn number | [optional] |
8
8
  | **interlocutor** | **String** | Speaker | [optional] |
9
9
  | **role** | **String** | Role | [optional] |
10
- | **timestamp_start_s** | **Float** | Start (s) | [optional] |
11
- | **timestamp_end_s** | **Float** | End (s) | [optional] |
12
10
  | **timestamp_formatted** | **String** | Formatted timestamp | [optional] |
13
11
  | **term_text** | **String** | Detected term | [optional] |
14
- | **suggested_term_for_bank** | **Object** | Suggested term for bank | [optional] |
15
- | **category** | **String** | Category code | [optional] |
16
12
  | **category_label** | **String** | Category label (i18n) | |
17
- | **category_color** | **String** | Category color | [optional] |
18
- | **category_icon** | **String** | Category icon | [optional] |
13
+ | **subcategory_label** | **String** | Subcategory label (i18n) | [optional] |
19
14
  | **criticality** | **String** | Criticality | [optional] |
20
- | **category_threshold** | **Float** | Category threshold | [optional] |
21
- | **category_type** | **String** | Category type | [optional] |
22
- | **category_group** | **String** | Category group label (i18n) | |
23
- | **nature** | **String** | Nature | [optional] |
24
- | **llm_confidence** | **Float** | LLM confidence | [optional] |
15
+ | **status** | **String** | Status | [optional] |
25
16
  | **reason** | **String** | Reason | [optional] |
26
- | **is_valid_context** | **Boolean** | Valid context | [optional] |
27
- | **risk_probability** | **Float** | Risk probability | [optional] |
28
- | **risk_impact** | **Float** | Risk impact | [optional] |
29
- | **category_weight** | **Float** | Category weight | [optional] |
30
- | **turn_sentiment** | **String** | Turn sentiment | [optional] |
31
- | **intensity** | **Object** | Intensity | [optional] |
32
- | **mod_applied** | **Float** | Total modifier applied | [optional] |
33
- | **mac_applied** | **Float** | Audio modifier applied | [optional] |
34
- | **mvad_applied** | **Float** | Intensity modifier applied | [optional] |
35
- | **mod_formula** | **String** | Modifier formula | [optional] |
36
- | **mac_details** | **Array&lt;Hash&lt;String, Object&gt;&gt;** | MAC details | [optional] |
37
- | **calibration_reason** | **String** | Calibration reason | [optional] |
38
17
  | **final_score** | **Float** | Final score | [optional] |
39
- | **final_score_formula** | **String** | Final score formula | [optional] |
40
- | **conversation_limit** | **Object** | Conversation limit | [optional] |
41
- | **apply_saturation** | **Boolean** | Apply saturation | [optional] |
42
- | **block_repetition** | **Boolean** | Block repetition | [optional] |
43
- | **status** | **String** | Status | [optional] |
44
- | **effective_impact** | **Float** | Effective impact | [optional] |
45
- | **saturation_factor** | **Float** | Saturation factor | [optional] |
46
- | **saturation_formula** | **String** | Saturation formula | [optional] |
47
- | **threshold_formula** | **String** | Threshold formula | [optional] |
48
- | **blocked_formula** | **String** | Blocked formula | [optional] |
49
- | **reconciliation_note** | **String** | Reconciliation note | [optional] |
50
18
  | **violated_frameworks** | **Array&lt;Object&gt;** | Violated frameworks | [optional] |
51
- | **citation_fidelity** | **Boolean** | Citation fidelity | [optional][default to true] |
52
- | **subcategory** | **String** | Subcategory code | [optional] |
53
- | **subcategory_label** | **String** | Subcategory label (i18n) | [optional] |
54
19
 
55
20
  ## Example
56
21
 
@@ -61,50 +26,15 @@ instance = FalaAI::RiskAuditDetectionItemV2.new(
61
26
  turn: null,
62
27
  interlocutor: null,
63
28
  role: null,
64
- timestamp_start_s: null,
65
- timestamp_end_s: null,
66
29
  timestamp_formatted: null,
67
30
  term_text: null,
68
- suggested_term_for_bank: null,
69
- category: null,
70
31
  category_label: null,
71
- category_color: null,
72
- category_icon: null,
32
+ subcategory_label: null,
73
33
  criticality: null,
74
- category_threshold: null,
75
- category_type: null,
76
- category_group: null,
77
- nature: null,
78
- llm_confidence: null,
34
+ status: null,
79
35
  reason: null,
80
- is_valid_context: null,
81
- risk_probability: null,
82
- risk_impact: null,
83
- category_weight: null,
84
- turn_sentiment: null,
85
- intensity: null,
86
- mod_applied: null,
87
- mac_applied: null,
88
- mvad_applied: null,
89
- mod_formula: null,
90
- mac_details: null,
91
- calibration_reason: null,
92
36
  final_score: null,
93
- final_score_formula: null,
94
- conversation_limit: null,
95
- apply_saturation: null,
96
- block_repetition: null,
97
- status: null,
98
- effective_impact: null,
99
- saturation_factor: null,
100
- saturation_formula: null,
101
- threshold_formula: null,
102
- blocked_formula: null,
103
- reconciliation_note: null,
104
- violated_frameworks: null,
105
- citation_fidelity: null,
106
- subcategory: null,
107
- subcategory_label: null
37
+ violated_frameworks: null
108
38
  )
109
39
  ```
110
40
 
@@ -5,16 +5,15 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **model** | **String** | Analysis model. Always &#39;falaai-risk-audit-1&#39; | [optional][default to &#39;falaai-risk-audit-1&#39;] |
8
- | **text** | **String** | Plain transcript (fallback if dialog is empty). At least one of &#39;dialog&#39; or &#39;text&#39; required. Max 300,000 characters | [optional][default to &#39;&#39;] |
9
- | **dialog** | **String** | Diarized transcript with speaker turns. PRIMARY source. Speaker labels accepted (any case): &#39;Speaker N&#39;, &#39;Interlocutor N&#39;, &#39;Hablante N&#39;, &#39;Locutor N&#39;, &#39;Orador N&#39; (space or underscore). Normalized internally to &#39;Speaker N&#39; in the response. Max 300,000 characters | [optional][default to &#39;&#39;] |
8
+ | **dialog** | **String** | Diarized transcript with speaker turns. REQUIRED — risk audit only accepts diarized conversations; plain &#39;text&#39; is not accepted. Speaker labels accepted (any case): &#39;Speaker N&#39;, &#39;Interlocutor N&#39;, &#39;Hablante N&#39;, &#39;Locutor N&#39;, &#39;Orador N&#39; (space or underscore). Normalized internally to &#39;Speaker N&#39; in the response. Max 300,000 characters | |
10
9
  | **audio_events** | [**Array&lt;DiagnosticAudioEvent&gt;**](DiagnosticAudioEvent.md) | Audio events with timestamps (correlated with turns when diarization is present) | [optional] |
11
- | **duration_seconds** | **Float** | Total audio duration in seconds. Required. Max 3h (10800s). | |
10
+ | **duration_seconds** | **Float** | Total audio duration in seconds. Required. Must be &gt;&#x3D; last turn end. Max 3h (10800s). | |
12
11
  | **language** | **String** | Language of the transcript being analyzed. Must match the dialog/text language. Accepted: pt-BR, en-US, es-ES. | |
13
12
  | **response_language** | **String** | Language for analysis results (labels, categories, levels, actions, HTML report). Can differ from &#39;language&#39;. Accepted: pt-BR, en-US, es-ES. | |
14
13
  | **call_direction** | **String** | Who originated the call. inbound&#x3D;client called, outbound&#x3D;company called. If omitted, LLM infers from context. | [optional] |
15
14
  | **participants** | [**Array&lt;Participant&gt;**](Participant.md) | Explicit participant roles. If omitted, LLM infers from dialog (Lei 17). When provided, used as ground truth — no inference. | [optional] |
16
15
  | **response_format** | **String** | Response format version. Only &#39;v2&#39; (structured EN-US blocks) is available today. | [optional][default to &#39;v2&#39;] |
17
- | **client_reference_id** | **String** | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9._:-], max 128 chars. Not idempotency. | [optional] |
16
+ | **client_reference_id** | **String** | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9 _/:.-], max 60 chars. Not idempotency. | [optional] |
18
17
 
19
18
  ## Example
20
19
 
@@ -23,7 +22,6 @@ require 'falaai-api'
23
22
 
24
23
  instance = FalaAI::RiskAuditRequest.new(
25
24
  model: null,
26
- text: null,
27
25
  dialog: null,
28
26
  audio_events: null,
29
27
  duration_seconds: null,
@@ -11,8 +11,6 @@
11
11
  | **blocked** | **Integer** | Blocked detections | [optional] |
12
12
  | **audio_events_used** | **Integer** | Audio events used | [optional] |
13
13
  | **audio_events_aggravated** | **Integer** | Audio events aggravated | [optional] |
14
- | **mac_audio_applied** | **Object** | MAC audio applied | [optional] |
15
- | **mvad_applied** | **Object** | MVAD applied | [optional] |
16
14
  | **total_participants** | **Integer** | Total participants | [optional] |
17
15
  | **total_agents** | **Integer** | Total agents | [optional] |
18
16
  | **total_clients** | **Integer** | Total clients | [optional] |
@@ -34,8 +32,6 @@ instance = FalaAI::RiskAuditSummaryV2.new(
34
32
  blocked: null,
35
33
  audio_events_used: null,
36
34
  audio_events_aggravated: null,
37
- mac_audio_applied: null,
38
- mvad_applied: null,
39
35
  total_participants: null,
40
36
  total_agents: null,
41
37
  total_clients: null,
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **characters** | **Integer** | Characters analyzed | |
8
- | **credits_consumed** | **Integer** | Credits consumed | |
8
+ | **credits_consumed** | **Float** | Credits consumed | |
9
9
  | **processing_ms** | **Integer** | Processing time (ms) | |
10
10
 
11
11
  ## Example
@@ -6,11 +6,8 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **label** | **String** | Human-readable verdict | [optional] |
8
8
  | **level_code** | **String** | Classification level code | [optional] |
9
- | **color** | **String** | Level color | [optional] |
10
- | **icon** | **String** | Level icon | [optional] |
11
9
  | **risk_matrix** | **Hash&lt;String, Object&gt;** | Risk matrix | [optional] |
12
10
  | **applied_actions** | [**Array&lt;RiskAuditAppliedActionV2&gt;**](RiskAuditAppliedActionV2.md) | Applied actions | [optional] |
13
- | **decision_details** | **Object** | Decision details | [optional] |
14
11
 
15
12
  ## Example
16
13
 
@@ -20,11 +17,8 @@ require 'falaai-api'
20
17
  instance = FalaAI::RiskAuditVerdictV2.new(
21
18
  label: null,
22
19
  level_code: null,
23
- color: null,
24
- icon: null,
25
20
  risk_matrix: null,
26
- applied_actions: null,
27
- decision_details: null
21
+ applied_actions: null
28
22
  )
29
23
  ```
30
24
 
data/docs/SpeechApi.md CHANGED
@@ -13,6 +13,8 @@ All URIs are relative to *https://api01-falaai.action.tec.br*
13
13
 
14
14
  Transcribe audio to text
15
15
 
16
+ Transcribes one uploaded audio file into text with speaker diarization and timestamped audio events (laughs, sighs, pauses), returning the full transcript, a turn-by-turn dialog with speaker labels and start/end timestamps, the detected events and the word count. Use it when a recording must become text for analysis, review or storage of the transcript. The required file field takes a single audio upload limited to 1GB and 3 hours, with accepted MIME types audio/mpeg, audio/mp3, audio/mp4, audio/m4a, audio/wav, audio/wave, audio/x-wav, audio/flac, audio/x-flac, audio/ogg, audio/opus, video/ogg, audio/webm, video/webm, audio/aac and audio/x-aac. model is optional and defaults to falaai-transcribe-1, the only supported value; language is an optional two-letter code (pt, en, es, fr, de, it, ja, ko, nl, pl, ru, tr, zh, vi, id, th, ar, hi, cs, da, el, fi, he, hu, ms, no, ro, sk, sv, ta, uk) that forces the audio language and is auto-detected when omitted; client_reference_id is optional, charset A-Za-z0-9 space _/:.- up to 60 chars, echoed verbatim (not idempotency). Billing is 1 credit per second of processed audio with a minimum of 10 credits per request, rounded to 2 decimals; usage reports credits_consumed and processing_ms. Stateless: the audio is processed in memory and never persisted (LGPD). Returns id (tr-), language, language_confidence, duration_seconds, text, dialog, audio_events, event_types, word_count and input metadata (duration, format, codec, sample rate, channels).
17
+
16
18
  ### Examples
17
19
 
18
20
  ```ruby
@@ -29,7 +31,7 @@ file = File.new('/path/to/some/file') # File |
29
31
  opts = {
30
32
  model: 'model_example', # String |
31
33
  language: 'language_example', # String |
32
- client_reference_id: 'client_reference_id_example' # String | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9._:-]. Not idempotency.
34
+ client_reference_id: 'client_reference_id_example' # String | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9 _/:.-], max 60 chars. Not idempotency.
33
35
  }
34
36
 
35
37
  begin
@@ -65,8 +67,8 @@ end
65
67
  | ---- | ---- | ----------- | ----- |
66
68
  | **file** | **File** | | |
67
69
  | **model** | **String** | | [optional][default to &#39;falaai-transcribe-1&#39;] |
68
- | **language** | **String** | | [optional][default to &#39;pt&#39;] |
69
- | **client_reference_id** | **String** | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9._:-]. Not idempotency. | [optional] |
70
+ | **language** | **String** | | [optional] |
71
+ | **client_reference_id** | **String** | Optional client-supplied ID echoed verbatim in the response. Use to correlate/sync with your system. Accepted charset: [A-Za-z0-9 _/:.-], max 60 chars. Not idempotency. | [optional] |
70
72
 
71
73
  ### Return type
72
74
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **audio_seconds** | **Float** | Actual audio duration processed in seconds | |
8
- | **credits_consumed** | **Integer** | Number of credits consumed in this request | |
8
+ | **credits_consumed** | **Float** | Number of credits consumed in this request | |
9
9
  | **processing_ms** | **Integer** | Total processing time in milliseconds | |
10
10
 
11
11
  ## Example
data/docs/WhatsappApi.md CHANGED
@@ -9,10 +9,12 @@ All URIs are relative to *https://api01-falaai.action.tec.br*
9
9
 
10
10
  ## extract_conversations_v1_whatsapp_extract_conversations_post
11
11
 
12
- > <WhatsappConversationsResponse> extract_conversations_v1_whatsapp_extract_conversations_post(file, start, _end, timezone, date_format, opts)
12
+ > <ResponseExtractConversationsV1WhatsappExtractconversationsPost> extract_conversations_v1_whatsapp_extract_conversations_post(file, timezone, date_format, opts)
13
13
 
14
14
  Extract and segment WhatsApp conversations from an export
15
15
 
16
+ Extracts and segments the conversations of a WhatsApp export (.zip or .txt containing chat.txt in UTF-8 with at least one turn) and, unless it is a preview, resolves each selected conversation with AI by transcribing voice/audio/video notes and describing visual expressions, returning the segmented conversations with speakers, dialogs, counts and usage. Use dry_run=true for a PREVIEW: it validates the file, segments the conversations, counts media and ESTIMATES the credits WITHOUT calling the AI and WITHOUT charging (credits_charged=0), returning object whatsapp_preview with credits_total, the params actually used, the windows, per-conversation items and warnings. The window is given either as a single start/end pair or as windows, a JSON string holding a non-empty list of sub-objects each with start and end; windows must not be combined with start/end, and a windows selection is the deduplicated chronological union of the overlaps, which bypasses the noise filter and keeps conversations that are monologues or below min_messages, while for a single window sending only one of start/end is rejected and empty/all-zeros values select the real period of the export, both being allowed to be omitted in dry_run while outside dry_run both absent is rejected. timezone and date_format are required, where date_format must be day_first, month_first or year_first. gap_minutes is optional (default 720) and splits conversations on idle gaps, min_messages is optional (default 2) and is the minimum messages kept per conversation outside the explicit windows selection, voice_note is optional (default true) and turns voice/audio/video media into text, expression is optional (default true) and describes visual expressions (figurinha, GIF, emoji), and client_reference_id is optional, echoed verbatim, charset A-Za-z0-9 space _/:.- up to 60 chars. Billing outside the preview is 0.15 credit per conversation plus 0.15 per figurinha, 0.18 per GIF and 0.1 per emoji (only with expression=true) plus 0.19 per second of voice/audio/video (only with voice_note=true), rounded to 2 decimals with no rounding up, and the preview credits_total is the same exact sum with 2 decimals; files are limited to 1GB and the endpoint is stateless (export and media processed in memory, temporary files removed, nothing persisted), returning object conversations with id (wc-), usage and the conversations (conversation_id, first_at, last_at, duration_seconds, speakers, dialog, message_count, characters) plus meta.
17
+
16
18
  ### Examples
17
19
 
18
20
  ```ruby
@@ -26,20 +28,23 @@ end
26
28
 
27
29
  api_instance = FalaAI::WhatsappApi.new
28
30
  file = File.new('/path/to/some/file') # File |
29
- start = 'start_example' # String |
30
- _end = '_end_example' # String |
31
31
  timezone = 'timezone_example' # String |
32
32
  date_format = 'date_format_example' # String |
33
33
  opts = {
34
+ start: 'start_example', # String | Inicio da janela. Obrigatorio fora do dry_run; no dry_run ausente = primeiro turno do export.
35
+ _end: '_end_example', # String | Fim da janela. Obrigatorio fora do dry_run; no dry_run ausente = ultimo turno do export.
36
+ windows: 'windows_example', # String | Selecao explicita por varias janelas: JSON [{\\\"start\\\":\\\"...\\\",\\\"end\\\":\\\"...\\\"}]. Nao combinar com 'start'/'end'.
34
37
  gap_minutes: 8.14, # Float |
35
38
  min_messages: 56, # Integer |
36
- chars_per_minute: 8.14, # Float |
39
+ voice_note: true, # Boolean | Transcrever mensagens de voz/video gravadas na hora?
40
+ expression: true, # Boolean | Descrever expressoes visuais (figurinha/GIF/imagem)?
41
+ dry_run: true, # Boolean | So analisa o arquivo: valida, segmenta e ESTIMA os creditos SEM chamar a IA e SEM debitar (credits_charged=0).
37
42
  client_reference_id: 'client_reference_id_example' # String |
38
43
  }
39
44
 
40
45
  begin
41
46
  # Extract and segment WhatsApp conversations from an export
42
- result = api_instance.extract_conversations_v1_whatsapp_extract_conversations_post(file, start, _end, timezone, date_format, opts)
47
+ result = api_instance.extract_conversations_v1_whatsapp_extract_conversations_post(file, timezone, date_format, opts)
43
48
  p result
44
49
  rescue FalaAI::ApiError => e
45
50
  puts "Error when calling WhatsappApi->extract_conversations_v1_whatsapp_extract_conversations_post: #{e}"
@@ -50,15 +55,15 @@ end
50
55
 
51
56
  This returns an Array which contains the response data, status code and headers.
52
57
 
53
- > <Array(<WhatsappConversationsResponse>, Integer, Hash)> extract_conversations_v1_whatsapp_extract_conversations_post_with_http_info(file, start, _end, timezone, date_format, opts)
58
+ > <Array(<ResponseExtractConversationsV1WhatsappExtractconversationsPost>, Integer, Hash)> extract_conversations_v1_whatsapp_extract_conversations_post_with_http_info(file, timezone, date_format, opts)
54
59
 
55
60
  ```ruby
56
61
  begin
57
62
  # Extract and segment WhatsApp conversations from an export
58
- data, status_code, headers = api_instance.extract_conversations_v1_whatsapp_extract_conversations_post_with_http_info(file, start, _end, timezone, date_format, opts)
63
+ data, status_code, headers = api_instance.extract_conversations_v1_whatsapp_extract_conversations_post_with_http_info(file, timezone, date_format, opts)
59
64
  p status_code # => 2xx
60
65
  p headers # => { ... }
61
- p data # => <WhatsappConversationsResponse>
66
+ p data # => <ResponseExtractConversationsV1WhatsappExtractconversationsPost>
62
67
  rescue FalaAI::ApiError => e
63
68
  puts "Error when calling WhatsappApi->extract_conversations_v1_whatsapp_extract_conversations_post_with_http_info: #{e}"
64
69
  end
@@ -69,18 +74,21 @@ end
69
74
  | Name | Type | Description | Notes |
70
75
  | ---- | ---- | ----------- | ----- |
71
76
  | **file** | **File** | | |
72
- | **start** | **String** | | |
73
- | **_end** | **String** | | |
74
77
  | **timezone** | **String** | | |
75
78
  | **date_format** | **String** | | |
79
+ | **start** | **String** | Inicio da janela. Obrigatorio fora do dry_run; no dry_run ausente &#x3D; primeiro turno do export. | [optional] |
80
+ | **_end** | **String** | Fim da janela. Obrigatorio fora do dry_run; no dry_run ausente &#x3D; ultimo turno do export. | [optional] |
81
+ | **windows** | **String** | Selecao explicita por varias janelas: JSON [{\\\&quot;start\\\&quot;:\\\&quot;...\\\&quot;,\\\&quot;end\\\&quot;:\\\&quot;...\\\&quot;}]. Nao combinar com &#39;start&#39;/&#39;end&#39;. | [optional] |
76
82
  | **gap_minutes** | **Float** | | [optional][default to 720] |
77
83
  | **min_messages** | **Integer** | | [optional][default to 2] |
78
- | **chars_per_minute** | **Float** | | [optional][default to 800] |
84
+ | **voice_note** | **Boolean** | Transcrever mensagens de voz/video gravadas na hora? | [optional][default to true] |
85
+ | **expression** | **Boolean** | Descrever expressoes visuais (figurinha/GIF/imagem)? | [optional][default to true] |
86
+ | **dry_run** | **Boolean** | So analisa o arquivo: valida, segmenta e ESTIMA os creditos SEM chamar a IA e SEM debitar (credits_charged&#x3D;0). | [optional][default to false] |
79
87
  | **client_reference_id** | **String** | | [optional] |
80
88
 
81
89
  ### Return type
82
90
 
83
- [**WhatsappConversationsResponse**](WhatsappConversationsResponse.md)
91
+ [**ResponseExtractConversationsV1WhatsappExtractconversationsPost**](ResponseExtractConversationsV1WhatsappExtractconversationsPost.md)
84
92
 
85
93
  ### Authorization
86
94