How do we upsert data to Salesforce in IOS? - ios

I am using the Salesforce CRM in one of my IOS - iPad project, we are trying to add data back to Salesforce. Can anybody tell me how this can be achieved?
We are using the SOAP API and also SudzC.com library. Below is the sample Request snippet.
How do we generate externalIDFieldName?
<soapenv:Body>
<urn:upsert>
<!--Custom Field defined in Setup as the External ID-->
<urn:externalIDFieldName>
<b>External_Id__c</b>
</urn:externalIDFieldName>
<urn:sObjects xsi:type="Account"> <!--Zero or more repetitions:-->
<b><!--Existing Id, this record will be updated--></b>
<External_Id__c><b>ars1</b></External_Id__c>
<Name><b>Acme Rocket Superstore</b></Name>
<b><!--You may enter ANY elements at this point--></b>
<NumberOfEmployees><b>340</b></NumberOfEmployees>
</urn:sObjects>
<urn:sObjects xsi:type="Account">
<b><!--New External Id, this record will be created (ensure required fields are present)--></b>
<External_Id__c><b>ams1</b></External_Id__c>
<Name><b>Acme Medical Supplies</b></Name>
<NumberOfEmployees><b>17</b></NumberOfEmployees>
</urn:sObjects>
</urn:upsert>
</soapenv:Body>

By looking at the field name: External_Id__c you can tell that this is a custom field (ends in __c) on the Account object which is specific to the Salesforce org you're interacting with. Presumably it's supposed to represent an ID from an external system, but I can't tell you if someone is creating a field for you to use in the app, or if it's supposed to be an ID from another database somewhere.
You need to talk to the engineers working on the Salesforce side to find out what it's purpose is, if it is for you then I'd suggest some combination of the current date, time and another piece of information to generate something unique.

upsert is update/insert command. based on the data(try passing pass the table name and id) u send, it will either update or insert record in cloud.

Related

Is there a way to Bulk extract contact details out of Oracle Eloqua's API?

I am trying to extract a large amount of details out of our Eloqua system using it's API and got this API to work perfectly for single IDs: https://docs.oracle.com/en/cloud/saas/marketing/eloqua-rest-api/op-api-rest-1.0-data-contact-id-get.html
The problem is that I need to run this for a large number of IDs and it will require alot in order to run it for the entire population. Is there any bulk APIs that can extract all of the following details out of Eloqua/Contact for the entire population? I don't see any on that pages documentation that meet this need under the Bulk section.
contactid, company, employees, company_revenue, business_phone, email_address, web_domain, date_created, date_modified, address_1, address_2, city, state_or_province, zip_or_postal_code, mobile_phone, first_name, last_name, title
It's a multi-step process with the Bulk API, typically in the following fashion:
Get a list of the current internal field names - useful for creating your export definition
Create an export definition and post it here. There is a useful example on the page, you do not need a filter criteria. Store the export ID somewhere
Using your export definition id, create a sync. It will gather the data in the background and prepare it for you. Take note of the sync ID provided in the initial response.
Check on the sync status with your sync ID here. It should only take a couple of minutes - and there is a callback url option as well in the previous step, if you don't want to keep polling.
Once your data is ready, use that sync id and request the data. Depending on how many rows were retrieved, you might need to paginate through the results using the offset query param. By default it will give you JSON, but I usually choose CSV (specify in the header).
If you need updated data, feel free to create a new sync using the same export definition id. You do not need to create a new export definition each time.

How to connect Jira Cloud data to a web-app

I have a node.js web-app added to jira as user-installed app.
My app has some simple data:
{name: process_1},
{name: process_2},
{name: process_3}
What I need to do is:
Add a custom field named "tl_process" to the New Issue jira form
Have tl_process field list all the data from my app, eg: "process_1", "process_2", "process_3" as selectable values
2.1 Important note: these values should be supplied to jira by my webapp
When a user creates new jira issue with tl_process value process_2 for example - my webapp should receive a notification about it. Then I will set my data to:
{name: process_1, active: true}
What would be the best course of action to follow here?
Add a custom field named "tl_process" to the New Issue jira form
If you want the field to be seen in the issue view, you might want to consider using the Issue Field module. If you really want a custom field, check the REST API here.
Have tl_process field list all the data from my app, eg: "process_1", "process_2", "process_3" as selectable values
If you go the Issue Field route, you can also add values by using Create issue field option REST API.
When a user creates new jira issue with tl_process value process_2 for example - my webapp should receive a notification about it. Then I will set my data to:
For this, you need to create an endpoint on your app and trigger a webhook to call your app.

