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 or userId - Unique identifier of a user. * anonymous_id or anonymousId- 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. AUTHOR deriv.com DERIV@cpan.org LICENSE Copyright deriv.com 2019. Licensed under the same terms as Perl itself.