Sha256: 7bcc7bf086e0f7d778f2be903fd42778a13dd45ace2234fb45e8e27938d2594e
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module LedgerSync module Adaptors module QuickBooksOnline module Customer module Operations class Create < Operation::Create class Contract < LedgerSync::Adaptors::Contract params do required(:ledger_id).value(:nil) required(:email).maybe(:string) required(:name).filled(:string) required(:phone_number).maybe(:string) end end private def operate response = adaptor.post( resource: 'customer', payload: local_resource_data ) resource.ledger_id = response.dig('Id') success(response: response) end def local_resource_data { 'DisplayName' => resource.name, 'PrimaryPhone' => { 'FreeFormNumber' => resource.phone_number }, 'PrimaryEmailAddr' => { 'Address' => resource.email } } end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ledger_sync-1.1.1 | lib/ledger_sync/adaptors/quickbooks_online/customer/operations/create.rb |