picqer / moneybird-php-client

PHP Client for Moneybird V2
MIT License
82 stars 77 forks source link

Add Estimates #19

Closed striderxfossility closed 8 years ago

striderxfossility commented 8 years ago

Can you help me how to add an estimate?

<?php include("../header.php"); $id = $_POST['dbid'];

error_reporting(E_ALL); ini_set('display_errors', 1);

require '../vendor/autoload.php';

$connection = new \Picqer\Financials\Moneybird\Connection(); $connection->setClientId('CLIENTID'); $connection->setClientSecret('CLIENTSECRET'); $connection->setAuthorizationCode('AUTHORIZATIONCODE'); $connection->setAccessToken('ACCESTOKEN'); $administrationId = 'ADMINISTRATION ID';

try { $connection->connect(); } catch (\Exception $e) { throw new Exception('Could not connect to Moneybird: ' . $e->getMessage()); }

$connection->setAdministrationId($administrationId);

$moneybird = new \Picqer\Financials\Moneybird\Moneybird($connection);

$contacs= $con->query("SELECT * FROM contacts WHERE id='$id'"); if( $contacs->num_rows>0 ) { while ( $contact= $contacs->fetch_object() ) { $email = $contact->email; } }

$emails = $con->query("SELECT * FROM moneybirdContacten WHERE email='$email'"); if( $emails->num_rows>0 ) { while ( $email = $emails->fetch_object() ) { $contactid = $email->moneybirdid; } }

$workflow_id = 'WORKFLOWID'; $document_style_id = 'DOCUMENTSTYLEID';

$estimate = $moneybird->estimate(); $estimate->contact_id = $contactid; $estimate->workflow_id = $workflow_id; $estimate->document_style_id = $document_style_id; $estimate->save(); ?>

I added Estimate to moneybird.php

stephangroen commented 8 years ago

I have added estimates factory now. What error do you get?

striderxfossility commented 8 years ago

Fatal error: Uncaught exception 'Picqer\Financials\Moneybird\Exceptions\ApiException' with message 'Error 404: {"error":"record not found"}' in /home/DOMEIN/domains/DOMEIN.nl/public_html/panel/pages/vendor/picqer/moneybird-php-client/src/Picqer/Financials/Moneybird/Connection.php:387 Stack trace: #0 /home/DOMEIN/domains/DOMEIN.nl/public_html/panel/pages/vendor/picqer/moneybird-php-client/src/Picqer/Financials/Moneybird/Connection.php(199): Picqer\Financials\Moneybird\Connection->parseExceptionForErrorMessages(Object(GuzzleHttp\Exception\ClientException)) #1 /home/DOMEIN/domains/DOMEIN.nl/public_html/panel/pages/vendor/picqer/moneybird-php-client/src/Picqer/Financials/Moneybird/Actions/Storable.php(28): Picqer\Financials\Moneybird\Connection->post('estimates', '{"estimate":{"c...') #2 /home/DOMEIN/domains/DOMEIN.nl/public_html/panel/pages/vendor/picqer/moneybird-php-client/src/Picqer/Financials/Moneybird/Actions/Storable.php(19): Picqer\Financials\Moneybird\Entities\Estimate->insert() #3 /home/t in /home/DOMEIN/domains/DOMEIN.nl/public_html/panel/pages/vendor/picqer/moneybird-php-client/src/Picqer/Financials/Moneybird/Connection.php on line 387

stephangroen commented 8 years ago

Well the error is as it states, there is no record found / the client receives a 404 from Moneybird. You could try and debug to see what URL what content is being posted to.