NAME

WebService::Xential - A Xential REST API module

VERSION

version 0.004

SYNOPSIS

my $xential = WebService::Xential->new(
  api_user => 'foo',
  api_key => 'foo',
  api_host => '127.0.0.1',
);

my $who   = $xential->whoami();
my $other = $xential->impersonate(..., $who->{XSessionId});
my $session_id = $other{XSessionID};

my $ticket = $xential->create_ticket($xml, \%options, $session_id);
my $start = $xential->start_document(
    $ticket->{startDocumentUrl},
    $ticket->{ticketUuid},
    $session_id
);

# Status is either INVALID or VALID

if ($start->{status} eq 'VALID') {
    my $build = $xential->build_document(
        1,
        $start->{documentUuid},
        $session_id
    );

    if ($build->{status} eq 'done') {
        # build succeeded
    }
    else {
        # build failed
    }
}
else {
    use URI;
    $uri = URI->new($start{resumeUrl});
    $uri->scheme('https');
    $uri->query_form($uri->query_form, afterOpenAction => 'close');
    $uri->host($xential->api_host);
    # redirect user to $uri
}

DESCRIPTION

This module implements the REST API of Xential.

ATTRIBUTES

api_host

The API host of the Xential WebService

client

The OpenAPI::Client

METHODS

new()

my $xential = WebService::Xential->new(
  api_user => 'foo',
  api_key => 'foo',
  api_host => '127.0.0.1',
);

has_api_host()

Tells you if you have a custom API host defined

whoami($session_id)

Implements the whoami call from Xential

logout($session_id)

Implements the logout call from Xential

impersonate($username, $user_uuid, $session_id)

Implements the impersonate call from Xential

create_ticket($xml, $options, $session_id)

Implements the create_ticket call from Xential

start_document($username, $user_uuid, $session_id)

Implements the start_document call from Xential

build_document($username, $user_uuid, $session_id)

Implements the build_document call from Xential

api_call($operation, $query, $content)

A wrapper around the OpenAPI::Client::call function. Returns the JSON from the endpoint.

AUTHOR

Wesley Schwengle <waterkip@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2024 by Wesley Schwengle.

This is free software, licensed under:

The (three-clause) BSD License