Skip to main content

CallRecord

Struct CallRecord 

Source
pub struct CallRecord {
Show 33 fields pub _id: Option<String>, pub account_id: Option<String>, pub conversation_id: Option<Option<String>>, pub contact_id: Option<Option<String>>, pub channel: Option<Channel>, pub direction: Option<Direction>, pub from: Option<String>, pub to: Option<String>, pub forward_to: Option<Option<String>>, pub greeting: Option<Option<String>>, pub status: Option<Status>, pub is_voicemail: Option<bool>, pub amd: Option<bool>, pub answered_machine: Option<Option<bool>>, pub forward_caller_id: Option<ForwardCallerId>, pub recording_enabled: Option<bool>, pub transcription_enabled: Option<bool>, pub transcription_language: Option<TranscriptionLanguage>, pub started_at: Option<String>, pub answered_at: Option<Option<String>>, pub ended_at: Option<Option<String>>, pub transferred_at: Option<Option<String>>, pub duration_seconds: Option<i32>, pub end_reason: Option<EndReason>, pub hangup_cause: Option<Option<String>>, pub sip_hangup_cause: Option<Option<String>>, pub call_errors: Option<Vec<CallRecordCallErrorsInner>>, pub recording_url: Option<Option<String>>, pub last_transcript_snippet: Option<Option<String>>, pub transcript: Option<Vec<CallRecordTranscriptInner>>, pub billing: Option<Box<CallRecordBilling>>, pub created_at: Option<String>, pub updated_at: Option<String>,
}
Expand description

CallRecord : One call on a number you own, either channel. channel tells you which lane it took: whatsapp (WhatsApp Business Calling) or pstn (a regular phone call). List endpoints omit transcript; use lastTranscriptSnippet for a preview and the detail endpoint for the full transcript.

Fields§

§_id: Option<String>§account_id: Option<String>

Owning social account. The unified /v1/calls/{id} detail + recording endpoints work for any channel; the channel-specific endpoints remain for account-scoped access.

§conversation_id: Option<Option<String>>

Inbox conversation with the counterparty, when one exists.

§contact_id: Option<Option<String>>

CRM Contact for the counterparty, when resolved.

§channel: Option<Channel>§direction: Option<Direction>§from: Option<String>

Caller number (E.164).

§to: Option<String>

Callee number (E.164).

§forward_to: Option<Option<String>>

Destination the call was routed to (tel:/sip:/wss:), snapshotted at routing time.

§greeting: Option<Option<String>>

Outbound PSTN only. Message spoken to the callee on answer, before the bridge.

§status: Option<Status>§is_voicemail: Option<bool>

True when an inbound call went to voicemail.

§amd: Option<bool>

Outbound answering-machine detection was requested for this call.

§answered_machine: Option<Option<bool>>

With amd, whether a machine (vs a human) answered.

§forward_caller_id: Option<ForwardCallerId>

Caller ID presented on the forwarded leg.

§recording_enabled: Option<bool>

Effective flag for THIS call (number default + per-call override, resolved at create time).

§transcription_enabled: Option<bool>§transcription_language: Option<TranscriptionLanguage>§started_at: Option<String>§answered_at: Option<Option<String>>§ended_at: Option<Option<String>>§transferred_at: Option<Option<String>>

When the call was blind-transferred (POST /v1/voice/calls/{id}/transfer).

§duration_seconds: Option<i32>§end_reason: Option<EndReason>§hangup_cause: Option<Option<String>>

Raw carrier hangup cause behind endReason (e.g. normal_clearing, not_found, time_limit) — the actual motive when endReason is a coarse bucket.

§sip_hangup_cause: Option<Option<String>>

SIP response code that ended the call, when SIP-signalled (e.g. ‘403’, ‘488’). The real failure reason for SIP legs.

§call_errors: Option<Vec<CallRecordCallErrorsInner>>

Per-call failure log (dial failed, bridge failed, recording error).

§recording_url: Option<Option<String>>

May be expired. Resolve a fresh playable URL via GET /v1/calls/{id}/recording (any channel).

§last_transcript_snippet: Option<Option<String>>

Most recent transcript segment, for list previews.

§transcript: Option<Vec<CallRecordTranscriptInner>>

Full transcript segments (detail endpoint only; omitted from lists).

§billing: Option<Box<CallRecordBilling>>§created_at: Option<String>§updated_at: Option<String>

Implementations§

Source§

impl CallRecord

Source

pub fn new() -> CallRecord

One call on a number you own, either channel. channel tells you which lane it took: whatsapp (WhatsApp Business Calling) or pstn (a regular phone call). List endpoints omit transcript; use lastTranscriptSnippet for a preview and the detail endpoint for the full transcript.

Trait Implementations§

Source§

impl Clone for CallRecord

Source§

fn clone(&self) -> CallRecord

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CallRecord

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CallRecord

Source§

fn default() -> CallRecord

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for CallRecord

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for CallRecord

Source§

fn eq(&self, other: &CallRecord) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for CallRecord

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for CallRecord

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more