API - Send Invoice Online URL Property

Hi, I’m linking my current hire stock management system in to Quickfile. I have managed to create a client and invoice through the API which is great, but what I really want to be able to do is use the generated URL when you flag an invoice as ‘sent’ so I can include this as a payment link on the system I create the main paperwork on.

Is this possible? I cannot see an option anywhere for this URL? It usually looks like this:
https://???.quickfile.co.uk/?d=duzWsnUwCeDc3ln9DLCw79%2f/???CfsVn903qTnw%3d

Either that or an option which would be able to take the client straight to the ‘Pay Online’ page, (I currently use Stripe) would also work.

Thanks - Sam.

Hi @aslenord

Would something like this be what you’re looking for?

[API] Generate link to "chromeless" online payment page

Just to add to this, the API method, System_Login, can be found here: https://api.quickfile.co.uk/d/v1_2/System_Login

Hi @QFMathew

Thanks for that, looks promising. I’ll give it a go and let you know if I run in to any issues. Thanks for the speedy reply.

Sam.

Hi @QFMathew

Is the documentation definitely correct? I’m getting an error saying:

“14The element ‘LandingPage’ in namespace ‘https://api.quickfile.co.uk’ has invalid child element ‘InvoiceView’ in namespace ‘https://api.quickfile.co.uk’.”

I’ve created the JSON object in the same way as all the others which have worked fine, but I also notice that on the example JSON query on the Sandbox, the request doesn’t include the ‘CustomPath’ or ‘InvoiceView --> InvoiceID’ parameters.

Please advise? Thanks!

Hi @aslenord

I do apologise - my error! I seem to have given you a depreciated method.

The current (and correct) method is Client_Login:
https://api.quickfile.co.uk/d/v1_2/Client_LogIn

The below example body would work fine (with valid IDs):

    "Body": {
      "LandingPage": {
        "InvoiceView": {
            "InvoiceID": 654321
        }
      },
      "ClientID": 123456
    }

Hi @QFMatthew,

The link that’s generated seems to take me to the client dashboard rather than the individual invoice?

If I add “Dashboard” to the Json construct under LandingPage as per the documentation I get an error saying InvoiceView is an invalid child element of LandingPage. If I remove the Dashboard element the query accepts but the link generated takes me to the dashboard, not the invoice as specified in the Invoice ID?

Seems strange… any advice is appreciated.

Thanks - Sam.

Looking at the schema for the XML version of the endpoint it looks like it accepts either Dashboard or InvoiceView but not both.

Is the ID definitely valid? It’s an invoice ID (the internal ID, as on the end of the https://yourcompany.quickfile.co.uk/sales/preview?invoiceID=12345678 URL), not an invoice number (the customer-facing sequential number).

Hi Ian,

That makes sense of my error with the Json query problem, but still doesn’t solve the fact that even when I specify InvoiceView on it’s own without dashboard, the page returned is the dashboard, not the invoice.

I am assuming the Invoice ID required is the ID generated by the Invoice_create/invoice_search calls, not the incremental ones listed on the invoice view?

The program I have at the minute creates a client using client_create, and saves their ID, creates and invoice using invoice_create for the client and saves the invoice ID, and then passes both those parameters to the Client_Login function.

Thanks

Then I’d expect that to work, we’ll have to wait for someone on QuickFile staff to be able to take a look from their side.

Apologies for that @aslenord. I’ve logged this with our development team to be reviewed.

Thanks for your help @QFMathew

1 Like