3CX icon

3CX

Interact with 3CX telephony system

Actions462

Overview

This node interacts with the 3CX telephony system to download reports on outbound calls. Specifically, the "Download Get Outbound Calls" operation allows users to retrieve detailed call data for a specified period, trunk DNS, and call type, adjusted to a client time zone. This is useful for telecom administrators or analysts who need to monitor outbound call activity, generate usage reports, or audit call logs.

Practical examples include:

  • Downloading outbound call records for a specific date range to analyze call volume trends.
  • Filtering calls by trunk DNS to assess performance or issues related to particular trunks.
  • Using query options like filtering, ordering, or selecting specific fields to tailor the report output.

Properties

Name Meaning
Period From Start date/time of the reporting period (usage: periodFrom={periodFrom}).
Period To End date/time of the reporting period (usage: periodTo={periodTo}).
Trunk Dns The DNS name of the trunk to filter outbound calls (usage: trunkDns={trunkDns}).
Calls Type Numeric code representing the type of calls to include (usage: callsType={callsType}).
Client Time Zone Time zone string to adjust timestamps in the report (usage: clientTimeZone={clientTimeZone}).
Options Collection of optional OData-like query parameters to refine the request:
- Top Show only the first n items.
- Skip Skip the first n items.
- Search Search items by phrases; supports automatic quoting if needed.
- Filter Filter items by property values (e.g., State eq 'Connected').
- Count Include count of items (boolean).
- Select Select specific properties to be returned (e.g., Id,Name).
- Orderby Order items by property values (e.g., Name desc, CreatedAt asc).
- Expand Expand related entities (e.g., RelatedEntity1,RelatedEntity2).

Output

The node outputs JSON data containing the requested outbound call report information. The structure corresponds to the filtered and selected properties as per the input options. The output typically includes details such as call timestamps, durations, trunk information, call status, and other relevant metadata.

If binary data were involved (e.g., file downloads), it would be summarized accordingly, but this node focuses on JSON response data from the 3CX API.

Dependencies

  • Requires an active connection to a 3CX telephony system via its API.
  • Needs an API authentication token or OAuth2 credential configured in n8n to authorize requests.
  • The base URL for the 3CX server must be set in the credentials.
  • The node uses standard HTTP headers accepting JSON responses.

Troubleshooting

  • Common Issues:

    • Invalid or missing required parameters (periodFrom, periodTo, trunkDns, callsType, clientTimeZone) will cause the request to fail.
    • Incorrect time zone strings may lead to unexpected timestamp conversions.
    • Network connectivity or authentication failures with the 3CX server.
    • Improperly formatted query options (e.g., invalid $filter syntax) can result in API errors.
  • Error Messages:

    • Authentication errors indicate problems with the API key or OAuth token; verify credentials.
    • 400-series errors often relate to invalid parameters; check the input values carefully.
    • 500-series errors suggest server-side issues; retry later or contact 3CX support.

Links and References

Discussion