NAME
WebService::Async::Segment - Unofficial support for the Segment service
DESCRIPTION
This class acts as a Future-based async Perl wrapper for segment HTTP API.
METHODS
configure
Overrides the same method of the parent class IO::Async::Notifier; required for object initialization.
parameters:
write_key
- the API token of a Segment source.base_uri
- the base uri of the Segment host, primarily useful for setting up test mock servers.
write_key
API token of the intended Segment source
base_uri
Server endpoint. Defaults to https://api.segment.io/v1/
.
Returns a URI instance.
ua
A Net::Async::HTTP object acting as HTTP user agent
basic_authentication
Settings required for basic HTTP authentication
method_call
Makes a Segment method call. It automatically defaults sent_at
to the current time and context->{library}
to the current module.
It takes the following named parameters:
method
- required. Segment method name (such as identify and track).args
- optional. Method arguments represented as a dictionary. This may include either common, method-specific or custom fields.
Please refer to https://segment.com/docs/spec/common/ for a full list of common fields supported by Segment.
It returns a Future object.
new_customer
Creates a new WebService::Async::Segment::Customer
object as the starting point of making identify and track calls. It may takes the following named standard arguments to populate the customer onject with:
user_id
oruserId
- Unique identifier of a user.anonymous_id
oranonymousId
- A pseudo-unique substitute for a User ID, for cases when you don't have an absolutely unique identifier.traits
- Free-form dictionary of traits of the user, like email or name.
_snake_case_to_camelCase
Creates a deep copy of API call args, replacing the standard snake_case keys with equivalent camelCases, necessary to keep consistent with Segment HTTP API. It doesn't automatically alter any non-standard custom keys even they are snake_case.
$args
- call args as a hash reference.$snake_fields
- a hash ref representing mapping from snake_case to camelCase.
Returns a hash reference of args with altered keys.
INHERITED METHODS
- IO::Async::Notifier
-
add_child, adopt_future, adopted_futures, can_event, children, configure_unknown, debug_printf, get_loop, invoke_error, invoke_event, loop, make_event_cb, maybe_invoke_event, maybe_make_event_cb, new, notifier_name, parent, remove_child, remove_from_parent
AUTHOR
deriv.com DERIV@cpan.org
LICENSE
Copyright deriv.com 2019. Licensed under the same terms as Perl itself.