ldc-crm-client/docs/client-api/classes/LDC-LDCCRM-Transport-Response.html
Jérémy Munsch f36447854b
API V3 UPDATE
This removes api authentication with token in favor of signature method.
Refactored code and clean up. It add more unit test plus code coverage
in test/coverage.

- Added   : mardown documentation.
- Changed : model Stats::getQuestionStats  to pass question as route parameter
- Changed : now requests need to have a signature generated with a private key (crm password) using hmac sha256 wrapping url, method and parameters
- Changed : now timestamp will timeout if request is slower than "timestampTimeout", this means crm will reject the request
- Changed : throw ValidationException s instead of TypeErrors
- Changed : timestamp has to be send in request with a DateTime format, it also has to a UTC value
- Fixed   : Change WPCRM dynamic session key, this could prevent spoofing session in some cases.
- Fixed   : closure validation
- Fixed   : model mutator not catching reflectionException
- Fixed   : really send json request using Guzzle internal lib methods.
- Removed : Api AUTH system with api token
- Removed : ApiError::needAuth
- Removed : composer vlucas/dotenv, .env file is not handled any more.
- Removed : LoginException
- Removed : memcached dependency
- Removed : need of memcached
- Removed : unused service provider
- Removed : WpCrm::forceLogin
- Removed : WpCrm::sendArcadiaMailDefault
- Removed : WpCrm::sendArcadiaMailGame
- Updated : PHPCS rules, phpcs fixes and refactored code
2021-12-31 17:00:55 +01:00

