blob: c6c020888ee3318b6ae842bee48f17580056a444 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/services.xsd">
<description>Marketing Component Services</description>
<vendor>OFBiz</vendor>
<version>1.0</version>
<!-- MarketingCampaign Services -->
<service name="createMarketingCampaign" default-entity-name="MarketingCampaign" engine="entity-auto" invoke="create" auth="true">
<description>Create a MarketingCampaign record</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateMarketingCampaign" default-entity-name="MarketingCampaign" engine="entity-auto" invoke="update" auth="true">
<description>Update a MarketingCampaign record</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteMarketingCampaign" default-entity-name="MarketingCampaign" engine="entity-auto" invoke="delete" auth="true">
<description>Remove a MarketingCampaign record</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- MarketingCampaignPrice Services -->
<service name="addPriceRuleToMarketingCampaign" default-entity-name="MarketingCampaignPrice" engine="entity-auto" invoke="create" auth="true">
<deprecated since="Release 18.12" use-instead="createMarketingCampaignPrice">
Renaming service to respect service name best practice
</deprecated>
<implements service="createMarketingCampaignPrice"/>
</service>
<service name="createMarketingCampaignPrice" default-entity-name="MarketingCampaignPrice" engine="entity-auto" invoke="create" auth="true">
<description>Add PriceRule to MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="removePriceRuleFromMarketingCampaign" default-entity-name="MarketingCampaignPrice" engine="entity-auto" invoke="delete" auth="true">
<deprecated since="Release 18.12" use-instead="deleteMarketingCampaignPrice">
Renaming service to respect service name best practice
</deprecated>
<implements service="deleteMarketingCampaignPrice"/>
</service>
<service name="updateMarketingCampaignPrice" default-entity-name="MarketingCampaignPrice" engine="entity-auto" invoke="update" auth="true">
<description>Update PriceRule to MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteMarketingCampaignPrice" default-entity-name="MarketingCampaignPrice" engine="entity-auto" invoke="delete" auth="true">
<description>Remove PriceRule from MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="expireMarketingCampaignPrice" default-entity-name="MarketingCampaignPrice" engine="entity-auto" invoke="expire" auth="true">
<description>Expire PriceRule to MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<!-- MarketingCampaignPromo Services -->
<service name="addPromoToMarketingCampaign" default-entity-name="MarketingCampaignPromo" engine="entity-auto" invoke="create" auth="true">
<deprecated since="Release 18.12" use-instead="createMarketingCampaignPromo">
Renaming service to respect service name best practice
</deprecated>
<implements service="createMarketingCampaignPromo"/>
</service>
<service name="createMarketingCampaignPromo" default-entity-name="MarketingCampaignPromo" engine="entity-auto" invoke="create" auth="true">
<description>Add Promo to MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="removePromoFromMarketingCampaign" default-entity-name="MarketingCampaignPromo" engine="entity-auto" invoke="delete" auth="true">
<deprecated since="Release 18.12" use-instead="deleteMarketingCampaignPromo">
Renaming service to respect service name best practice
</deprecated>
<implements service="deleteMarketingCampaignPromo"/>
</service>
<service name="updateMarketingCampaignPromo" default-entity-name="MarketingCampaignPromo" engine="entity-auto" invoke="update" auth="true">
<description>Update Promo to MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteMarketingCampaignPromo" default-entity-name="MarketingCampaignPromo" engine="entity-auto" invoke="delete" auth="true">
<description>Remove Promo to MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="expireMarketingCampaignPromo" default-entity-name="MarketingCampaignPromo" engine="entity-auto" invoke="expire" auth="true">
<description>Expire Promo from MarketingCampaign</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="signUpForContactList" engine="java"
location="org.apache.ofbiz.marketing.marketing.MarketingServices" invoke="signUpForContactList" auth="false">
<description>Signs an input email up for a ContactList with _NA_ party using the system userLogin.
The intent is for anonymous sign ups to email lists. Also validates email format.</description>
<attribute name="contactListId" type="String" mode="IN" optional="false"/>
<attribute name="email" type="String" mode="IN" optional="false"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
</service>
<service name="unsubscribeContactListParty" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="unsubscribeContactListParty" auth="false">
<description>Unsubscribe an input email for a ContactList with _NA_ party using the system userLogin.
The intent is for anonymous unsubscribe to email lists. Also validates email format.</description>
<attribute name="contactListId" type="String" mode="IN" optional="false"/>
<attribute name="email" type="String" mode="IN" optional="false"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
</service>
<service name="unsubscribeContactListPartyContachMech" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="unsubscribeContactListPartyContachMech" auth="false">
<description>Find email by contactMechId then call unsubscribeContactListParty service.</description>
<attribute name="contactListId" type="String" mode="IN" optional="false"/>
<attribute name="preferredContactMechId" type="String" mode="IN" optional="false"/>
<attribute name="partyId" type="String" mode="IN" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
</service>
<!-- MarketingCampaignRole Services -->
<service name="createMarketingCampaignRole" default-entity-name="MarketingCampaignRole" engine="entity-auto" invoke="create" auth="true">
<description>Add Role to Campaign</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateMarketingCampaignRole" default-entity-name="MarketingCampaignRole" engine="entity-auto" invoke="update" auth="true">
<description>Update Role to Campaign</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="expireMarketingCampaignRole" default-entity-name="MarketingCampaignRole" engine="entity-auto" invoke="expire" auth="true">
<description>Expire Role from Campaign</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="deleteMarketingCampaignRole" default-entity-name="MarketingCampaignRole" engine="entity-auto" invoke="delete" auth="true">
<description>Remove Role from Campaign</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- ContactList Services -->
<service name="createContactList" default-entity-name="ContactList" engine="entity-auto" invoke="create" auth="true">
<description>Create a ContactList record</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateContactList" default-entity-name="ContactList" engine="entity-auto" invoke="update" auth="true">
<description>Update a ContactList record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="removeContactList" default-entity-name="ContactList" engine="entity-auto" invoke="delete" auth="true">
<description>Remove a ContactList record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- ContactListParty Services -->
<service name="createContactListParty" default-entity-name="ContactListParty" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="createContactListParty" auth="true">
<description>Add Party to ContactList</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
<override name="fromDate" optional="true"/>
<override name="statusId" optional="false"/>
</service>
<service name="updateContactListParty" default-entity-name="ContactListParty" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="updateContactListParty" auth="true">
<description>Update Party to ContactList Join</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<attribute name="contactListId" type="String" mode="OUT" optional="true"/>
<attribute name="productStoreId" type="String" mode="INOUT" optional="true"/>
<attribute name="optInVerifyCode" type="String" mode="IN" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
<override name="fromDate" optional="true"/>
</service>
<service name="updateContactListPartyNoUserLogin" default-entity-name="ContactListParty" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="updateContactListPartyNoUserLogin" auth="false">
<description>Update Party to ContactList Join</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<attribute name="webSiteId" type="String" mode="IN" optional="true"/>
<attribute name="productStoreId" type="String" mode="INOUT" optional="true"/>
<attribute name="optInVerifyCode" type="String" mode="IN" optional="true"/>
<attribute name="email" type="String" mode="IN" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
<override name="partyId" optional="true"/>
<override name="fromDate" optional="true"/>
</service>
<service name="updatePartyEmailContactListParty" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="updatePartyEmailContactListParty" auth="true">
<description>Update ContactList Party Contact Mech</description>
<attribute name="contactMechId" type="String" mode="IN" optional="false"/>
<attribute name="oldContactMechId" type="String" mode="IN" optional="false"/>
</service>
<service name="deleteContactListParty" default-entity-name="ContactListParty" engine="java"
location="org.apache.ofbiz.marketing.marketing.MarketingServices" invoke="deleteContactListParty" auth="true">
<description>Remove Party from ContactList</description>
<auto-attributes include="pk" mode="IN" optional="true"/>
</service>
<service name="createContactListPartyStatus" default-entity-name="ContactListPartyStatus" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="createContactListPartyStatus" auth="true">
<description>Create ContactListParty Status</description>
<auto-attributes include="pk" mode="IN" optional="false">
<exclude field-name="statusDate"/>
</auto-attributes>
<auto-attributes include="nonpk" mode="IN" optional="true">
<exclude field-name="setByUserLoginId"/>
</auto-attributes>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
<attribute name="preferredContactMechId" mode="IN" type="String" optional="false"/>
<override name="statusId" optional="false"/>
<override name="fromDate" optional="true"/>
</service>
<service name="sendContactListPartyVerifyEmail" engine="simple" max-retry="3"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="sendContactListPartyVerifyEmail" auth="true">
<description>Send ContactListParty Verify Email</description>
<auto-attributes entity-name="ContactListParty" include="pk" mode="IN" optional="false"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
</service>
<service name="optOutOfListFromCommEvent" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="optOutOfListFromCommEvent" auth="false">
<description>Uses the communication event information to locate the contact list party information and removes the contact from the list</description>
<attribute name="communicationEventId" type="String" mode="IN" optional="false"/>
<attribute name="contactListId" type="String" mode="OUT" optional="true"/>
</service>
<service name="sendContactListPartySubscribeEmail" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="sendContactListPartySubscribeEmail" auth="false">
<attribute name="productStoreId" mode="IN" type="String" optional="true"/>
<attribute name="partyId" mode="IN" type="String" optional="true"/>
<attribute name="contactListId" mode="IN" type="String" optional="true"/>
<attribute name="preferredContactMechId" mode="IN" type="String" optional="false"/>
<attribute name="fromDate" mode="IN" type="Timestamp" optional="true"/>
<attribute name="statusId" mode="IN" type="String" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
</service>
<service name="sendContactListPartyUnSubscribeVerifyEmail" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="sendContactListPartyUnSubscribeVerifyEmail" auth="false">
<attribute name="productStoreId" mode="IN" type="String" optional="true"/>
<attribute name="partyId" mode="IN" type="String" optional="true"/>
<attribute name="contactListId" mode="IN" type="String" optional="true"/>
<attribute name="preferredContactMechId" mode="IN" type="String" optional="false"/>
<attribute name="fromDate" mode="IN" type="Timestamp" optional="true"/>
<attribute name="statusId" mode="IN" type="String" optional="true"/>
<attribute name="baseLocation" type="String" mode="IN" optional="true"/>
</service>
<service name="sendContactListPartyUnSubscribeEmail" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="sendContactListPartyUnSubscribeEmail" auth="false">
<attribute name="productStoreId" mode="IN" type="String" optional="true"/>
<attribute name="partyId" mode="IN" type="String" optional="true"/>
<attribute name="contactListId" mode="IN" type="String" optional="true"/>
<attribute name="preferredContactMechId" mode="IN" type="String" optional="false"/>
<attribute name="fromDate" mode="IN" type="Timestamp" optional="true"/>
<attribute name="statusId" mode="IN" type="String" optional="true"/>
</service>
<!-- ContactList Comm Status Services -->
<service name="updateContactListCommStatus" engine="simple" default-entity-name="ContactListCommStatus"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="updateContactListCommStatus">
<auto-attributes include="all" mode="IN" optional="false">
<exclude field-name="changeByUserLoginId"/>
</auto-attributes>
<override name="partyId" optional="true"/>
<override name="messageId" allow-html="any" optional="true"/>
</service>
<service name="updateCommStatusFromCommEvent" engine="simple"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="updateCommStatusFromCommEvent">
<attribute name="communicationEventId" type="String" mode="IN"/>
<attribute name="statusId" type="String" mode="IN"/>
</service>
<!-- WebSiteContactList services -->
<service name="createWebSiteContactList" engine="simple" default-entity-name="WebSiteContactList"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="createWebSiteContactList">
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="updateWebSiteContactList" engine="simple" default-entity-name="WebSiteContactList"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="updateWebSiteContactList">
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="deleteWebSiteContactList" engine="simple" default-entity-name="WebSiteContactList"
location="component://marketing/minilang/marketing/contact/ContactListServices.xml" invoke="deleteWebSiteContactList">
<auto-attributes mode="IN" include="pk" optional="false"/>
</service>
<!-- TrackingCode Services -->
<service name="createTrackingCode" default-entity-name="TrackingCode" engine="entity-auto" invoke="create" auth="true">
<description>Create a TrackingCode record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<override name="trackingCodeTypeId" optional="false"/>
</service>
<service name="updateTrackingCode" default-entity-name="TrackingCode" engine="entity-auto" invoke="update" auth="true">
<description>Update a TrackingCode record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteTrackingCode" default-entity-name="TrackingCode" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a TrackingCode record</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- TrackingCodeType Services -->
<service name="createTrackingCodeType" default-entity-name="TrackingCodeType" engine="entity-auto" invoke="create" auth="true">
<description>Create a TrackingCodeType record</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateTrackingCodeType" default-entity-name="TrackingCodeType" engine="entity-auto" invoke="update" auth="true">
<description>Update a TrackingCodeType record</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteTrackingCodeType" default-entity-name="TrackingCodeType" engine="entity-auto" invoke="delete" auth="true">
<description>Update a TrackingCodeType record</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- SegmentGroup Services -->
<service name="createSegmentGroup" default-entity-name="SegmentGroup" engine="entity-auto" invoke="create" auth="true">
<description>Create a SegmentGroup</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateSegmentGroup" default-entity-name="SegmentGroup" engine="entity-auto" invoke="update" auth="true">
<description>Update a SegmentGroup</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteSegmentGroup" default-entity-name="SegmentGroup" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a SegmentGroup</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- SegmentGroupClassification -->
<service name="createSegmentGroupClassification" default-entity-name="SegmentGroupClassification" engine="entity-auto" invoke="create" auth="true">
<description>Create a SegmentGroupClassification</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="updateSegmentGroupClassification" default-entity-name="SegmentGroupClassification" engine="entity-auto" invoke="update" auth="true">
<description>Update a SegmentGroupClassification</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="deleteSegmentGroupClassification" default-entity-name="SegmentGroupClassification" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a SegmentGroupClassification</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
</service>
<!-- SegmentGroupGeo -->
<service name="createSegmentGroupGeo" default-entity-name="SegmentGroupGeo" engine="entity-auto" invoke="create" auth="true">
<description>Create a SegmentGroupGeo</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="updateSegmentGroupGeo" default-entity-name="SegmentGroupGeo" engine="entity-auto" invoke="update" auth="true">
<description>Update a SegmentGroupGeo</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="deleteSegmentGroupGeo" default-entity-name="SegmentGroupGeo" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a SegmentGroupGeo</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
</service>
<!-- SegmentGroupRole -->
<service name="createSegmentGroupRole" default-entity-name="SegmentGroupRole" engine="entity-auto" invoke="create" auth="true">
<description>Create a SegmentGroupRole</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="updateSegmentGroupRole" default-entity-name="SegmentGroupRole" engine="entity-auto" invoke="update" auth="true">
<description>Update a SegmentGroupRole</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
<service name="deleteSegmentGroupRole" default-entity-name="SegmentGroupRole" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a SegmentGroupRole</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes mode="IN" include="pk" optional="false"/>
</service>
<!-- SegmentGroup Related Find Service -->
<service name="arePartiesRelatedThroughSegmentGroup" engine="simple"
location="component://marketing/minilang/marketing/segment/SegmentServices.xml" invoke="arePartiesRelatedThroughSegmentGroup">
<description>Determine: are Parties Related Through SegmentGroup?</description>
<permission-service service-name="marketingPermissionService" main-action="VIEW"/>
<attribute name="partyId" type="String" mode="IN" optional="false"/>
<attribute name="roleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="toPartyId" type="String" mode="IN" optional="false"/>
<attribute name="toRoleTypeId" type="String" mode="IN" optional="true"/>
<attribute name="areRelated" type="String" mode="OUT" optional="false"><!-- will be Y or N --></attribute>
</service>
<!-- Tracking Code Order -->
<service name="createTrackingCodeOrder" default-entity-name="TrackingCodeOrder" engine="entity-auto" invoke="create">
<description>Create a TrackingCodeOrder record</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateTrackingCodeOrder" default-entity-name="TrackingCodeOrder" engine="entity-auto" invoke="update">
<description>Update a TrackingCode record</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<!-- Tracking Code Order return -->
<service name="createTrackingCodeOrderReturn" default-entity-name="TrackingCodeOrderReturn" engine="entity-auto" invoke="create">
<description>Create a TrackingCodeOrderReturn record</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateTrackingCodeOrderReturn" default-entity-name="TrackingCodeOrderReturn" engine="entity-auto" invoke="update">
<description>Update a TrackingCode record</description>
<permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteTrackingCodeOrderReturn" default-entity-name="TrackingCodeOrderReturn" engine="entity-auto" invoke="delete">
<description>Update a TrackingCode record</description>
<permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="createTrackingCodeOrderReturns" engine="simple"
location="component://marketing/minilang/marketing/tracking/TrackingCodeServices.xml" invoke="createTrackingCodeOrderReturns">
<description>Create TrackingCodeOrderReturn for all the Return Items with Orders that have trackingCodeOrder entry</description>
<permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<attribute type="String" mode="IN" name="returnId" optional="false"/>
</service>
<!-- marketing permission service -->
<service name="marketingPermissionService" engine="simple"
location="component://common/minilang/permission/CommonPermissionServices.xml" invoke="genericBasePermissionCheck">
<implements service="permissionInterface"/>
<attribute name="primaryPermission" type="String" mode="IN" optional="true" default-value="MARKETING"/>
<attribute name="altPermission" type="String" mode="IN" optional="true"/>
</service>
<!-- lead services -->
<service name="createLead" engine="groovy" location="component://marketing/src/main/groovy/org/apache/ofbiz/marketing/sfa/lead/LeadServices.groovy" invoke="createLead">
<description>
Sales Lead can be just a person or a person representing a company or a company (party group).
createLead works
1) If person information is passed.
2) If company (party group) information is passed.
3) If Person and company (party group) information is passed.
</description>
<auto-attributes entity-name="Person" mode="IN" optional="true">
<exclude field-name="partyId"/>
</auto-attributes>
<auto-attributes entity-name="PostalAddress" mode="IN" optional="true">
<exclude field-name="contactMechId"/>
</auto-attributes>
<auto-attributes entity-name="TelecomNumber" mode="IN" optional="true">
<exclude field-name="contactMechId"/>
</auto-attributes>
<attribute name="emailAddress" type="String" mode="IN" optional="true"/>
<attribute name="groupName" type="String" mode="IN" optional="true"/>
<attribute name="title" type="String" mode="IN" optional="true"/>
<attribute name="numEmployees" type="String" mode="IN" optional="true"/>
<attribute name="officeSiteName" type="String" mode="IN" optional="true"/>
<attribute name="partyIdFrom" type="String" mode="IN" optional="true"/>
<attribute name="dataSourceId" type="String" mode="IN" optional="true"/>
<attribute name="extension" type="String" mode="IN" optional="true"/>
<attribute name="contactListId" type="String" mode="IN" optional="true"/>
<attribute name="partyId" type="String" mode="OUT" optional="true"/>
<attribute name="partyGroupPartyId" type="String" mode="OUT" optional="true"/>
<attribute name="roleTypeId" type="String" mode="OUT" optional="true"/>
<attribute name="contactMechId" type="String" mode="OUT" optional="true"/>
</service>
<service name="createContact" engine="simple"
location="component://marketing/minilang/sfa/contact/ContactServices.xml" invoke="createContact">
<description>Create a Contact Person</description>
<auto-attributes entity-name="Person" mode="IN" optional="true">
<exclude field-name="partyId"/>
</auto-attributes>
<auto-attributes entity-name="PostalAddress" mode="IN" optional="true">
<exclude field-name="contactMechId"/>
</auto-attributes>
<auto-attributes entity-name="TelecomNumber" mode="IN" optional="true">
<exclude field-name="contactMechId"/>
</auto-attributes>
<attribute name="partyId" type="String" mode="OUT"/>
<attribute name="contactMechId" type="String" mode="OUT" optional="true"/>
<attribute name="roleTypeId" type="String" mode="OUT" optional="true"/>
<attribute name="emailAddress" type="String" mode="IN" optional="true"/>
<attribute name="partyIdFrom" type="String" mode="IN" optional="true"/>
<attribute name="quickAdd" type="String" mode="IN" optional="true"/>
<attribute name="extension" type="String" mode="IN" optional="true"/>
<attribute name="contactListId" type="String" mode="IN" optional="true"/>
</service>
<service name="mergeContacts" engine="simple"
location="component://marketing/minilang/sfa/contact/ContactServices.xml" invoke="mergeContacts">
<description>This service merges the contact details of two parties, partyId merges into partyIdTo</description>
<attribute name="addrContactMechIdTo" type="String" mode="IN" optional="true"/>
<attribute name="phoneContactMechIdTo" type="String" mode="IN" optional="true"/>
<attribute name="emailContactMechIdTo" type="String" mode="IN" optional="true"/>
<attribute name="addrContactMechId" type="String" mode="IN" optional="true"/>
<attribute name="phoneContactMechId" type="String" mode="IN" optional="true"/>
<attribute name="emailContactMechId" type="String" mode="IN" optional="true"/>
<attribute name="partyIdTo" type="String" mode="IN" optional="false"/>
<attribute name="partyId" type="String" mode="INOUT" optional="false"/>
<attribute name="useAddress2" type="String" mode="IN" optional="true"/>
<attribute name="useContactNum2" type="String" mode="IN" optional="true"/>
<attribute name="useEmail2" type="String" mode="IN" optional="true"/>
</service>
<!-- Account services -->
<service name="createAccount" engine="groovy"
location="component://marketing/src/main/groovy/org/apache/ofbiz/marketing/sfa/account/AccountServices.groovy" invoke="createAccount">
<description>Create an Account Group</description>
<auto-attributes entity-name="PartyGroup" mode="IN" optional="true">
<exclude field-name="partyId"/>
</auto-attributes>
<auto-attributes entity-name="PostalAddress" mode="IN" optional="true">
<exclude field-name="contactMechId"/>
</auto-attributes>
<auto-attributes entity-name="TelecomNumber" mode="IN" optional="true">
<exclude field-name="contactMechId"/>
</auto-attributes>
<attribute name="emailAddress" type="String" mode="IN" optional="true"/>
<attribute name="extension" type="String" mode="IN" optional="true"/>
<attribute name="partyId" type="String" mode="OUT" optional="false"/>
</service>
<service name="convertLeadToContact" engine="groovy" location="component://marketing/src/main/groovy/org/apache/ofbiz/marketing/sfa/lead/LeadServices.groovy" invoke="convertLeadToContact">
<attribute name="partyId" type="String" mode="INOUT" optional="false"/>
<attribute name="partyGroupId" type="String" mode="INOUT" optional="false"/>
</service>
<!-- VCard services -->
<service name="importVCard" engine="java" location="org.apache.ofbiz.sfa.vcard.VCard" invoke="importVCard" transaction-timeout="7200">
<attribute name="infile" type="java.nio.ByteBuffer" mode="IN" optional="false"/>
<attribute name="partyType" type="String" mode="IN" optional="true"/>
<attribute name="serviceContext" type="Map" mode="IN" optional="true"/>
<attribute name="serviceName" type="String" mode="IN" optional="false"/>
<attribute name="partiesCreated" type="List" mode="OUT" optional="false"/>
<attribute name="partiesExist" type="List" mode="OUT" optional="true"/>
</service>
<service name="exportVCard" engine="java" location="org.apache.ofbiz.sfa.vcard.VCard" invoke="exportVCard">
<attribute name="partyId" type="String" mode="IN" optional="false"/>
</service>
<!-- MarketingCampaignNote services -->
<service name="createMarketingCampaignNote" default-entity-name="MarketingCampaignNote" engine="entity-auto" invoke="create" auth="true">
<description>Create a MarketingCampaignNote</description>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
<auto-attributes include="pk" mode="INOUT" optional="false"/>
</service>
<service name="deleteMarketingCampaignNote" default-entity-name="MarketingCampaignNote" engine="entity-auto" invoke="delete" auth="true">
<description>Delete a MarketingCampaignNote</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<!-- SegmentGroupType Services -->
<service name="createSegmentGroupType" engine="entity-auto" default-entity-name="SegmentGroupType" invoke="create" auth="true">
<description>Create SegmentGroupType</description>
<auto-attributes include="pk" mode="INOUT" optional="true"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateSegmentGroupType" engine="entity-auto" default-entity-name="SegmentGroupType" invoke="update" auth="true">
<description>Update SegmentGroupType</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteSegmentGroupType" engine="entity-auto" default-entity-name="SegmentGroupType" invoke="delete" auth="true">
<description>Delete SegmentGroupType</description>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
</services>