Aktivering av workflow för att skicka order från WooCommerce till Specter görs i dagsläget med hjälp av personal från Kroconnect.
Så fungerar synken
Grunden i integrationen WooCommerce/Specter är vanligtvis att skicka över nya ordrar från WooCommerce till Specter.
Flödet för en ny order innebär två anrop till Specter.
- I anrop #1 skickas information om kunden till Specter. Det vanliga är att kundens e-postadress används som unik identifierare för att se om den redan existerar i Specter. Även organisationsnummer och kundnummer kan användas för detta (men det kräver anpassning i din workflow i Kroconnect för att åstadkomma detta). Om kunden inte existerar i systemet sedan tidigare skapas en ny kund. Kundens ID-nummer skickas slutligen tillbaka till Kroconnect.
- I anrop #2 skickas kundens ID-nummer tillsammans med övrig orderdata till Specter. Specter skapar då upp en order i sitt system och returnerar sedan ordernumret till Kroconnect. Detta ordernummer skickas sedan tillbaka till WooCommerce.
Trigga synkning av order
- Genom settingen Order sync action i pluginet Kroconnect WooCommerce Connector.

Här kan man välja olika triggers. Det vanligaste är On payment_complete() (en action hook i WooCommerce som inträffar när en order anses betald). Man kan också välja att ordern skickas när orderstatus ändras till Behandlas eller Färdigbehandlad. - Genom en webhook i WooCommerce.

När du skapar en webhook anger du när webhooken ska inträffa. Genom pluginet Kroconnect WooCommerce Connector har vi lagt till ett event kallad Order paid (som inträffar på payment_complete()) som vi rekommenderar att ni använder. URL’en för webhooken ärhttps://api.kroconnect.com/kroconnect/{ditt-workflow-id}.{ditt-workflow-id}ska alltså bytas ut mot det faktiska id’t för workflowen. Detta hittar du i ditt konto på app.kroconnect.com. - Genom egen kod.
I vissa fall finns det behov av att trigga synkning av order vid anpassade tillfällen. Det kan röra sig om en viss orderstatus eller eller en viss händelse som triggar eventet. Här följer ett par exempel på hur det kan se ut rent programmeringsmässigt.
<?php
/**
* Trigger order sync when order is placed with WooCommerce Invoice Gateway plugin.
* Can be useful if completed purchase status is set to On hold in plugin settings.
*/
add_action( 'woocommerce_thankyou_invoice', 'custom_send_order_to_kroconnect' );
function custom_send_order_to_kroconnect( $order_id ) {
do_action('send_order_to_kroconnect', $order_id );
}<?php
/**
* Trigger order sync when order status changes to a custom status.
*/
add_action( 'woocommerce_order_status_changed', 'custom_send_order_to_kroconnect2', 10, 3 );
function custom_send_order_to_kroconnect2( $order_id, $from, $to ) {
$order = wc_get_order( $order_id );
if( empty( $order)) {
return;
}
if( 'my-custom-status' !== $to ) {
return;
}
do_action('send_order_to_kroconnect', $order_id );
}Specter ordernummer visas i WooCommerce
När Kroconnect har skickat över en order från WooCommerce till Specter sparas Specters ordernummer i WooCommerce. Detta nummer kan man se i ordernoteringarna i en enskild order samt i en egen kolumn på översiktssidan för ordrarna. Aktivering av visning i kolumnen görs genom pluginet Kroconnect WooCommerce Connector på följande sätt:

- Kryssa i rutan ERP order number column.
- Ange det namn du vill att kolumnen ska ha i fältet ERP order number title.
Skicka över en order manuellt
Om en order inte skickas över till Specter i samband med att köpet slutförs finns möjligheten att trigga ett anrop manuellt. På översiktssidan för ordrarna visas då en uppladdningssymbol i kolumnen Åtgärder (om den inte visas kan du aktivera den genom fliken Skärmalternativ högst uppe till höger på sidan).
Klicka på denna symbol för att trigga ett anrop. Om allt går bra så visas ordernumret efter några sekunder. Sidan behöver dock laddas om igen för att Specters ordernummer ska visas.
Så mappas data mellan systemen
Det finns möjlighet att anpassa vilken data som mappas från WooCommerce till Specter. Som standard mappas dock fälten på följande sätt.
Kund
| Fält i WooCommerce / skickat värde | Fält i Specter |
| 0 | IgnoreControlOrgNo |
| 0 | IgnoreControlEmail |
| 1 | ForceCustomerUpdate |
| 0 | SendOrderMail |
| {billing.company} eller {billing.first_name} {billing.last_name} | Name |
| C (företag) eller P (privatperson) | CustomerOrganizationalForm |
| {billing.company} eller {billing.first_name} {billing.last_name} | InvoiceCompanyName |
| {billing.first_name} | FirstName |
| {billing.last_name} | SurName |
| {currency} | Currency |
| {billing.first_name} {billing.last_name} | ContactPerson |
| {billing.first_name} {billing.last_name} | Attention |
| {billing.address_1} | Address |
| {billing.address_2} | AddressRow2 |
| {billing.postcode} | ZipCodeEng |
| {billing.state} | Region |
| {billing.city} | City |
| {billing.country} | CountryCode |
| {billing.email} | EmailAddress |
| {billing.phone} | PhoneNo |
| {billing.phone} | MobileNo |
| {shipping.company} eller {shipping.first_name} {shipping.last_name} | DeliveryCompanyName |
| {shipping.first_name} {shipping.last_name} (om {shipping.company} skickades ovan) | DeliveryAttention |
| {shipping.address_1} | DeliveryAddress |
| {shipping.address_2} | DeliveryAddressRow2 |
| {shipping.postcode} | DeliveryZipCodeEng |
| {shipping.state} | DeliveryRegion |
| {shipping.city} | DeliveryCity |
| {shipping.country} | DeliveryCountryCode |
Order
| Fält i WooCommerce / skickat värde | Fält i Specter |
| false | ignoreExternalOrderNoControl |
| {number} | externalOrderNo |
| tlo( rep( {shipping_lines..method_title} | \s | _ ) ) (fraktsättets namn i gemener där mellanslag ersätts med _) | externalDeliveryMethod |
| {billing.first_name} {billing.last_name} | customerReference |
| {number} | customerOrderReference |
| {transaction_id} | payTypeReference |
| {currency} | currency |
| {customer_note} | internalComment |
| {line_items} | orderItems |
| {shipping_lines} | orderItems |
| {fee_lines} | orderItems |
| {Coupons} (används för presentkort, kontakta Kroconnect för info om vilka plugin som stöds) | orderItems |