1105 lines
46 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CRM V2</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<base href="../">
<link rel="icon" href="images/favicon.ico"/>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/base.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/template.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.min.css" integrity="sha256-ybRkN9dBjhcS2qrW1z+hfCxq+1aBdwyQM5wlQoQVt/0=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-okaidia.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.css">
<script src="https://cdn.jsdelivr.net/npm/fuse.js@3.4.6"></script>
<script src="https://cdn.jsdelivr.net/npm/css-vars-ponyfill@2"></script>
<script src="js/search.js"></script>
<script defer src="js/searchIndex.js"></script>
</head>
<body id="top">
<header class="phpdocumentor-header phpdocumentor-section">
<h1 class="phpdocumentor-title"><a href="" class="phpdocumentor-title__link">CRM V2</a></h1>
<input class="phpdocumentor-header__menu-button" type="checkbox" id="menu-button" name="menu-button" />
<label class="phpdocumentor-header__menu-icon" for="menu-button">
<i class="fas fa-bars"></i>
</label>
<section data-search-form class="phpdocumentor-search">
<label>
<span class="visually-hidden">Search for</span>
<svg class="phpdocumentor-search__icon" width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="7.5" cy="7.5" r="6.5" stroke="currentColor" stroke-width="2"/>
<line x1="12.4892" y1="12.2727" x2="19.1559" y2="18.9393" stroke="currentColor" stroke-width="3"/>
</svg>
<input type="search" class="phpdocumentor-field phpdocumentor-search__field" placeholder="Loading .." disabled />
</label>
</section>
<nav class="phpdocumentor-topnav">
<ul class="phpdocumentor-topnav__menu">
</ul>
</nav>
</header>
<main class="phpdocumentor">
<div class="phpdocumentor-section">
<input class="phpdocumentor-sidebar__menu-button" type="checkbox" id="sidebar-button" name="sidebar-button" />
<label class="phpdocumentor-sidebar__menu-icon" for="sidebar-button">
Menu
</label>
<aside class="phpdocumentor-column -four phpdocumentor-sidebar">
<section class="phpdocumentor-sidebar__category">
<h2 class="phpdocumentor-sidebar__category-header">Namespaces</h2>
<h4 class="phpdocumentor-sidebar__root-namespace"><a href="namespaces/ldc.html">LDC</a></h4>
<ul class="phpdocumentor-list">
<li>
<a href="namespaces/ldc-ldccrm.html">LDCCRM</a>
</li>
</ul>
</section>
<section class="phpdocumentor-sidebar__category">
<h2 class="phpdocumentor-sidebar__category-header">Packages</h2>
<h4 class="phpdocumentor-sidebar__root-namespace"><a href="packages/LDCCrmClient.html">LDCCrmClient</a></h4>
<ul class="phpdocumentor-list">
<li>
<a href="packages/LDCCrmClient-enums.html">enums</a>
</li>
<li>
<a href="packages/LDCCrmClient-exceptions.html">exceptions</a>
</li>
<li>
<a href="packages/LDCCrmClient-models.html">models</a>
</li>
<li>
<a href="packages/LDCCrmClient-transport.html">transport</a>
</li>
<li>
<a href="packages/LDCCrmClient-utilities.html">utilities</a>
</li>
<li>
<a href="packages/LDCCrmClient-Wordpress.html">Wordpress</a>
</li>
</ul>
<h4 class="phpdocumentor-sidebar__root-namespace"><a href="packages/None.html">None</a></h4>
</section>
<section class="phpdocumentor-sidebar__category">
<h2 class="phpdocumentor-sidebar__category-header">Reports</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/deprecated.html">Deprecated</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/errors.html">Errors</a></h3>
<h3 class="phpdocumentor-sidebar__root-package"><a href="reports/markers.html">Markers</a></h3>
</section>
<section class="phpdocumentor-sidebar__category">
<h2 class="phpdocumentor-sidebar__category-header">Indices</h2>
<h3 class="phpdocumentor-sidebar__root-package"><a href="indices/files.html">Files</a></h3>
</section>
</aside>
<div class="phpdocumentor-column -eight phpdocumentor-content">
<ul class="phpdocumentor-breadcrumbs">
<li class="phpdocumentor-breadcrumb"><a href="namespaces/ldc.html">LDC</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/ldc-ldccrm.html">LDCCRM</a></li>
<li class="phpdocumentor-breadcrumb"><a href="namespaces/ldc-ldccrm-transport.html">Transport</a></li>
</ul>
<article class="phpdocumentor-element -class">
<h2 class="phpdocumentor-content__title">
Response
<div class="phpdocumentor-element__package">
in package
<ul class="phpdocumentor-breadcrumbs">
<li class="phpdocumentor-breadcrumb"><a href="packages/LDCCrmClient.html">LDCCrmClient</a></li>
<li class="phpdocumentor-breadcrumb"><a href="packages/LDCCrmClient-transport.html">transport</a></li>
</ul>
</div>
</h2>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">26</span>
</aside>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">subpackage</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<section class="phpdocumentor-description"><p>transport</p>
</section>
</dd>
</dl>
<h3 id="toc">
Table of Contents
<a href="#toc" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<dl class="phpdocumentor-table-of-contents">
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_apiError">$apiError</a>
<span>
&nbsp;: <a href="classes/LDC-LDCCRM-Enums-ApiError.html"><abbr title="\LDC\LDCCRM\Enums\ApiError">ApiError</abbr></a>|int </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_body">$body</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt; </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_data">$data</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt;|null </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_headers">$headers</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt; </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_httpCode">$httpCode</a>
<span>
&nbsp;: int </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_message">$message</a>
<span>
&nbsp;: string </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_status">$status</a>
<span>
&nbsp;: <a href="classes/LDC-LDCCRM-Enums-ApiStatus.html"><abbr title="\LDC\LDCCRM\Enums\ApiStatus">ApiStatus</abbr></a> </span>
</dt>
<dd></dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_apiError">$apiError</a>
<span>
&nbsp;: <a href="classes/LDC-LDCCRM-Enums-ApiError.html"><abbr title="\LDC\LDCCRM\Enums\ApiError">ApiError</abbr></a> </span>
</dt>
<dd>The api error</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_body">$body</a>
<span>
&nbsp;: string </span>
</dt>
<dd>The response body</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_headers">$headers</a>
<span>
&nbsp;: string </span>
</dt>
<dd>The response headers</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_httpCode">$httpCode</a>
<span>
&nbsp;: int </span>
</dt>
<dd>The response http code</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_message">$message</a>
<span>
&nbsp;: string </span>
</dt>
<dd>The interface message</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_response">$response</a>
<span>
&nbsp;: <abbr title="\Psr\Http\Message\ResponseInterface">ResponseInterface</abbr> </span>
</dt>
<dd>PSR response</dd>
<dt class="phpdocumentor-table-of-contents__entry -property -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_status">$status</a>
<span>
&nbsp;: <a href="classes/LDC-LDCCRM-Enums-ApiStatus.html"><abbr title="\LDC\LDCCRM\Enums\ApiStatus">ApiStatus</abbr></a> </span>
</dt>
<dd>The response status</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#method___construct">__construct()</a>
<span>
&nbsp;: mixed </span>
</dt>
<dd>Response</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -public">
<a href="classes/LDC-LDCCRM-Transport-Response.html#method___get">__get()</a>
<span>
&nbsp;: mixed|null </span>
</dt>
<dd>Generic accessor</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#method_checkVersion">checkVersion()</a>
<span>
&nbsp;: void </span>
</dt>
<dd>This checks if the crm version is way far beyond the client version.</dd>
<dt class="phpdocumentor-table-of-contents__entry -method -private">
<a href="classes/LDC-LDCCRM-Transport-Response.html#method_tryDecodeJson">tryDecodeJson()</a>
<span>
&nbsp;: array&lt;string|int, mixed&gt;|false </span>
</dt>
<dd>Try to decode json and return false if it is
not a valid json</dd>
</dl>
<section class="phpdocumentor-properties">
<h3 class="phpdocumentor-elements__header" id="properties">
Properties
<a href="classes/LDC-LDCCRM-Transport-Response.html#properties" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_apiError">
$apiError
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_apiError" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type"><a href="classes/LDC-LDCCRM-Enums-ApiError.html"><abbr title="\LDC\LDCCRM\Enums\ApiError">ApiError</abbr></a>|int</span>
<span class="phpdocumentor-signature__name">$apiError</span>
</code>
<section class="phpdocumentor-description"><p>The api error status it there is any</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_body">
$body
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_body" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">array&lt;string|int, mixed&gt;</span>
<span class="phpdocumentor-signature__name">$body</span>
</code>
<section class="phpdocumentor-description"><p>The http response body, this is parsed json</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_data">
$data
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_data" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">array&lt;string|int, mixed&gt;|null</span>
<span class="phpdocumentor-signature__name">$data</span>
</code>
<section class="phpdocumentor-description"><p>The reponse data</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_headers">
$headers
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_headers" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">array&lt;string|int, mixed&gt;</span>
<span class="phpdocumentor-signature__name">$headers</span>
</code>
<section class="phpdocumentor-description"><p>The http reponse headers</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_httpCode">
$httpCode
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_httpCode" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$httpCode</span>
</code>
<section class="phpdocumentor-description"><p>The http response code</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_message">
$message
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_message" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$message</span>
</code>
<section class="phpdocumentor-description"><p>The api message</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-public
"
>
<h4 class="phpdocumentor-element__name" id="property_status">
$status
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_status" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">0</span>
</aside>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__type"><a href="classes/LDC-LDCCRM-Enums-ApiStatus.html"><abbr title="\LDC\LDCCRM\Enums\ApiStatus">ApiStatus</abbr></a></span>
<span class="phpdocumentor-signature__name">$status</span>
</code>
<section class="phpdocumentor-description"><p>The response api status</p>
</section>
<section class="phpdocumentor-description"></section>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_apiError">
$apiError
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_apiError" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">40</span>
</aside>
<p class="phpdocumentor-summary">The api error</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type"><a href="classes/LDC-LDCCRM-Enums-ApiError.html"><abbr title="\LDC\LDCCRM\Enums\ApiError">ApiError</abbr></a></span>
<span class="phpdocumentor-signature__name">$apiError</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_body">
$body
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_body" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">61</span>
</aside>
<p class="phpdocumentor-summary">The response body</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$body</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_headers">
$headers
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_headers" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">54</span>
</aside>
<p class="phpdocumentor-summary">The response headers</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$headers</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_httpCode">
$httpCode
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_httpCode" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">47</span>
</aside>
<p class="phpdocumentor-summary">The response http code</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">int</span>
<span class="phpdocumentor-signature__name">$httpCode</span>
= <span class="phpdocumentor-signature__default-value">0</span></code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_message">
$message
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_message" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">68</span>
</aside>
<p class="phpdocumentor-summary">The interface message</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type">string</span>
<span class="phpdocumentor-signature__name">$message</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_response">
$response
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_response" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">75</span>
</aside>
<p class="phpdocumentor-summary">PSR response</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type"><abbr title="\Psr\Http\Message\ResponseInterface">ResponseInterface</abbr></span>
<span class="phpdocumentor-signature__name">$response</span>
</code>
</article>
<article
class="
phpdocumentor-element
-property
-private
"
>
<h4 class="phpdocumentor-element__name" id="property_status">
$status
<a href="classes/LDC-LDCCRM-Transport-Response.html#property_status" class="headerlink"><i class="fas fa-link"></i></a>
<span class="phpdocumentor-element__modifiers">
</span>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">33</span>
</aside>
<p class="phpdocumentor-summary">The response status</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__type"><a href="classes/LDC-LDCCRM-Enums-ApiStatus.html"><abbr title="\LDC\LDCCRM\Enums\ApiStatus">ApiStatus</abbr></a></span>
<span class="phpdocumentor-signature__name">$status</span>
</code>
</article>
</section>
<section class="phpdocumentor-methods">
<h3 class="phpdocumentor-elements__header" id="methods">
Methods
<a href="classes/LDC-LDCCRM-Transport-Response.html#methods" class="headerlink"><i class="fas fa-link"></i></a>
</h3>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___construct">
__construct()
<a href="classes/LDC-LDCCRM-Transport-Response.html#method___construct" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">84</span>
</aside>
<p class="phpdocumentor-summary">Response</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__construct</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type"><a href="classes/LDC-LDCCRM-Enums-ApiStatus.html"><abbr title="\LDC\LDCCRM\Enums\ApiStatus">ApiStatus</abbr></a>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$status</span></span><span class="phpdocumentor-signature__argument"><span>, </span><span class="phpdocumentor-signature__argument__return-type"><abbr title="\Psr\Http\Message\ResponseInterface">ResponseInterface</abbr>&nbsp;</span><span class="phpdocumentor-signature__argument__name">$response</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed</span></code>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$status</span>
: <span class="phpdocumentor-signature__argument__return-type"><a href="classes/LDC-LDCCRM-Enums-ApiStatus.html"><abbr title="\LDC\LDCCRM\Enums\ApiStatus">ApiStatus</abbr></a></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$response</span>
: <span class="phpdocumentor-signature__argument__return-type"><abbr title="\Psr\Http\Message\ResponseInterface">ResponseInterface</abbr></span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">throws</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><a href="classes/LDC-LDCCRM-Exceptions-CrmException.html"><abbr title="\LDC\LDCCRM\Exceptions\CrmException">CrmException</abbr></a></span>
<section class="phpdocumentor-description"><p>If HTTP response body in not JSON.</p>
</section>
</dd>
</dl>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">mixed</span>
&mdash;
</article>
<article
class="phpdocumentor-element
-method
-public
"
>
<h4 class="phpdocumentor-element__name" id="method___get">
__get()
<a href="classes/LDC-LDCCRM-Transport-Response.html#method___get" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">137</span>
</aside>
<p class="phpdocumentor-summary">Generic accessor</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">public</span>
<span class="phpdocumentor-signature__name">__get</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$field</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">mixed|null</span></code>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$field</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">mixed|null</span>
&mdash;
</article>
<article
class="phpdocumentor-element
-method
-private
"
>
<h4 class="phpdocumentor-element__name" id="method_checkVersion">
checkVersion()
<a href="classes/LDC-LDCCRM-Transport-Response.html#method_checkVersion" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">180</span>
</aside>
<p class="phpdocumentor-summary">This checks if the crm version is way far beyond the client version.</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__name">checkVersion</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$version</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">void</span></code>
<section class="phpdocumentor-description"><p>If a minor version mismatch is detected we will log this as a warning.
If a major version mismatch is detected we will throw a CrmException as
there shall be an incompatibility with the response.</p>
<p>The goal here is to force clients to be up to date.
A major version change means breaking change.</p>
</section>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$version</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-tag-list__heading" id="tags">
Tags
<a href="#tags" class="headerlink"><i class="fas fa-link"></i></a>
</h5>
<dl class="phpdocumentor-tag-list">
<dt class="phpdocumentor-tag-list__entry">
<span class="phpdocumentor-tag__name">throws</span>
</dt>
<dd class="phpdocumentor-tag-list__definition">
<span class="phpdocumentor-tag-link"><a href="classes/LDC-LDCCRM-Exceptions-CrmException.html"><abbr title="\LDC\LDCCRM\Exceptions\CrmException">CrmException</abbr></a></span>
<section class="phpdocumentor-description"><p>If a major version mismatch is detected.</p>
</section>
</dd>
</dl>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">void</span>
&mdash;
</article>
<article
class="phpdocumentor-element
-method
-private
"
>
<h4 class="phpdocumentor-element__name" id="method_tryDecodeJson">
tryDecodeJson()
<a href="classes/LDC-LDCCRM-Transport-Response.html#method_tryDecodeJson" class="headerlink"><i class="fas fa-link"></i></a>
</h4>
<aside class="phpdocumentor-element-found-in">
<abbr class="phpdocumentor-element-found-in__file" title="src/Transport/Response.php"><a href="files/src-transport-response.html"><abbr title="src/Transport/Response.php">Response.php</abbr></a></abbr>
:
<span class="phpdocumentor-element-found-in__line">160</span>
</aside>
<p class="phpdocumentor-summary">Try to decode json and return false if it is
not a valid json</p>
<code class="phpdocumentor-code phpdocumentor-signature ">
<span class="phpdocumentor-signature__visibility">private</span>
<span class="phpdocumentor-signature__name">tryDecodeJson</span><span>(</span><span class="phpdocumentor-signature__argument"><span class="phpdocumentor-signature__argument__return-type">string&nbsp;</span><span class="phpdocumentor-signature__argument__name">$string</span></span><span>)</span><span> : </span><span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;|false</span></code>
<h5 class="phpdocumentor-argument-list__heading">Parameters</h5>
<dl class="phpdocumentor-argument-list">
<dt class="phpdocumentor-argument-list__entry">
<span class="phpdocumentor-signature__argument__name">$string</span>
: <span class="phpdocumentor-signature__argument__return-type">string</span>
</dt>
<dd class="phpdocumentor-argument-list__definition">
</dd>
</dl>
<h5 class="phpdocumentor-return-value__heading">Return values</h5>
<span class="phpdocumentor-signature__response_type">array&lt;string|int, mixed&gt;|false</span>
&mdash;
<section class="phpdocumentor-description"><p>Returns an associative data array or false if failed to parse.</p>
</section>
</article>
</section>
<script type="text/javascript">
function loadExternalCodeSnippets(line) {
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach((pre) => {
var src = pre.getAttribute('data-src').replace( /\\/g, '/');
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
var language = 'php';
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
pre.setAttribute('data-line', line)
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist, is empty or trying to view from localhost';
}
}
};
xhr.send(null);
});
}
var modals = document.querySelectorAll("[data-modal]");
modals.forEach(function (trigger) {
trigger.addEventListener("click", function (event) {
//event.preventDefault();
const modal = document.getElementById(trigger.dataset.modal);
modal.classList.add("phpdocumentor-modal__open");
loadExternalCodeSnippets(trigger.dataset.line)
const exits = modal.querySelectorAll("[data-exit-button]");
exits.forEach(function (exit) {
exit.addEventListener("click", function (event) {
event.preventDefault();
modal.classList.remove("phpdocumentor-modal__open");
});
});
});
});
</script>
</article>
<section data-search-results class="phpdocumentor-search-results phpdocumentor-search-results--hidden">
<section class="phpdocumentor-search-results__dialog">
<header class="phpdocumentor-search-results__header">
<h2 class="phpdocumentor-search-results__title">Search results</h2>
<button class="phpdocumentor-search-results__close"><i class="fas fa-times"></i></button>
</header>
<section class="phpdocumentor-search-results__body">
<ul class="phpdocumentor-search-results__entries"></ul>
</section>
</section>
</section>
</div>
</div>
<a href="classes/LDC-LDCCRM-Transport-Response.html#top" class="phpdocumentor-back-to-top"><i class="fas fa-chevron-circle-up"></i></a>
</main>
<script>
cssVars({});
</script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/prism.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/plugins/line-highlight/prism-line-highlight.min.js"></script>
</body>
</html>