Not able to filter messages based on header properties in Azure Stream analytics

I have created an Azure Stream Analytics (ASA) job to filter data based on a custom header property i send from a client app.
How would i read/filter message header properties in Azure stream analytics?
The portal return no results when i try to test out my query. Below is my query in azure portal.
So far this is my query as simple as this:
SELECT
*
INTO
[mystorage]
FROM
[iothubin]
WHERE Properties.type = "type1"
I also tried to call out the key without its parent (such as: where type = "") with no results as well.
I am sure that i am sending messages with this custom property in the header since i can view it using device explorer tool.
any idea how to get this working?
I haven't tried this yet myself, but supposedly you can access custom properties via GetMetadataPropertyValue(). Give this a try:
https://msdn.microsoft.com/en-us/library/azure/mt793845.aspx
You can use the query described here as an example to query complex schemas.
If you share your schema, we can look at the query for you.
Let me know if it works for you.
Thanks,
JS

How to Query Sales Order by Order Number?

I've gotten frustrated with the .NET DevKit and am now considering switching my app over to XML. But I'm still having trouble figuring out how to perform very basic queries.
How can I retrieve a QBD Sales Order by the order number? This is the "Sales Order Number" in the QBD UI, "RefNumber" in the SDK, and "DocNumber" in IPP.
Just in case somebody needs me to explain the use case for looking up a record by the human-readable unique ID: I'm integrating with a system where we don't have the luxury of storing a QB transaction ID after importing a sales order. So if that system wants to query QB later to check the status of a sales order, it needs to do so by that system's unique order #.
I already have links to all the documentation; thanks. I just need to know how to perform this query. Similarly, I need to do it for Invoices and POs.
I need the same thing for Items, the use case being that if we're importing items from another system, we need to query the QB item list by name to see if we already have that item in QB.
For ITEMS, you can use ItemConsolidated and a NameContains filter. For example, the XML would look something like:
POST https://services.intuit.com/sb/itemconsolidated/v2/<realmID>
...
<?xml version="1.0" encoding="UTF-8"?>
<ItemConsolidatedQuery xmlns="http://www.intuit.com/sb/cdm/v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intuit.com/sb/cdm/v2 RestDataFilter.xsd ">
<NameContains>Your item name goes here</NameContains>
</ItemConsolidatedQuery>
It won't be perfect, because Intuit only supports "NameContains" (the item name contains the string you specify) rather than "NameEquals", but you can then loop through what you get back and filter it client-side from there.
For SALES ORDERS, unfortunately, Intuit Data Services doesn't support querying by DocNumber at this time.
Instead, a work-around for your situation might be to query for all sales orders, and then cache the Id and DocNumber value of each in your application. When you need to look something up, look up the Id in the cache, and then query by Id value. It's not pretty... but it's really the only way you can do what you're describing.

Adding custom attributes to Task?

How can i add custom attributes/data to Task via API . for example we wanted to add field like customer contact number or deal amount e.t.c
We don't currently support adding arbitrary metadata to tasks, though it's something we're thinking about. In the meantime, what many customers do is to simply put data in the note field in an easily-parseable form, which works well and also lets humans reading the task see the e.g. ticket number.
It's not a terribly elegant solution, but it works.
https://asana.com/developers/documentation/getting-started/custom-external_data
Custom external data allows a client application to add app-specific metadata to Tasks in the API. The custom data includes a string id that can be used to retrieve objects and a data blob that can store character strings.
See the external field at https://asana.com/developers/api-reference/tasks

Resources