Jump to content

Lee Savidge

Members
  • Posts

    14
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Lee Savidge

  1. Cheers @Preston, Charlie I had not seen those 🙂 Is there one showing the code to to the authorisation? The examples seem to assume I have an access token already, or did I miss something? Thanks
  2. Definitely need to get some C# example code for the REST API.
  3. If you're posting data to the standard API via the XML gateway, then you can't use key based authentication like OAUTH. Only the REST API allows that. XML: https://developer.intacct.com/api/ REST: https://developer.sage.com/intacct/docs/openapi/
  4. Which API are you using? The XML gateway or the REST API? If you're using the XML gateway, they there isn't any keybased authentication. It's done via a sender ID and password which enables you access through the gateway, and then a company ID, username, and password to allow you access to a specific company. The REST API uses OAUTH.
  5. I regularly do external API posts for external processing to our services endpoints. I always use the name/value pairs as it does a form post and the data is application/x-www-form-urlencoded so you pick them up from the request header as key/value pairs. It's pretty easy. However, I ALWAYS pass these 3 in all requests: sessionid={!USERPROFILE.SESSIONID!} endpoint={!API_ENDPOINT!} useremail={!USERPROFILE.EMAIL!} Even if I don't use any of them, I send them as they're handy for logging purposes. When using the session ID all you do is instead of setting the user ID and password when you set up the client, you just set the session ID and null the user ID and password out. There are some things that may catch you out though. You need to be aware of the users permissions. If they don't have the persmission to do something that is being done in your external call, the request will fail.
  6. Not sure if it will work but change this: <query>WHENCREATED <= '01/30/2024' and TOTALDUE != '0.00' and CUSTTYPE = CLAIMS </query> to <query>WHENCREATED <= '01/30/2024' and TOTALDUE != '0.00' and CUSTOMER.CUSTTYPE = 'CLAIMS'</query>
  7. No. As far as I know you cannot set the web services user passwords. They are created by the system and emailed to the web service user email address. If you are not getting them, I would ensure that they're not being intercepted by your company email system first, and then, if not, raise a case with support.
  8. The issue I have is for custom fields, reports, interactive reports, smart events/clicks/rules et al., I can export definitions which are XML scripts. I can put these into a custom package as per the instructions in this page https://developer.intacct.com/customization-services/customization-packages/ however, the process is very manual and prone to error. I wrote an application that can create these package scripts, but I am largely guessing at the structure by exporting the XML definitions and pasting the XML as classes into Visual Studio. On occasion I get an error when importing a package: Package does not conform with CustomERPPackage.xsd. XML Parse error: Error 1824: Element 'hidden': '' is not a valid value of the atomic type 'xs:boolean'.. Line: 157, column: 0. Please correct your package. #XL03000030 Although I can manually fix these problem relatively easily, I would be able to avoid all these errors if I was able to get hold of the XSD referenced in the error message. There can’t be any reason why this XSD wasn’t publicly available.
  9. What type of field is RLOCATION? To use the #~# string concatenation, it would need to be a multi-select list.
  10. @Sterio, Louis I figured as much. Thanks. I'll have to assume for now that they are using the ISO country list so I'll use that for now. Cheers Lee
  11. I'm trying to push customer records in from a new integration I am working on. However, the source system use a free text field for country and state/province. This is a pain. I have been led to believe that the countries can be sent as ISO codes, which is great, but the problem is that the state/province cannot be done that way. So, let's assume the source system is trying to send Canada. If I put Canada into the country field it correctly does its stuff and also sets the ISO country code field as the values match. If I put Canada into the ISO country code field it fails as this requires the 2 digit code, CA. If I put CA into the ISO field it correctly sets Canada and the ISO country code field. If I put CA into the country field it fails. So, all this is obvious. I will let the customer know to pass the ISO code and we're good. However, let's say for example, the country is Canada and the source system has a Vancouver address which is in British Columbia. In their state/province field they have BC, they could have B.C. or B C, or British Columbia or even Bitish Columbia. If I send anything other than British Columbia it successfully sends, but that field value is ignored. Is there a way to get out of Intacct, all state/provinces by country? If you use Australia as the country, the state/province drop down changes to the Australian states and territories. I am sure it coes others (weirdly it doesn't set the UK counties list but we can ignore that). So, to summarise, I need a list of all country and states/provinces/territories that Intacct has. Can I get this via a Postman call via the API? I coudn't see a way.
  12. I would imagine it is setting the content type appropriately. If I was curious, I would set up a small web service and call if from the trigger and query the content type just to see, but I would be surprised if it doesn't. That being said, I've never bothered as it is easier to write a key/value pair list than it is to write JSON by hand which is why I always use the name/value pairs.
  13. I don't know mulesoft, but I use the triggers regularly to post out to an external application and the easiest way is to use name-value pairs. It posts them as a form post, the MIME type is application/x-www-form-urlencoded, and you can pick that up in Mulesoft https://help.mulesoft.com/s/question/0D52T00004mXXkzSAG/xwwwformurlencoded-in-http-request-connector-as-post Your mileage may vary. I write my own APIs in C# using MVC and post out to them using triggers or smart events, but either way, the name-value pairs is the easiest. You write out which fields you want in the arguments text box as a list like this: sessionid={!USERPROFILE.SESSIONID!} endpoint={!API_ENDPOINT!} useremail={!USERPROFILE.EMAIL!} authkey={!COMPANY.AUTH_KEY!} profile=randomstring entityid={!SODOCUMENT.MEGAENTITYID!} type=PriceList implementationorlive=Live sessionorwslogin=webservices The above is an example, but in EVERY smart event/trigger I do, I pass at least the first 3, if anything, just for logging purposes. The rest in this example are either custom fields, standard fields or strings I need to pass. In my C# code, I pick these out from the Request.Form in a foreach loop. After that, you do what you want. foreach (var formVar in Request.Form)
  14. You can add a number field with no decimal places. If the user puts in a decimal amount, it will be rounded to the appropriate value on save. But no, there is no integer field.
×
×
  • Create New...