-
Heb het denk ik gevonden. De eerste keer begint hij netjes met het juiste factuurnummer (dat ik ook opgeef) en komt dan met een goede factuur terug, bijvoorbeeld CF0050. Daarna doet hij $factuurnr++ maar dan verdwijnen de voorloopnullen. Dat gaat mogelijk goed als het begint met een ander getal maar bij mij start het dus met een 0. De 2e factuur probeert hij vervolgens CF51 op te halen en dat lukt niet. Dat moet CF0051 zijn.
Morgen weer een dag, dan even kijken of dat varkentje ff snel te wassen is. Gooooo php :P
-
Zo, werd net wakker en had ineens een goed idee...zie hier wat werkt bij mij. Dit is alleen het stuk na het drukken op de submit button. Geen controle nog op de invoer. Hij doet wel even wat dingetjes opschonen tussendoor zodat er netjes lege files komen op het moment dat er geen attachment beschikbaar is. Werkt goed voor wat ik in wf heb staan namelijk .jpg en .pdf files. Schiet maar wie weet kan ik het nog wat robuuster maken :)
Het zip gedeelte kreeg ik (nog) niet werkend maar dat is voor mij meer een leuk dingetje om misschien nog eens te doen :D
@DutchTSE
, bedankt voor de voorzet en de gelegenheid om de code te gebruiken!
PHP Code:
<?
if($_POST){
$api = new WeFactAPI();
$factuurnr = $_POST["from"];
$start = $_POST["from"];
$eind = $_POST["to"];
while($factuurnr <= $eind){
$response = '';
$decoded = '';
$factuurnr = sprintf('%04d', $factuurnr);
$attachmentParams = array( 'CreditInvoiceCode' => 'CF'.$factuurnr,
'Type' => 'creditinvoice'
);
$response = $api->sendRequest('attachment', 'download', $attachmentParams);
if($response["status"]==='success'){
$decoded = base64_decode ($response["success"]["1"]);
$cfile = fopen ('temp/CF'.$factuurnr."-".$response["success"]["0"],'w');
fwrite ($cfile,$decoded);
fclose ($cfile);
$factuurnr++;
} else {
$cfile = fopen ('temp/CF'.$factuurnr.'-geen-file','w');
fwrite ($cfile);
fclose ($cfile);
$factuurnr++;
}
}
}
?>
PS. mijn excuses voor de triple-post...kon nie slapen dus zat ff niks anders op...