9 Replies Latest reply: Apr 16, 2010 7:57 AM by miles_harrison RSS

    get licenses by distributor

    hgv-online

      Hello there,

      is it possible to get data about sold books for one specific distributor out of the ACS4?

      I only get the fulfillments filtered by distributor, but when I try to get the licenses I'm getting an

      E_ADEPT_PERMISSION_DENIED error (auth="builtin" is anabled).

       

      So, what's the prefered way to get information about what book was sold by which distributor?

       

      Thanks in advance,

      Simon

        • 1. Re: get licenses by distributor
          miles_harrison

          Did you get anywhere with this? I'm having the same issue.

          • 2. Re: get licenses by distributor
            Jim Lester Community Member

            You are not correctly signing the messages to admin APIs.  Look at QueryTool.jar (and the source) for an example of how to do this.

            • 3. Re: get licenses by distributor
              miles_harrison Community Member

              Perhaps I was not clear in my post. I'm have communication going in both directions so I have no issue with signing. I need to know if there is a way to get the licenses sold per distributor (not from the query tool the available books - resources - to sell).

               

              I need a way to work out who sold what or at least cross reference things.

               

              Thanks

              • 4. Re: get licenses by distributor
                Jim Lester Community Member

                Have you checked that the distribitor id you are putting into the distributor element is correctly formed (for a UUID) and that it exists?

                This is the other potential cause for that error.

                • 5. Re: get licenses by distributor
                  miles_harrison Community Member

                  Hi Jim,

                  I'm not getting the exact same error. I need to get licenses, or perhaps I should say fulfillments, by distributor. Need a retrospective report on fulfillments by distributor. I don't seem to be able to find a web service to do it.  The forum post in question seemed to suggest there was one but that he was getting an error. I've been through the documentation many times. It suggests a FulfillmentItemData but I've had no luck with a web service around that name (ManageFulfillmentItem etc). I'm now on the direct sql query route unless you have any suggestions?

                   

                  Thanks

                  Miles

                  • 6. Re: get licenses by distributor
                    hgv-online Community Member

                    Hi,

                    afaik you can't get licenses by distributor. Fetch the fulfillments via admin/ManageFulfillment, filtered by distributor and then fetch the license, filtered by userId and resourceId (these data you got from ManageFulfillment).

                    Hope this helps!

                    Adobe wasn't able to help me with this issue (obviously nobody understod my problem...). You know what I'm speaking of, don't you?!

                    Kind regards,

                    Simon

                    • 7. Re: get licenses by distributor
                      Jim Lester Community Member

                      If you need to do a join between two objects (licenses, distributors, etc) you are better off making direct SQL calls, since the API set doesn't address that.  For instance the following SQL statement wil generate a report with Distributor, Transaction Id, time, Title, Author, Publisher for all the fulfillments in the fulfillment table for the given date range

                       

                      SELECT distributor.name fulfillment.transid, fulfillment.transtime, resourceitem.title, 
                      resourceitem.creator, resourceitem.publisher FROM fulfillment
                      INNER JOIN fulfillmentitem ON (fulfillment.fulfillmentid =  fulfillmentitem.fulfillmentid)
                      INNER JOIN resourceitem ON (resourceitem.resourceid =  fulfillmentitem.resourceid)
                      INNER JOIN distributor ON (distributor.distid = fulfillment.distid )
                      ORDER BY distributor.name
                      WHERE <Put date range here using fulfillment.transtime for comparison>;

                      • 8. Re: get licenses by distributor
                        Jim Lester Community Member

                        Each error message is descriptive, and has it's own cause, so it's hard to say what's going on without knowing the error message.


                        However most likely for what you want to do, the direct SQL queries might be easier (see my earlier post for examples).

                        • 9. Re: get licenses by distributor
                          miles_harrison Community Member

                          Hi Jim,

                          Thanks for your help. I had already headed down the sql route as a fall back plan. The good thing that sql gives me is an easy access point to limit by date. Its a shame to use web services for some bits and sql for the other but never mind.

                           

                          Thanks for your time. Much appreciated.

                           

                          Miles