Download Images in Eloqua via the REST API (via an API?)
Hello community!
We are interfacing content between a site CMS and Eloqua for custom content, so that we can deliver such content in emails and the landing pages effectively.
We have an obligation to affix an image (such as an icon of great white game) overlay, a bit like this: http://u3.uicdn.net/372/cc7727211f2a7907850d2f844e707/diy-business-us/vi_video_content.jpg
Unfortunately the CMS system he can not provide, we for some reason any. And trying to superimpose the image in e-mails of Eloqua using CSS will result in inconsistent results between email clients, particularly mobile and so on...
Our plan is so - to superimpose the image in our middleware software and then download the image to Eloqua, then use newly uploaded in the system.
Is there a way we can download a picture of Eloqua via the REST API or any other API?
Thank you
Mark
Hi Mark,
Yes, you can use the Rest API to upload images to your installation of Eloqua. We will aim to provide documentation in the near future, but for now, we have an example of project available on Github to show how load images: Image of assistance
Hope this helps and please let me know if you need more information.
Thank you
Fred
Tags: Marketers
Similar Questions
-
Is there a way to get the data for submission of form of eloqua using the REST API?
I was wondering if there is a way to get the data for submission of form of eloqua using the REST API?
Thank you
On the page that egan related, there is a 'RawData' field for FormSubmit activities. In this area, the raw sending the form query string is returned.
Whatever it is, you can get this info from the activities of the API block, or the endpoints data Rest API.
-
Add a contact e-mail group via the Rest API
Hello
Is it possible to add a contact to a group of e-mail through the Rest API?
I saw this article here http://topliners.eloqua.com/docs/DOC-3526 which shows that you can get a subscription email group contacts status, however it is not clear how actually to add a contact to a group of e-mail via the API.
I tried to post data to ' data/contact / {id} / groups/email/subscription "but I get a response of"Method not allowed"API."
If someone managed to achieve? If so, how?
See you soon
Hi David,
The POST operation is not supported by this endpoint, but you can use PUT a method for updating subscriptions Contact:
- PUT: / data/contact / {id} / email/group / {groupId} / subscription
Where the request body contains an object of the subscription. Hope this helps and please let us know if you need more information.
Thank you
Fred
-
There the rest APIs to retrieve the metadata for entity for eloqua objects?
There is a list of all the objects that are accessible by the REST for CRUD in this link: REST API - Documentation for kernel objects in the objects of the core section.
For each of the objects listed in the objects of the core section are there is a metadata field in the Properties section.
For example, for the purpose of the e-mail message, The REST API - to access Emails , under the Properties section, there entered corresponding to the fields of the object of the emails under the
Name, Type, Description and validation topics.Is there a REST API to retrieve the same information, i.e. metadata field for an object programmatically eloqua?
Otherwise, this is a serious obstacle to building systems that are the metadata engine and support for SOAP is removed...The closest to what you are looking for would be endpoints of assistance for a description of the fields. Example of /api/bulk/1.0/contact/fields
{
"items": [{}
'name': "E-mail address",
"internalName": "C_EmailAddress",
'dataType': 'emailAddress;
'hasReadOnlyConstraint': false,
'hasNotNullConstraint': false,
'hasUniquenessConstraint': true,
'Déclaration': '{{Contact.Field (C_EmailAddress)}}.
"uri": "/ contact/field/100001",
"converted': ' / Date (-2208970800000) /"
'updatedAt': ' / Date (-2208970800000) / ".
},
{
'name': "First name",
"internalName": "C_FirstName",
'dataType': "string",.
'hasReadOnlyConstraint': false,
'hasNotNullConstraint': false,
'hasUniquenessConstraint': false,
'Déclaration': '{{Contact.Field (C_FirstName)}}.
"uri": "/ contact/field/100002."
"converted': ' / Date (-2208970800000) /"
"updatedBy": "MgrzzzOracleCloudSupportP01E10",
'updatedAt': ' / Date (1408993722380) / ".
},.....
If so, it will also include an element "defaultValue". How many characters you can store in a field (precision) is documented here: Type of data (data and Digital Formats). The same endpoint exist in bulk 2.0, and there are variants for the account fields and Objetpersonnalise. Another exists in the REST through Api/rest/2.0/assets/contact/fields?depth=complete... It does not include the declaration of ML, but there other useful information such as the type of default update and a flag 'isAccountLinkageField '.
Similarly, if you describe a form via SOAP or REST, it also will give you the fields and their type.
Kind regards
Bojan
-
Updated filter shared via the REST API
Hello I'm trying to update a shared API filter. I'm using PHP and client fredsakr/eloqua-php-application · GitHub.
So far, I was able to retrieve the filter with the following call:
<?php require('./eloquaRequest.php'); $eloquaRequest = new EloquaRequest('site', 'User.Name', 'password', 'https://secure.eloqua.com/API/REST/1.0'); $response = $eloquaRequest->get('assets/contact/filters?search=TheFilterName&depth=complete'); print_r($response); ?>
I can see the filter in the answer below:
( [type] => ContactFilter [currentStatus] => Active [id] => 100761 [createdAt] => 1380137168 [createdBy] => 48 [depth] => complete [folderId] => 1036 [name] => TheFilterName [updatedAt] => 1383589417 [updatedBy] => 48 [count] => 254382 [criteria] => Array ( [0] => stdClass Object ( [type] => ContactFieldCriterion [id] => 1912 [condition] => stdClass Object ( [type] => TextSetCondition [operator] => in [optionListId] => 193 ) [fieldId] => 100012 ) ) [lastCalculatedAt] => 1380137190 [scope] => global statement] => 1912
What I want to do is update that corresponds to the values of 'Compare the Contact fields' in the GUI Eloqua under Contact = > Shared Library = > Contact filters.
Looks like he has the "[type] = ContactFieldCriterion" under the [criteria] field in the response.
I'd get how this value in a call to REST, and also how I would update it.
Please let me know if you need more details on this issue. Please help and thank you.
After some research I found what I wanted to do has been updated the list of options for this filter. See http://topliners.eloqua.com/docs/DOC-3588 for documentation on the base object. But I had difficulty in updating an OptionList with the Rest API using PUT. If you can help, please visit http://topliners.eloqua.com/message/36739#36739 . Thank you.
-
The REST api is supported by Eloqua?
Hi guys,.
I know that this seems to be an odd question at first, but bear with me.
Recently, I created a few features to read certain Eloqua components.
Then I came across some problems with th! api e REST and contacted support, at one point, they reported that the REST api was not officially taken in charge, is this true?
Because using SOAP is no option for our programming environment and the major PART is just for the massif of the small amount of calls, we have to do.
Hope you can give me a permission in this respect, because we do not want to create stuff on top of the api REST when we can never support on it.
Through the REST API, you can do many things, not all supported. This page lists the supported operations: management of Eloqua API use cases
-
How to get assets via the REST API (Webcenter Sites)
Hello world
I need to get assets via the REST API using Javascript, but I don't know how to open a session. Can someone explain to me how do?
I would really appreciate it.
I also followed this guide Oracle Webcenter REST API permission | Stories of official codification but does not work.
Best regards!
Hello rvillamarin,
Take a look at https://docs.oracle.com/cd/E29542_01/doc.1111/e29634/wemsecurity.htm#WBCSD306. With this, you should be able to get a ticket, to pass at the request of the REST.
Kind regards
Stephan.
-
Can download us all active content using Rest APIs or limited?
Hello
Wanted to understand... based on the component library, what type of goods/content we can download in Eloqua (E10) before we are planning for resources. (images, hyperlinks field merge, shared, content, dynamic content in page Signature, Signature rule)?
I understand E-mail headers and footers are already included.
Thank you
Amit Pandya
apandya Yes you can. You can download the static and dynamic content by launching the REST API calls. See below for an example doc.
-
Can not do a query with the REST api
Hello
After discovering that the use of the standard SOAP API what is like poking yourself in the eye with a sharp stick, I try to use the REST API. At first, I tried to exercise it through the extension of POSTMAN on Chrome. But I have no joy.
Can I use caller ID to get the URL, so I know that my authentication is OK. But all other calls give me:
Failure of 403 XSRF Protection
Is an example of a call, that I'm trying:
https://secure.Eloqua.com/API/rest/1.0/data/[email protected] & Count = 1
I can't find any reference anywhere to this error 403.
Help!
Thank you
Simon
Hi Simon,.
Looks like you're client (web browser) might have stored credentials for Eloqua, probably in the cookies collection. If you try to delete your cookies and rerun the query API with basic authentication, it should work.
Hope this helps and please let us know if you need more information.
Thank you
Fred
-
Using the REST API to delete the contact from the contacts list
Hello world
I am looking for some info for the creation of a request to delete a contact from a list of Contact using the REST API. Here's what I have in Java where the contact id is 1 'and my list is 72'. I'm open to responses in Java, c# or other languages.
serverAddress = new URL ("https://secure.p03.eloqua.com/API/REST/1.0/assets/contact/list/72");
establish communication stuff
connection = null;
Set up the initial connection
connection = (HttpURLConnection) serverAddress.openConnection ();
connection.setRequestMethod ("PUT");
connection.setRequestProperty ("content-type", "json; charset=utf-8 ");"
connection.setRequestProperty ("authorization", 'Basic BLOCKED');
String body = '{\"membershipDeletions\":[\"1\']}";
connection.setDoOutput (true);
connection.getOutputStream () .write (body.getBytes ("UTF8"));
connection.setReadTimeout (10000);
Connection.Connect ();
When I test with it I get a '400' HTTP response
Thank you!
Hi Noel,
The following document describes the operations available for lists of contacts in the Rest API. Please note that we also have a project open source c# example illustrates the use of these endpoints.
Repositories are all available to the public on Github. Hope this helps and please let me know if you need more information.
Thank you
Fred
-
Get complete information of Contact with the REST API with Ruby
Hello
I'm trying to find information from a contact using the REST API from Ruby. I followed the example posted here and I was able to get good contact with Eloqua, but information are the basis and the FieldValues table is very long with fieldValues can only be and no label field.
I don't know I asked for complete = depth, and I verified that the contact even on the side of Eloqua seen so many other areas.
It's the URL that I use: https://secure.eloqua.com/API/REST/1.0/data/contacts?search= < emailAddress > & depth = full & count = 1
and I don't get like this field in the fieldValues can only be: {'type': 'FieldValue', 'id': "100175"}
With respect to the main information, they are basic.
Is it possible to obtain all the contact fields, the same than the one I see on the site of Eloqua?
Thank you
Hi Theyaa,
You can use the following endpoint to retrieve a list of all fields with their unique identifier and metadata:
- GET /API/REST/1.0/assets/contact/fields?depth=complete&search=*&page=1&count=250
Hope this helps and please let me know if you need more information.
Thank you
Fred
-
Searching for a contact through GUID on the REST API
After talking to some of the developers at Vidyard, it was obvious that there is a way that eloqua could really help us!
If taken Eloqua supported a way of searching for a contact based on the GUID of the cookie in the REST API, we could stop using the SOAP API in total. I wanted to just start a thread to see if anyone is looking for this feature? Any ideas would be appreciated!
Hey Ian, is currently our roadmap. No ETA at this time.
-
Using c# to access the REST API - 404 not found
Hi all!
Since there is currently no available c# example to access the REST API, I'm going at this from scratch using the Nuget - Microsoft.AspNet.WebApi.Client package.
I was able to successfully implement a framework for code that is able to make a call to the base_uris method and successfully receive a response.
I'm doing a transientDocuments call, but I still get a 404 not found error. I'm hoping somewhere here may be able to enlighten. I tried to use the current examples of Java to call REST API to get help on how to go about things.
I create an instance of the AdobeDCREST class, and pass the BaseUrl (https://api.echosign.com/api/rest/v5/) and my key to integration. When I make a call to the PostTransientDocuments method I pass into the path of the pdf file that I am trying to download. PostTransientDocuments then deals with the creation of an object the HttpContent (StreamContent) of the file, and then adding the headers, ContentType and ContentDisposition. The call to GetClient() will determine whether base_uris should be called still or not (I make the call to base_uris and storage of the api_access_point in a variable static for all other calls, as well as the java examples) and returns an object of the HttpClient with the access in the header already token. The call to base_uris works and returns a https://api.na1.echosign.com/ api_access_point
I then add/api/rest/v5 to the url access_point to call transientDocuments. Failure occurs during the call to PostAsync in transientDocuments with a 404 not found error.
Here's the code I'm using to test things so far. Any help would be greatly appreciated. I've been spinning my wheels on that for too long already.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace Ivezt.Documents {}
public class AdobeDCREST {}
< Summary >
A static variable that is defined by an initial call to GetBaseURIs() and used for all API calls later.
< / Summary >
Private Shared ReadOnly Property SERVICES_BASE_URL as string = string. Empty;
< Summary >
The end point of API to use. This aspect will have to be changed if Adobe is moving to a new version of the API and we update this
the code to use this new version.
< / Summary >
Private Shared ReadOnly Property API_URL as string = "api/rest/v5 /";
< Summary >
This BaseUrl is passed to the constructor and used to make a call to GetBaseURIs().
< / Summary >
private string m_strBaseUrl = string. Empty;
< Summary >
The IntegrationKey is passed to the constructor and must be added to the header of each API request.
< / Summary >
private string m_strIntegrationKey = string. Empty;
public AdobeDCREST (string strBaseUrl, string strIntegrationKey) {}
m_strBaseUrl = strBaseUrl;
m_strIntegrationKey = strIntegrationKey;
}
private HttpClient GetDefaultClient() {}
HttpClient client = new HttpClient();
Add an Accept header for JSON format.
customer. () DefaultRequestHeaders.Accept.Add
(new MediaTypeWithQualityHeaderValue("application/json"));
Add the access token
customer. DefaultRequestHeaders.Add ("Access token", m_strIntegrationKey);
customer feedback;
}
private HttpClient GetClient() {}
If we have not yet the SERVICES_BASE_URL, then we must do a GetBaseURIs call
If (SERVICES_BASE_URL. Length == 0) {}
HttpClient baseClient = GetDefaultClient();
Use the BaseUrl passed to the constructor
baseClient.BaseAddress = new Uri (m_strBaseUrl);
URI BaseURIs_Response = GetBaseURIs (baseClient);
SERVICES_BASE_URL = string. Format ("{0} {1}", uris.api_access_point, API_URL);
baseClient.Dispose ();
}
If (SERVICES_BASE_URL. Length == 0)
throw new Exception ("failed to retrieve Adobe Document cloud Base URI");
HttpClient client = GetDefaultClient();
customer. BaseAddress = new Uri (SERVICES_BASE_URL).
customer feedback;
}
public BaseURIs_Response GetBaseURIs(HttpClient client) {}
Call base_uris
HttpResponseMessage response = client. GetAsync ("base_uris"). Result; Call blocking!
If (answer. IsSuccessStatusCode) {}
Analyze the response body. Blocking!
answer back (BaseURIs_Response). Content.ReadAsAsync (typeof (BaseURIs_Response)). Result;
}
else {}
throw new Exception (string. Format ("{0} ({1})", (int) response. ") StatusCode, response. ReasonPhrase));
}
}
public TransientDocument_Response PostTransientDocuments (string strFilePath) {}
Call transientDocuments
Content the HttpContent = new StreamContent (new FileStream (strFilePath, FileMode.Open, FileAccess.Read));
content. Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
content. Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") {}
Name = "file."
FileName = 'Template.pdf.
};
HttpClient client = GetClient();
HttpResponseMessage response = client. PostAsync ("transientDocuments", content). Result; Call blocking!
If (answer. IsSuccessStatusCode) {}
Analyze the response body. Blocking!
answer back (TransientDocument_Response). Content.ReadAsAsync (typeof (TransientDocument_Respons e)). Result;
}
else {}
throw new Exception (string. Format ("{0} ({1})", (int) response. ") StatusCode, response. ReasonPhrase));
}
}
}
public class BaseURIs_Response {}
public string web_access_point {get; set ;}}
public string api_access_point {get; set ;}}
}
public class TransientDocument_Response {}
public string transientDocumentId {get; set ;}}
}
}
I think I found my problem. I was not a multi-part post form data. Once I changed this, everything worked as expected. Here is an updated version of the PostTransientDocuments() method that works:
public TransientDocument_Response PostTransientDocuments (string strFilePath) {}
Call transientDocuments
using (var = {GetClient() customer)}
using (var content = new MultipartFormDataContent()) {}
var multiplesContent = new StreamContent (new FileStream (strFilePath, FileMode.Open, FileAccess.Read));
fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") {}
Name = "file."
FileName = 'Template.pdf.
};
content. Add (FileContent);
HttpResponseMessage response = client. PostAsync ("transientDocuments", content). Result; Call blocking!
If (answer. IsSuccessStatusCode) {}
Analyze the response body. Blocking!
answer back (TransientDocument_Response). Content.ReadAsAsync (typeof (TransientDocument_Respons e)). Result;
}
else {}
throw new Exception (string. Format ("{0} ({1})", (int) response. ") StatusCode, response. ReasonPhrase));
}
}
}
}
-
To access the vCOPs with the RESTful API
VCOPs can be used such as the information it provides are accessible via the RESTful API?
RV Ops 6.x see this thread:
-
Add vNIC PortGroup scope with the REST API security group
I created a security group within the reach of a PortGroup via the REST API. Now, I'm trying to add a vNIC, also via the REST API.
To help illustrate, I have a JMTest1 VM with 1 vNIC connected to the PortGroup which is the scope of the security group. When I change this group the first item in the list that could be added to the security group is the first (and only) JMTest1 vNIC.
To add it via the REST API, I need to provide the following:
https://192.168.x.x/API/2.0/services/SecurityGroup/SecurityGroup-XX/members/ < member-moref >
for example I need to understand what the < member-moref > for the vNIC to JMTest1 and this is what I have a problem with.
If I add the vNIC through the user interface and then interrogate the security group it gives me below the answer:
< securitygroup >
< objectIdobjectId > securitygroup-xx < / objectId >
< type >
< typeName > SecurityGroup < / typeName >
< / type >
< name > JMTest7 < / name >
< description / >
< revision > 9 < / revision >
< objectTypeName > SecurityGroup < / objectTypeName >
< scope >
< id > dvportgroup-xxxxx / < ID >
< objectTypeName > DistributedVirtualPortgroup < / objectTypeName >
< name > dv-xxxxx < / name >
< / scope >
< extendedAttributes / >
< inheritanceAllowed > false < / inheritanceAllowed >
< member >
500758f6-b97b - 7A 79 - 0c < objectId > 04 - 996f53edf3f0.000 < / objectId >
< type >
Vnic < typeName > < / typeName >
< / type >
< name > JMTest1 - NIC 1 < / name >
< revision > 6 < / revision >
< objectTypeName > Vnic < / objectTypeName >
< scope >
< id > vm-xxxxx / < ID >
< objectTypeName > VirtualMachine < / objectTypeName >
< name > JMTest1 < / name >
< / scope >
< extendedAttributes / >
< / member >
< / securitygroup >
It seems that the < member-moref > for the JMTest1 vNIC is < objectId > 500758f6-b97b - a 7, 79 - 0c 04 - 996f53edf3f0.000 < / objectId >
If I run now:
then the vNIC is successfully added to the security group. (yay!) So I am now left with the task of how to get
500758f6-b97b - 7A 79 - 0c < objectId > 04 - 996f53edf3f0.000 < / objectId >
of a vNIC?
I have looked at the object in the Mob vCenter and via PowerCLI, but cannot see how to derive from it.
Anyone know the answer to that?
The uuid vnic is created by concatenating the vm instanceUuid + '. ' + the last three digits of the vnic device key. (The vnic is located in the area of the config.hardware.device of the virtual machine and the key will be to shape 4xxx, where xxx represents the 3 numbers you need).
Maybe you are looking for
-
Can I use my iPhone 7 in the shower?
I recently got the new iPhone 7, and I was wondering if I could take him in the shower. For example, could I bring it watch something on YouTube (nothing more than twenty minutes)? Don't want to break it, thank you!
-
Pirrit - how Custom to restore your data without infecting a MacBookPro erased?
May 31, 2016, I started to get pop-up windows. The next day because the problem has gotten worse, I bought Bitdefender and downloaded MalwareBytes, which found and removed adwares/malwares. However, as CJ706 says, Bitdefender has continued to find
-
How can satellite L650-170 - I change the language of Windows 7?
Hello How can I change language Windows 7? I'm installing first in Dutch and I want to re - install in french.When I go to the recovery system, its installation still in Dutch. Please someone help me? Thanks, sorry for my English. Satellite L650-170
-
How to associate a file downloaded to a program
Original title: opening downloads Downloads Microsoft asking what to open it with. What should I choose and how can I learn this? Specifically Windows 8 Upgrade Advisor, Malicious Software Removal Tool, MicroSoft .net Framework 4 etc.
-
Inspiron 20 AIO (3059), external speakers?
And I'm having the same problem with an Inspiron 20 AIO (3059). And I've tried everything, including the suggestion by clicking on the speaker icon in the taskbar. Suggestions more?