1. Go to this page and download the library: Download php-twinfield/twinfield library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php-twinfield / twinfield example snippets
$connection = new Secure\WebservicesAuthentication("username", "password", "organization");
$office = Office::fromCode("someOfficeCode");
$officeApi = new \PhpTwinfield\ApiConnectors\OfficeApiConnector($connection);
$officeApi->setOffice($office);
$connection = new \PhpTwinfield\Secure\OpenIdConnectAuthentication($provider, $refreshToken, $office);
$connection->setAccessToken($accessToken);
$connection = new \PhpTwinfield\Secure\OpenIdConnectAuthentication($provider, $refreshToken, $office, $accessToken);
$connection->registerAfterValidateCallback(
function(\League\OAuth2\Client\Token\AccessTokenInterface $accessToken) {
// Store the access token.
}
);
$connection = new Secure\WebservicesAuthentication("username", "password", "organization");
$customerApiConnector = new ApiConnectors\CustomerApiConnector($connection);
// Get one customer.
$office = Office::fromCode('office code');
$customer = $customerApiConnector->get('1001', $office);
// Get a list of all customers.
$customer = $customerApiConnector->listAll($office);
$customer_factory = new ApiConnectors\CustomerApiConnector($connection);
// First, create the objects you want to send.
$customer = new Customer();
$customer
->setCode('1001')
->setName('John Doe')
->setOffice($office)
->setEBilling(false);
$customer_address = new CustomerAddress();
$customer_address
->setType('invoice')
->setDefault(false)
->setPostcode('1212 AB')
->setCity('TestCity')
->setCountry('NL')
->setTelephone('010-12345')
->setFax('010-1234')
->setEmail('[email protected]');
$customer->addAddress($customer_address);
// And secondly, send it to Twinfield.
$customer_factory->send($customer);
$connector = new BrowseDataApiConnector($connection);
$browseDefinition = $connector->getBrowseDefinition('000');
$connector = new BrowseDataApiConnector($connection);
$browseFields = $connector->getBrowseFields();
$connector = new BrowseDataApiConnector($connection);
// First, create the columns that you want to retrieve (see the browse definition for which columns are available)
$columns[] = (new BrowseColumn())
->setField('fin.trs.head.yearperiod')
->setLabel('Period')
->setVisible(true)
->setAsk(true)
->setOperator(Enums\BrowseColumnOperator::BETWEEN())
->setFrom('2013/01')
->setTo('2013/12');
$columns[] = (new BrowseColumn())
->setField('fin.trs.head.code')
->setLabel('Transaction type')
->setVisible(true);
$columns[] = (new BrowseColumn())
->setField('fin.trs.head.shortname')
->setLabel('Name')
->setVisible(true);
$columns[] = (new BrowseColumn())
->setField('fin.trs.head.number')
->setLabel('Trans. no.')
->setVisible(true);
$columns[] = (new BrowseColumn())
->setField('fin.trs.line.dim1')
->setLabel('General ledger')
->setVisible(true)
->setAsk(true)
->setOperator(Enums\BrowseColumnOperator::BETWEEN())
->setFrom('1300')
->setTo('1300');
$columns[] = (new BrowseColumn())
->setField('fin.trs.head.curcode')
->setLabel('Currency')
->setVisible(true);
$columns[] = (new BrowseColumn())
->setField('fin.trs.line.valuesigned')
->setLabel('Value')
->setVisible(true);
$columns[] = (new BrowseColumn())
->setField('fin.trs.line.description')
->setLabel('Description')
->setVisible(true);
// Second, create sort fields
$sortFields[] = new BrowseSortField('fin.trs.head.code');
// Get the browse data
$browseData = $connector->getBrowseData('000', $columns, $sortFields);
/**
* This will allow you to enfornce the messages or the number of max retries.
* Passing null you will use the default values.
*/
public function __construct(?array $messages = null, ?int $maxRetries = null);
/**
* This will allow you to get all the exception messages
*/
public function getRetriableExceptionMessages(): array
/**
* This will allow you to replace the exception messages that should be retried
*/
public function setRetriableExceptionMessages(array $retriableExceptionMessages): ApiOptions
/**
* This will allow you to add new messages to the array of exception messages
*/
public function addMessages(array $messages): ApiOptions
/**
* This will allow you to get the number of max retries
*/
public function getMaxRetries(): int
/**
* This will allow you to set the number of max retries
*/
public function setMaxRetries(int $maxRetries): ApiOptions
$connector = new BrowseDataApiConnector(
$connection,
new ApiOptions(
[
"SSL: Connection reset by peer",
"Bad Gateway"
],
3
)
);
$options = new ApiOptions(
null,
3
);
$connector = new BrowseDataApiConnector(
$connection,
$options->addMessages(["Bad Gateway"])
);
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.