=encoding utf8

=for comment POD_DERIVED_INDEX_GENERATED
The following documentation is automatically generated.  Please do not edit
this file, but rather the original, inline with WebService::GAMSTOP
at lib/WebService/GAMSTOP.pm
(on the system that originally ran this).
If you do edit this file, and don't want your changes to be removed, make
sure you change the first line.

=cut

=head1 NAME

WebService::GAMSTOP - GAMSTOP API Client Implementation

=head1 VERSION

version 0.001

=head1 SYNOPSIS

    use WebService::GAMSTOP;
    my $instance = WebService::GAMSTOP->new(
        api_url => 'gamstop_api_url',
        api_key => 'gamstop_api_key',
        # optional (defaults to 5 seconds)
        timeout => 10,
    );

    $instance->get_exclusion_for(
        first_name    => 'Harry',
        last_name     => 'Potter',
        email         => 'harry.potter@example.com',
        date_of_birth => '1970-01-01',
        postcode      => 'hp11aa',
    );

=head1 DESCRIPTION

This module implements a programmatic interface to
[GAMSTOP](https://www.gamstop.co.uk/) API.

=head1 PRE-REQUISITE

Before you can use this module, you'll need to obtain your
own "Unique API Key" from [GAMSTOP](https://www.gamstop.co.uk/).

=head1 ATTRIBUTES

L<WebService::GAMSTOP> implements the following attributes

=head2 api_url

GAMSTOP API endpoint url (REQUIRED)

=head2 api_key

GAMSTOP API unique key for operator (REQUIRED)

=head2 timeout

Maximum amount of time in seconds establishing a
connection may take before getting canceled
(OPTIONAL - DEFAULT 5 seconds)

=head1 METHODS

=head2 get_exclusion_for

Given user details return L<WebService::GAMSTOP::Response> object
Note: it dies if an error occur connecting to GAMSTOP API endpoint

=head3 Required parameters

=over 4

=item * first_name   : First name of person, only 20 characters are significant

=item * last_name    : Last name of person, only 20 characters are significant

=item * date_of_birth: Date of birth in ISO format (yyyy-mm-dd)

=item * email        : Email address

=item * postcode     : Postcode (spaces not significant)

=item * mobile       : UK mobile telephone number which may include spaces,
                       hyphens and optionally be prefixed with the
                       international dialling code(+44, 0044, +353, 00353).

=back

=head3 Optional parameters

=over 4

x_trace_id: A freeform field that is put into audit log that can be used
by the caller to identify a request. This might be something to indicate
the person being checked, a unique request ID, GUID, or a trace ID from
a system such as zipkin.

=back

=head3 Return value

=over 4

A L<WebService::GAMSTOP::Response> object

=back

=head1 INHERITED METHODS

=over 4

=item L<Moo::Object>

L<BUILDALL|Moo::Object/BUILDALL>, L<BUILDARGS|Moo::Object/BUILDARGS>, L<DEMOLISHALL|Moo::Object/DEMOLISHALL>, L<does|Moo::Object/does>, L<meta|Moo::Object/meta>

=back

=head1 AUTHOR

binary.com <cpan@binary.com>

=head1 COPYRIGHT AND LICENSE

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

